Einrichten eines Azure Kubernetes Service Hosts in Azure Stack HCI und Windows Server und Bereitstellen eines Workloadclusters mithilfe von PowerShell

Gilt für: Azure Stack HCI oder Windows Server Datacenter

In dieser Schnellstartanleitung werden Sie durch das Einrichten eines AKS-Hosts (Azure Kubernetes Service) geleitet. Sie erstellen Kubernetes-Cluster in Azure Stack HCI und Windows Server mithilfe von PowerShell. Falls Sie stattdessen Windows Admin Center verwenden möchten, finden Sie weitere Informationen unter Schnellstart: Einrichten eines Azure Kubernetes Service-Hosts für Azure Stack HCI mit PowerShell.

Hinweis

Vorbereitung

  • Vergewissern Sie sich, dass Sie alle Voraussetzungen in den Systemanforderungen erfüllt sind.
  • Verwenden Sie ein Azure-Konto zum Registrieren Ihres AKS-Hosts für die Abrechnung. Weitere Informationen finden Sie unter Azure-Anforderungen.

Installieren des PowerShell-Moduls „AksHci“

Führen Sie die folgenden Schritte auf allen Knoten in Ihrem Azure Stack HCI-Cluster oder Windows Server-Cluster aus:

Hinweis

Wenn Sie Remote-PowerShell verwenden, müssen Sie CredSSP verwenden.

  1. Schließen Sie alle geöffneten PowerShell-Fenster, öffnen Sie eine neue PowerShell-Sitzung als Administrator, und führen Sie den folgenden Befehl auf allen Knoten in Ihrem Azure Stack HCI- oder Windows Server-Cluster aus:

    Install-PackageProvider -Name NuGet -Force 
    Install-Module -Name PowershellGet -Force -Confirm:$false
    

    Sie müssen alle vorhandenen PowerShell-Fenster erneut schließen, um sicherzustellen, dass geladene Module aktualisiert werden. Fahren Sie erst mit dem nächsten Schritt fort, wenn Sie alle geöffneten PowerShell-Fenster schließen.

  2. Installieren Sie das PowerShell-Modul für AKS-HCI, indem Sie den folgenden Befehl auf allen Knoten in Ihrem Azure Stack HCI- oder Windows Server-Cluster ausführen:

    Install-Module -Name AksHci -Repository PSGallery -Force -AcceptLicense
    

    Sie müssen alle vorhandenen PowerShell-Fenster erneut schließen, um sicherzustellen, dass geladene Module aktualisiert werden. Fahren Sie erst mit dem nächsten Schritt fort, wenn Sie alle geöffneten PowerShell-Fenster schließen.

Sie können ein Hilfsskript verwenden, um alte AKS-HCI PowerShell-Module zu löschen, um Probleme mit der PowerShell-Version in Ihrer AKS-Bereitstellung zu vermeiden.

Überprüfen Ihrer Installation

Get-Command -Module AksHci

Die vollständige Liste der AksHci-PowerShell-Befehle finden Sie unter PowerShell-Modul „AksHci“.

Registrieren des Ressourcenanbieters bei Ihrem Abonnement

Aktivieren Sie vor dem Registrierungsprozess den entsprechenden Ressourcenanbieter in Azure für AKS, der durch die Arc-Registrierung aktiviert ist. Führen Sie dazu die folgenden PowerShell-Befehle aus:

Führen Sie zum Anmelden bei Azure den PowerShell-Befehl Connect-AzAccount aus:

Connect-AzAccount

Wenn Sie zu einem anderen Abonnement wechseln möchten, führen Sie den PowerShell-Befehl Set-AzContext aus:

Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx"

Führen Sie die folgenden Befehle aus, um Ihr Azure-Abonnement bei Kubernetes-Ressourcenanbietern mit Azure Arc-Unterstützung zu registrieren. Dieser Registrierungsvorgang kann bis zu 10 Minuten dauern, muss jedoch nur einmal für ein bestimmtes Abonnement ausgeführt werden:

Register-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Register-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration
Register-AzResourceProvider -ProviderNamespace Microsoft.ExtendedLocation

Führen Sie die folgenden PowerShell-Befehle aus, um den Registrierungsprozess zu überprüfen:

Get-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Get-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration
Get-AzResourceProvider -ProviderNamespace Microsoft.ExtendedLocation

Schritt 1: Vorbereiten Ihrer Computer für die Bereitstellung

Führen Sie Überprüfungen auf jedem physischen Knoten aus, um festzustellen, ob alle Anforderungen für die Installation von AKS erfüllt sind, die von Arc aktiviert sind. Öffnen Sie PowerShell als Administrator, und führen Sie den folgenden Initialize-AksHciNode-Befehl auf allen Knoten in Ihrem Azure Stack HCI- und Windows Server-Cluster aus:

Initialize-AksHciNode

Schritt 2: Erstellen eines virtuellen Netzwerks

Führen Sie die folgenden Befehle auf einem beliebigen Knoten in Ihrem Azure Stack HCI- und Windows Server-Cluster aus.

Führen Sie den folgenden Befehl aus, um die Namen der verfügbaren Switches zu ermitteln. Stellen Sie sicher, dass der SwitchType -Switch Ihres virtuellen Computers "Extern" ist:

Get-VMSwitch

Beispielausgabe:

Name        SwitchType     NetAdapterInterfaceDescription
----        ----------     ------------------------------
extSwitch   External       Mellanox ConnectX-3 Pro Ethernet Adapter

Um ein virtuelles Netzwerk zu erstellen, das die Knoten in Ihrer Bereitstellung verwenden sollen, erstellen Sie eine Umgebungsvariable mit dem PowerShell-Befehl New-AksHciNetworkSetting. Dieses virtuelle Netzwerk wird später verwendet, um eine Bereitstellung zu konfigurieren, die statische IP-Adresse verwendet. Wenn Sie Ihre AKS-Bereitstellung mit DHCP konfigurieren möchten, finden Sie Unter New-AksHciNetworkSetting finden Sie Beispiele. Sie können auch einige Konzepte für Netzwerkknoten überprüfen.

#static IP
$vnet = New-AksHciNetworkSetting -name myvnet -vSwitchName "extSwitch" -k8sNodeIpPoolStart "172.16.10.1" -k8sNodeIpPoolEnd "172.16.10.255" -vipPoolStart "172.16.255.0" -vipPoolEnd "172.16.255.254" -ipAddressPrefix "172.16.0.0/16" -gateway "172.16.0.1" -dnsServers "172.16.0.1" -vlanId 9

Hinweis

Sie müssen die in diesem Beispielbefehl gezeigten Werte für Ihre Umgebung anpassen.

Schritt 3: Konfigurieren Ihrer Bereitstellung

Führen Sie die folgenden Befehle auf einem beliebigen Knoten in Ihrem Azure Stack HCI- und Windows Server-Cluster aus.

Verwenden Sie den Befehl Set-AksHciConfig, um die Konfigurationseinstellungen für den AKS-Host zu erstellen. Sie müssen die Parameter imageDir, workingDir und cloudConfigLocation angeben. Um Ihre Konfigurationsdetails zurückzusetzen, führen Sie den Befehl erneut mit neuen Parametern aus.

Konfigurieren Sie Ihre Bereitstellung mit dem folgenden Befehl:

$csvPath = 'C:\clusterstorage\volume01' # Specify your preferred CSV path
Set-AksHciConfig -imageDir $csvPath\Images -workingDir $csvPath\ImageStore -cloudConfigLocation $csvPath\Config -vnet $vnet

Hinweis

Sie müssen die in diesem Beispielbefehl gezeigten Werte für Ihre Umgebung anpassen.

Schritt 4: Anmelden bei Azure und Konfigurieren der Registrierungseinstellungen

Option 1: Verwenden Sie Ihr Microsoft Entra-Konto, wenn Sie über "Besitzer"-Berechtigungen verfügen.

Führen Sie den folgenden PowerShell-Befehl Set-AksHciRegistration mit Ihrem Abonnement und Ihrem Ressourcengruppennamen aus, um sich bei Azure anzumelden. Sie benötigen ein Azure-Abonnement und eine vorhandene Azure-Ressourcengruppe in den Azure-Regionen Australien, Osten, USA, Osten, Asien, Südosten oder Europa, Westen:

Set-AksHciRegistration -subscriptionId "<subscriptionId>" -resourceGroupName "<resourceGroupName>"

Option 2: Verwenden eines Azure-Dienstprinzipals

Wenn Sie keinen Zugriff auf ein Abonnement haben, für das Sie "Besitzer" sind, können Sie Ihren AKS-Host bei Azure für die Abrechnung mithilfe eines Dienstprinzipals registrieren. Weitere Informationen zur Verwendung eines Dienstprinzipals finden Sie unter Registrieren von AKS in Azure Stack HCI und Windows Server unter Verwendung eines Dienstprinzipals.

Schritt 5: Starten einer neuen Bereitstellung

Führen Sie den folgenden Befehl auf einem beliebigen Knoten in Ihrem Azure Stack HCI- oder Windows Server-Cluster aus.

Nachdem Sie Ihre Bereitstellung konfiguriert haben, müssen Sie sie starten, um die AKS-Agents/-Dienste und den AKS-Host zu installieren. Führen Sie den folgenden Befehl aus, um mit der Bereitstellung zu beginnen:

Tipp

Legen Sie vor dem Fortfahren fest, $VerbosePreference = "Continue" um zusätzliche status Details während der Installation anzuzeigen.

Install-AksHci

Warnung

Während der Installation Ihres AKS-Hosts wird in der Ressourcengruppe, die während der Registrierung festgelegt wird, ein Ressourcentyp Kubernetes – Azure Arc erstellt. Löschen Sie diese Ressource nicht, da sie Ihren AKS-Host darstellt. Sie können die Ressource ermitteln, indem Sie überprüfen, ob das zugehörige Verteilungsfeld den Wert aks_management aufweist. Wenn Sie diese Ressource löschen, führt dies zu einer Bereitstellung außerhalb der Richtlinie.

Schritt 6: Erstellen eines Kubernetes-Clusters

Nachdem Sie Ihren AKS-Host installiert haben, können Sie einen Kubernetes-Cluster bereitstellen. Öffnen Sie PowerShell als Administrator, und führen Sie den folgenden New-AksHciCluster-Befehl aus. Mit diesem Beispielbefehl wird ein neuer Kubernetes-Cluster mit einem Linux-Knotenpool mit dem Namen linuxnodepool 1 erstellt.

Weitere Informationen zu Knotenpools finden Sie unter Verwenden von Knotenpools in AKS.

New-AksHciCluster -name mycluster -nodePoolName linuxnodepool -nodeCount 1 -osType Linux

Überprüfen Ihrer bereitgestellten Cluster

Führen Sie den folgenden PowerShell-Befehl Get-AksHciCluster aus, um eine Liste ihrer bereitgestellten Kubernetes-Cluster abzurufen:

Get-AksHciCluster
ProvisioningState     : provisioned
KubernetesVersion     : v1.20.7
NodePools             : linuxnodepool
WindowsNodeCount      : 0
LinuxNodeCount        : 0
ControlPlaneNodeCount : 1
Name                  : mycluster

Führen Sie zum Abrufen einer Liste der Knotenpools im Cluster den folgenden PowerShell-Befehl Get-AksHciNodePool aus:

Get-AksHciNodePool -clusterName mycluster
ClusterName  : mycluster
NodePoolName : linuxnodepool
Version      : v1.20.7
OsType       : Linux
NodeCount    : 1
VmSize       : Standard_K8S3_v1
Phase        : Deployed

Schritt 7: Verbinden Ihres Clusters mit Kubernetes mit Arc-Unterstützung

Verbinden Sie Ihren Cluster mit Kubernetes mit Arc-Unterstützung, indem Sie den Befehl Enable-AksHciArcConnection ausführen. Im folgenden Beispiel wird ihr Kubernetes-Cluster mithilfe der Abonnement- und Ressourcengruppendetails, die Set-AksHciRegistration Sie im Befehl übergeben haben, mit Arc verbunden:

Connect-AzAccount
Enable-AksHciArcConnection -name mycluster

Hinweis

Wenn während des Installationsvorgangs Probleme oder Fehlermeldungen auftreten, finden Sie weitere Informationen unter Bekannte Probleme und Fehler bei der Installation.

Skalieren eines Kubernetes-Clusters

Wenn Sie Ihren Cluster hoch- oder herunterskalieren müssen, können Sie die Anzahl der Knoten auf Steuerungsebene ändern, indem Sie den Befehl Set-AksHciCluster verwenden. Um die Anzahl der Linux- oder Windows-Workerknoten in Ihrem Knotenpool zu ändern, verwenden Sie den Befehl Set-AksHciNodePool.

Führen Sie zum Skalieren von Knoten auf Steuerungsebene folgenden Befehl aus:

Set-AksHciCluster -name mycluster -controlPlaneNodeCount 3

Führen Sie zum Skalieren der Workerknoten in Ihrem Knotenpool den folgenden Befehl aus:

Set-AksHciNodePool -clusterName mycluster -name linuxnodepool -count 3

Hinweis

In früheren Versionen von AKS in Azure Stack HCI und Windows Server wurde der Befehl Set-AksHciCluster auch zum Skalieren von Workerknoten verwendet. Nachdem AKS Knotenpools in Workloadclustern eingeführt hat, können Sie diesen Befehl nur verwenden, um Workerknoten zu skalieren, wenn Ihr Cluster mit dem alten Parameter erstellt wurde, der in New-AksHciCluster festgelegt wurde.

Verwenden Sie zum Skalieren von Workerknoten in einem Knotenpool den Befehl Set-AksHciNodePool.

Zugreifen auf Ihre Cluster mit kubectl

Führen Sie den PowerShell-Befehl Get-AksHciCredential aus, um mit kubectl auf Ihre Kubernetes-Cluster zuzugreifen. Hierbei wird die kubeconfig-Datei des angegebenen Clusters als kubeconfig-Standarddatei für kubectl verwendet. Sie können kubectl auch verwenden, um Anwendungen mit Helm bereitzustellen:

Get-AksHciCredential -name mycluster

Löschen eines Kubernetes-Clusters

Führen Sie den folgenden Befehl aus, um einen Kubernetes-Cluster zu löschen:

Remove-AksHciCluster -name mycluster

Hinweis

Stellen Sie sicher, dass Ihr Cluster gelöscht wird, indem Sie sich die vorhandenen virtuellen Computer im Hyper-V-Manager ansehen. Wenn die VMs nicht gelöscht werden, können Sie sie manuell löschen. Führen Sie anschließend den Befehl Restart-Service wssdagent aus. Führen Sie diesen Befehl auf jedem Knoten im Failovercluster aus.

Abrufen von Protokollen

Führen Sie den Get-AksHciLogs-Befehl aus, um die Protokolle Ihrer gesamten Pods zu erhalten. Mit diesem Befehl wird ein zippter Ausgabeordner mit dem Namen akshcilogs.zip in Ihrem Arbeitsverzeichnis erstellt. Der vollständige Pfad zum akshcilogs.zip Ordner ist die Ausgabe nach dem Ausführen des folgenden Befehls:

Get-AksHciLogs

In dieser Schnellstartanleitung haben Sie erfahren, wie Sie einen AKS-Host einrichten und Kubernetes-Cluster mithilfe von PowerShell erstellen. Außerdem haben Sie erfahren, wie Sie PowerShell verwenden, um einen Kubernetes-Cluster zu skalieren und mit kubectl auf Cluster zuzugreifen.

Nächste Schritte