Freigeben über


Einrichten eines Azure Kubernetes-Diensthosts auf Azure Local und Windows Server und Bereitstellen eines Workloadclusters mithilfe von PowerShell

Gilt für: Azure Local or Windows Server Datacenter

Diese Schnellstartanleitung führt Sie durch das Einrichten eines Azure Kubernetes Service (AKS)-Hosts. Sie erstellen Kubernetes-Cluster auf Azure Local 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

Voraussetzungen

  • 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 in den Azure-Anforderungen.

Installieren des PowerShell-Moduls „AksHci“

Führen Sie die folgenden Schritte auf allen Knoten in Ihrem lokalen Azure-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 lokalen Azure- 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 nicht mit dem nächsten Schritt fort, bis Sie alle geöffneten PowerShell-Fenster schließen.

  2. Installieren Sie das AKS-HCI PowerShell-Modul, indem Sie den folgenden Befehl auf allen Knoten in Ihrem lokalen Azure- 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 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 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 von der Arc-Registrierung aktiviert ist. 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 bei Azure Arc-aktivierten Kubernetes-Ressourcenanbietern 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, die von Arc aktiviert sind, erfüllt sind. Öffnen Sie PowerShell als Administrator, und führen Sie den folgenden Befehl Initialize-AksHciNode auf allen Knoten in Ihrem lokalen Azure- 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 lokalen Azure- 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 Vm-Switch "Extern" lautet:

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 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

Hinweis

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

Schritt 3: Konfigurieren der Bereitstellung

Führen Sie die folgenden Befehle auf einem beliebigen Knoten in Ihrem lokalen Azure- 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 werte anpassen, die in diesem Beispielbefehl für Ihre Umgebung angezeigt werden.

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 Azure-Regionen Australien Ost, Ost-USA, Südostasien oder Westeuropa verfügen:

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 für die Abrechnung mit einem Dienstprinzipal bei Azure registrieren. Weitere Informationen zur Verwendung eines Dienstprinzipals finden Sie unter registrieren AKS unter Azure Local and Windows Server using a service principal.

Schritt 5: Starten einer neuen Bereitstellung

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

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

Tipp

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

Install-AksHci

Warnung

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 sie zu einer out-of-policy-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 Ihrer 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 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 auf Azure Local und 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 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 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

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 komprimierter Ausgabeordner erstellt, der in Ihrem Arbeitsverzeichnis aufgerufen wird akshcilogs.zip . 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