Lernprogramm: Bereitstellen eines Workloadclusters auf AKS, die von Arc aktiviert sind
Gilt für: AKS auf Azure Stack HCI 22H2, AKS unter Windows Server
Kubernetes bietet eine verteilte Plattform für containerbasierte Anwendungen.
In diesem Lernprogramm, Teil 3 von sieben, wird ein Kubernetes-Cluster auf AKS auf Azure Local bereitgestellt. Sie lernen Folgendes:
- Bereitstellen eines AKS-Clusters auf Azure Local
- Installieren der Kubernetes-Befehlszeilenschnittstelle (kubectl)
- Konfigurieren von kubectl für die Verbindungsherstellung mit Ihrem Workloadcluster
In nachfolgenden Tutorials wird die Anwendung Azure Vote im Cluster bereitgestellt, skaliert und aktualisiert.
Voraussetzungen
In vorherigen Tutorials wurde ein Containerimage erstellt und in eine Azure Container Registry-Instanz hochgeladen. Wenn Sie diese Schritte nicht ausgeführt haben, beginnen Sie mit Tutorial 1: Erstellen von Containerimages.
In diesem Tutorial wird das PowerShell-Modul „AksHci“ verwendet.
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.
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.
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“.
Installieren des Azure Kubernetes-Diensthosts
Konfigurieren Sie zunächst Ihre Registrierungseinstellungen.
Set-AksHciRegistration -subscription mysubscription -resourceGroupName myresourcegroup
Sie müssen diese Werte gemäß Ihrem Azure-Abonnement und Ressourcengruppennamen anpassen.
Führen Sie dann den folgenden Befehl aus, um sicherzustellen, dass alle Anforderungen für jeden physischen Knoten erfüllt sind, um AKS auf Azure Local zu installieren:
Initialize-AksHciNode
Erstellen Sie als Nächstes ein virtuelles Netzwerk. Sie benötigen die Namen Ihrer verfügbaren externen Switches:
Get-VMSwitch
Beispielausgabe:
Name SwitchType NetAdapterInterfaceDescription
---- ---------- ------------------------------
extSwitch External Mellanox ConnectX-3 Pro Ethernet Adapter
Führen Sie den folgenden Befehl aus, um ein virtuelles Netzwerk mit statischer IP zu erstellen:
$vnet = New-AksHciNetworkSetting -name myvnet -vSwitchName "extSwitch" -macPoolName myMacPool -k8sNodeIpPoolStart "172.16.10.0" -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
Konfigurieren Sie Ihre Bereitstellung dann mit dem folgenden Befehl.
Set-AksHciConfig -imageDir c:\clusterstorage\volume1\Images -cloudConfigLocation c:\clusterstorage\volume1\Config -vnet $vnet -cloudservicecidr "172.16.10.10/16"
Jetzt können Sie den AKS-Host installieren:
Install-AksHCi
Erstellen eines Kubernetes-Clusters
Erstellen Sie mit dem Befehl New-AksHciCluster einen Kubernetes-Cluster. Im folgenden Beispiel wird ein Cluster mit einem Linux-Knotenpool erstellt mycluster
linuxnodepool
, der eine Knotenanzahl von 1 aufweist:
New-AksHciCluster -name mycluster -nodePoolName linuxnodepool -nodeCount 1
Führen Sie den folgenden Befehl aus, um zu überprüfen, ob die Bereitstellung erfolgreich war.
Get-AksHcicluster -name mycluster
ProvisioningState : provisioned
KubernetesVersion : v1.20.7
NodePools : linuxnodepool
WindowsNodeCount : 0
LinuxNodeCount : 0
ControlPlaneNodeCount : 1
Name : mycluster
Hinweis
Wenn Sie die neuen Parametersätze New-AksHciCluster
verwenden, um einen Cluster bereitzustellen, und führen Sie dann aus Get-AksHciCluster
, um die Clusterinformationen, die Felder WindowsNodeCount
und LinuxNodeCount
in der Ausgaberückgabe 0
abzurufen. Um die genaue Anzahl von Knoten in jedem Knotenpool abzurufen, verwenden Sie den Befehl Get-AksHciNodePool
mit dem angegebenen Clusternamen.
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
Installieren der Kubernetes-Befehlszeilenschnittstelle
Verwenden Sie kubectl, den Kubernetes-Befehlszeilenclient, um eine Verbindung mit dem Kubernetes-Cluster von Ihrem lokalen Computer herzustellen.
Herstellen einer Verbindung mit dem Cluster mithilfe von „kubectl“
Verwenden Sie den Befehl Get-AksHciCredential, um kubectl
für die Verbindungsherstellung mit Ihrem Kubernetes-Cluster zu konfigurieren. Das folgende Beispiel ruft Anmeldeinformationen für den Cluster mit dem Namen mycluster
ab:
Get-AksHciCredential -name mycluster
Überprüfen Sie die Verbindung mit Ihrem Cluster mithilfe des Befehls kubectl get nodes, um eine Liste der Clusterknoten zu erhalten:
kubectl get nodes
NAME STATUS ROLES AGE VERSION
moc-lbs6got5dqo Ready <none> 6d20h v1.20.7
moc-lel7tzxdt30 Ready control-plane,master 6d20h v1.20.7
Nächste Schritte
In diesem Tutorial wurde ein Kubernetes-Cluster in AKS bereitgestellt, und Sie haben kubectl
für die Verbindung damit konfiguriert. Sie haben Folgendes gelernt:
- Bereitstellen eines AKS-Clusters auf Azure Local
- Installieren der Kubernetes-Befehlszeilenschnittstelle (kubectl)
- Konfigurieren von „kubectl“ für die Verbindung mit Ihrem AKS-Cluster
Fahren Sie mit dem nächsten Tutorial fort, um zu erfahren, wie eine Anwendung im Cluster bereitgestellt wird.