Einrichten eines Azure Kubernetes Service-Hosts auf Windows Server und Bereitstellen eines Workloadclusters mithilfe von PowerShell

Gilt für: Windows Server Datacenter

Diese Schnellstartanleitung führt Sie durch das Einrichten eines Azure Kubernetes Service (AKS)-Hosts. Sie erstellen Kubernetes-Cluster auf Windows Server mithilfe von PowerShell. Informationen zum Verwenden von Windows Admin Center finden Sie unter "Einrichten mit Windows Admin Center".

Note

Bevor Sie anfangen

  • Stellen Sie sicher, dass Sie alle Voraussetzungen in den Systemanforderungen erfüllen.
  • Verwenden Sie ein Azure Konto, um Ihren AKS-Host für die Abrechnung zu registrieren. Weitere Informationen finden Sie unter Azure Requirements.

Installieren des AksHci PowerShell-Moduls

Führen Sie die folgenden Schritte auf allen Knoten in Ihrem Windows Server Cluster aus:

Note

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 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 nicht mit dem nächsten Schritt fort, bis Sie alle geöffneten PowerShell-Fenster schließen.

  2. Installieren Sie das AksHci PowerShell-Modul, indem Sie den folgenden Befehl auf allen Knoten in Ihrem 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 nicht mit dem nächsten Schritt fort, bis 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 im Zusammenhang mit der PowerShell-Version in Ihrer AKS-Bereitstellung zu vermeiden.

Überprüfen der Installation

Get-Command -Module AksHci

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

Registrieren Sie den Ressourcenanbieter für Ihr Abonnement

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

Um sich bei Azure anzumelden, führen Sie den Befehl "Connect-AzAccount PowerShell" 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 für Azure Arc-fähige Kubernetes-Ressourcenanbieter zu registrieren. Dieser Registrierungsprozess kann bis zu 10 Minuten dauern, muss aber 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 für jeden physischen Knoten aus, um festzustellen, ob alle Anforderungen für die Installation von AKS erfüllt sind. Öffnen Sie PowerShell als Administrator, und führen Sie den folgenden Befehl Initialize-AksHciNode auf allen Knoten in Ihrem Windows Server Cluster aus:

Initialize-AksHciNode

Schritt 2: Erstellen eines virtuellen Netzwerks

Führen Sie die folgenden Befehle auf einem beliebigen Knoten in Ihrem Windows Server Cluster aus.

Führen Sie den folgenden Befehl aus, um die Namen Ihrer verfügbaren Switches abzurufen. Stellen Sie sicher, dass der SwitchType Vm-Switch 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 können, erstellen Sie mithilfe des PowerShell-Befehls New-AksHciNetworkSetting eine Umgebungsvariable. Dieses virtuelle Netzwerk wird später verwendet, um eine Bereitstellung zu konfigurieren, die statische IP verwendet. Wenn Sie Ihre AKS-Bereitstellung mit DHCP konfigurieren möchten, finden Sie beispiele unter New-AksHciNetworkSetting . 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

Note

Sie müssen die werte anpassen, die in diesem Beispielbefehl für Ihre Umgebung angezeigt werden.

Schritt 3: Konfigurieren Sie Ihre Bereitstellung

Führen Sie die folgenden Befehle auf einem beliebigen Knoten in Ihrem 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

Note

Sie müssen die in diesem Beispielbefehl für Ihre Umgebung angezeigten Werte anpassen, aber Sie können den VM-Namen auf dem Host oder im Kubernetes-Cluster nicht ändern.

Schritt 4: Anmelden bei Azure und Konfigurieren von Registrierungseinstellungen

Option 1: Verwenden Ihres Microsoft Entra Kontos, wenn Sie über "Besitzer"-Berechtigungen verfügen

Führen Sie den folgenden Set-AksHciRegistration PowerShell-Befehl mit Ihrem Abonnement- und Ressourcengruppennamen aus, um sich bei Azure anzumelden. Sie müssen über ein Azure-Abonnement und eine vorhandene Azure Ressourcengruppe in den Regionen Australien Ost, Ost-, Südostasien oder Westeuropa Azure verfügen:

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

Option 2: Verwenden Sie einen Azure-Dienstprinzipal

Wenn Sie keinen Zugriff auf ein Abonnement haben, bei dem Sie Besitzer sind, können Sie Ihren AKS-Host mithilfe eines Dienstprinzipals zur Abrechnung bei Azure registrieren. Weitere Informationen zur Verwendung eines Dienstprinzipals finden Sie unter AKS unter Windows Server mit einem Dienstprinzipal registrieren.

Schritt 5: Starten einer neuen Bereitstellung

Führen Sie den folgenden Befehl auf einem beliebigen Knoten in Ihrem Windows Server Cluster aus.

Nachdem Sie die Bereitstellung konfiguriert haben, müssen Sie sie starten, um die AKS-Agenten und -Dienste sowie den AKS-Host zu installieren. Führen Sie zum Starten der Bereitstellung den folgenden Befehl aus:

Tip

Wenn Sie während der Installation weitere Statusdetails anzeigen möchten, legen Sie diese Einstellung fest $VerbosePreference = "Continue" , bevor Sie fortfahren.

Install-AksHci

Warning

Während der Installation Ihres AKS-Hosts wird ein Kubernetes - Azure Arc-Ressourcentyp in der Ressourcengruppe erstellt, die während der Registrierung festgelegt ist. 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 nicht richtlinienkonformen Bereitstellung.

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. Dieser Beispielbefehl erstellt einen neuen Kubernetes-Cluster mit einem Linux-Knotenpool linuxnodepool mit einer Knotenanzahl von 1.

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

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

Überprüfen Sie Ihre bereitgestellten Cluster

Um eine Liste Ihrer bereitgestellten Kubernetes-Cluster abzurufen, führen Sie den folgenden Get-AksHciCluster PowerShell-Befehl aus:

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

Um eine Liste der Knotenpools im Cluster abzurufen, führen Sie den folgenden Get-AksHciNodePool PowerShell-Befehl 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 Arc-fähigen Kubernetes

Verbinden Sie Ihren Cluster mit Arc-fähigen Kubernetes, indem Sie den Befehl "Enable-AksHciArcConnection" ausführen. Im folgenden Beispiel wird Ihr Kubernetes-Cluster mithilfe der Details zu Abonnement und Ressourcengruppe, die Sie im Befehl Set-AksHciRegistration übergeben haben, mit Arc verbunden:

Connect-AzAccount
Enable-AksHciArcConnection -name mycluster

Note

Wenn während des Installationsvorgangs Probleme oder Fehlermeldungen auftreten, lesen Sie bekannte Probleme und Fehler bei der Installation, um weitere Informationen zu erhalten.

Skalieren eines Kubernetes-Clusters

Wenn Sie den Cluster nach oben oder unten skalieren müssen, können Sie die Anzahl der Steuerebenenknoten mithilfe des Befehls "Set-AksHciCluster " ändern. Verwenden Sie den Befehl "Set-AksHciNodePool", um die Anzahl der Linux- oder Windows Workerknoten in Ihrem Knotenpool zu ändern.

Führen Sie den folgenden Befehl aus, um Steuerebenenknoten zu skalieren:

Set-AksHciCluster -name mycluster -controlPlaneNodeCount 3

Führen Sie den folgenden Befehl aus, um die Arbeitsknoten in Ihrem Knotenpool zu skalieren:

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

Note

In früheren Versionen von AKS für Windows Server wurde der Befehl "Set-AksHciCluster" auch zum Skalieren von Arbeitsknoten verwendet. Da AKS nun Knotenpools in Workloadclustern einführt, können Sie diesen Befehl nur verwenden, um Arbeitsknoten zu skalieren, wenn Ihr Cluster mit dem alten Parameter in New-AksHciCluster erstellt wurde.

Verwenden Sie den Befehl "Set-AksHciNodePool" , um Arbeitsknoten in einem Knotenpool zu skalieren.

Zugreifen auf Ihre Cluster mit kubectl

Um mithilfe von Kubectl auf Ihre Kubernetes-Cluster zuzugreifen, führen Sie den PowerShell-Befehl "Get-AksHciCredential " aus. Dieser Befehl verwendet die Kubeconfig-Datei des angegebenen Clusters als Standard kubeconfig-Datei für kubectl. Sie können kubectl auch zum Bereitstellen von Anwendungen mit Helm verwenden:

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

Note

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

Abrufen von Protokollen

Um Protokolle von Allen Ihren Pods abzurufen, führen Sie den Befehl "Get-AksHciLogs " aus. Dieser Befehl erstellt in Ihrem Arbeitsverzeichnis einen ZIP-Ordner mit dem Namen akshcilogs.zip. Der vollständige Pfad zum akshcilogs.zip-Ordner ist die Ausgabe nach Ausführung 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 gelernt, wie Sie PowerShell verwenden, um einen Kubernetes-Cluster zu skalieren und auf Cluster mit Kubectl zuzugreifen.

Nächste Schritte