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
- Wenn Sie über vorab bereitgestellte Clusterdienstobjekte und DNS-Einträge verfügen, finden Sie weitere Informationen im Artikel zum Bereitstellen eines AKS-Hosts mit vorab bereitgestellten Clusterdienstobjekten und DNS-Einträgen mit PowerShell.
- Wenn Sie einen Proxyserver haben, finden Sie Informationen unter Einrichten eines AKS-Hosts und Bereitstellen eines Workloadclusters mithilfe von PowerShell und eines Proxyservers.
- Die Installation von AKS in Azure Stack HCI nach dem Einrichten von Arc-VMs wird nicht unterstützt. Weitere Informationen finden Sie unter Bekannte Probleme mit Arc-VMs. Wenn Sie AKS in Azure Stack HCI installieren möchten, müssen Sie Arc Resource Bridge deinstallieren und dann AKS in Azure Stack HCI installieren. Sie können eine neue Arc-Ressourcenbrücke erneut bereitstellen, nachdem Sie AKS sauber und installieren. Die VM-Entitäten, die Sie zuvor erstellt haben, werden jedoch nicht mehr gespeichert.
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.
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.
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.