Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel ist ein Leitfaden für die ersten Schritte mit dem Azure Kubernetes Service (AKS)-Dienst auf Azure Stack Hub. Es beschreibt die wichtigsten Szenarien, um Sie mit AKS im Azure Stack Hub vertraut zu machen. Die in Azure Stack Hub verfügbare Funktionalität ist eine Teilmenge der in globalen Azure verfügbaren Funktionen.
In den folgenden Abschnitten:
Füllen Sie die Voraussetzungen für die Verwendung von AKS im Azure Stack Hub aus.
Führen Sie die Lebenszyklusvorgänge eines AKS-Clusters mit Azure CLI und dem Azure Stack Hub-Benutzerportal aus.
Installieren der Azure-Befehlszeilenschnittstelle
Sie müssen die Azure CLI mit AKS-Unterstützung für Ihren Computer installieren. Bereiten Sie einen sauberen Linux- oder Windows-Computer vor, um die Vorschauversion der Azure CLI mit AKS-Unterstützung zu installieren. Stellen Sie sicher, dass auf dem Computer keine Azure CLI installiert ist, um Konflikte mit der Vorschau von Azure CLI zu vermeiden, die Sie als Nächstes installieren. In den meisten der folgenden Anweisungen wird davon ausgegangen, dass Sie eine Linux-VM verwenden, aber Sie finden die entsprechenden Schritte in Windows in der Produktdokumentation.
Führen Sie kein Upgrade der Azure CLI durch, nachdem Sie die Azure CLI mit AKS-Unterstützung installiert haben. Wenn Sie ein Upgrade durchführen, wird es durch die produktionsbereite Version ersetzt, die keine AKS-Unterstützung aufweist.
Folgen Sie für einen Ubuntu-Computer den Anweisungen unter Installieren der Azure CLI unter Linux.
Überprüfen Sie nach der Installation von Azure CLI mit AKS-Unterstützung, ob die Installation korrekt ist, indem Sie den folgenden Azure CLI-Befehl ausführen:
az --version
Hier ist eine Beispielausgabe von einem Linux-Computer:
Azure CLI sollte 2.28.0 oder höher sein.
Herstellen einer Verbindung mit Azure Stack Hub
Stellen Sie eine Verbindung mit Ihrem Azure Stack Hub-Endpunkt her. Sie müssen Azure CLI verwenden, um die spezifische Azure Stack Hub-Umgebung einzurichten, mit der Sie eine Verbindung herstellen. Die Anweisungen finden Sie unter "Herstellen einer Verbindung mit Azure Stack Hub".
Registrieren Sie Ihre Umgebung, damit Azure CLI eine Verbindung mit dem Azure Stack Hub Resource Manager-Endpunkt für Ihre Instanz herstellen kann. Aktualisieren Sie die URLs im folgenden Codeausschnitt, und führen Sie den folgenden Befehl aus:
az cloud register \ -n aks-preview-test \ --endpoint-resource-manager "https://management.redmond.xbx.nxn.microsoft.com" \ --suffix-storage-endpoint "redmond.xbx.nxn.microsoft.com" \ --suffix-keyvault-dns ".vault.redmond.xbx.nxn.microsoft.com"Legen Sie die aktive Umgebung fest.
az cloud set -n aks-preview-testAktualisieren Sie die Umgebungskonfiguration.
az cloud update --profile 2020-09-01-hybridStellen Sie eine Verbindung mit der Umgebung her.
az login -u 'user@contoso.onmicrosoft.com' -p 'xxxxxxx' --tenant 'contoso.onmicrosoft.com'Hinweis
Wenn Sie einen Fehler bei der Zertifikatüberprüfung auslösen, kann es sein, dass das für den Azure Resource Manager-Endpunkt verwendete Zertifikat von Ihrem Clientcomputer nicht als vertrauenswürdig eingestuft wird. In diesem Fall müssen Sie das zertifikat exportieren, das in den Azure Stack Hub-Endpunkten verwendet wird, und es vertrauen. Anweisungen finden Sie unter Exportieren des Azure Stack Hub CA-Stammzertifikats.
Insbesondere für Linux-Computer siehe: Microsoft Entra ID unter Linux
Verwenden Sie den folgenden Befehl, um das Abonnement in Ihrer Azure CLI-Sitzung als Standard festzulegen:
az account set --subscription <subscription-id>Registrieren Sie den Azure Kubernetes Service-Ressourcenanbieter. Listet die verfügbaren Ressourcenanbieter in Ihrem Abonnement auf.
az provider list --query "[].{Provider:namespace, Status:registrationState}" --out tableDie Ausgabe sollte wie folgt aussehen:
Notieren Sie sich den Microsoft.ContainerService-Ressourcenanbieter , und registrieren Sie dann den Anbieter:
az provider register --namespace Microsoft.ContainerServiceFühren Sie Schritt 7 erneut aus, um den Registrierungsstatus des Ressourcenanbieters zu überprüfen. Die Registrierung kann mehrere Minuten dauern.
Sobald diese erforderlichen Schritte abgeschlossen sind, können Sie die folgenden Szenarien testen.
Erstellen eines AKS-Clusters
Die globalen Azure-Anweisungen finden Sie unter Deploy an Azure Kubernetes Service cluster using the Azure CLI. Die hier beschriebenen Anweisungen spiegeln die Einschränkungen der Verwendung von AKS im Azure Stack Hub wider. Sie können die Azure CLI verwenden, um einen AKS-Cluster für Linux- oder Windows-Container zu erstellen.
Erstellen Sie eine Ressourcengruppe:
az group create --name myResourceGroup --location <Azure Stack Hub location>Stellen Sie sicher, dass Sie über eine Dienstprinzipal-ID mit der Berechtigung „Mitwirkender“ für Ihr Abonnement verfügen, um Cluster in diesem Abonnement zu erstellen.
- Führen Sie die folgenden Anweisungen aus, um einen Dienstprinzipal (Service Principal, SPN) mithilfe der Microsoft Entra-ID zu erstellen.
- Gehen Sie gemäß diesen Anweisungen vor, um einen SPN mit Active Directory-Verbunddiensten (AD FS) zu erstellen.
- Für die Zuweisung der Rolle „Mitwirkender“ zum SPN finden Sie unter diesen Anweisungen. Stellen Sie sicher, dass Sie die Rolle "Mitwirkender" auswählen.
Erstellen Sie einen AKS-Cluster mit drei Agentknoten. Stellen Sie Werte für die folgenden Parameter bereit. Beispiele werden bereitgestellt. Laufen:
az aks create \ --resource-group myResourceGroup \ --name myakscluster \ --dns-name-prefix myakscluster \ --nodepool-name mynodepool \ --admin-username azureuser \ --service-principal xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \ --client-secret xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \ --node-count 3 \ --generate-ssh-keys \ --load-balancer-sku basic \ --vm-set-type VirtualMachineScaleSets \ --location <Azure Stack Hub location> \ --kubernetes-version 1.20.7Die Ausgabe dieses Vorgangs befindet sich im JSON-Format und enthält eine Spezifikation des Clusters, einschließlich des generierten öffentlichen SSH-Schlüssels, vollqualifizierter Domänenname (Fully Qualified Domain Name, FQDN), der im Cluster unter anderen Eigenschaften verwendet wird. Beachten Sie, dass der Befehl Text wie folgt ausgibt, wodurch der Speicherort des privaten Schlüssels hervorgehoben wird:
SSH key files '/home/azureuser/.ssh/id_rsa'und'/home/azureuser/.ssh/id_rsa.pub'werden unter\~/.sshgeneriert, um SSH-Zugriff auf die VM zu ermöglichen. Speichern Sie diese Schlüssel an einem sicheren Speicherort, um darauf zuzugreifen, falls es erforderlich ist, per SSH auf die virtuellen Maschinen zuzugreifen, wie es bei der Fehlerbehebung der Fall ist.Jetzt können Sie die Tests für Scale wiederholen, eine App bereitstellen und löschen.
Herstellen einer Verbindung mit dem Cluster
Verwenden Sie zum Verwalten eines Kubernetes-Clusters den Kubernetes-Befehlszeilenclient kubectl. Um kubectl lokal zu installieren, verwenden Sie den
az aks install-cliBefehl (möglicherweise müssen Sie "sudo" am Anfang verwenden, um die Berechtigung zum Installieren zu haben):az aks install-cliVerwenden Sie den Befehl, um
az aks get-credentialsfür die Verbindung mit Ihrem Kubernetes-Cluster zu konfigurieren. Mit diesem Befehl werden die Anmeldeinformationen heruntergeladen, und die Kubernetes-Befehlszeilenschnittstelle wird für deren Verwendung konfiguriert.az aks get-credentials --resource-group myResourceGroup --name myakscluster --adminUm die Verbindung mit Ihrem Cluster zu überprüfen, verwenden Sie den Befehl "kubectl get", um eine Liste der Clusterknoten zurückzugeben.
kubectl get nodes
Skalieren von Clustern
Eine weitere Clusterverwaltungsaufgabe ist die Skalierung eines Clusters. Sie können einen Cluster jederzeit skalieren, nachdem er mithilfe des az aks scale Befehls erstellt wurde. Führen Sie Folgendes aus, um den Cluster von den ersten drei Knoten auf 4 zu skalieren:
az aks scale --resource-group myResourceGroup --name myakscluster --node-count 4
Wenn der Cluster erfolgreich skaliert wird, enthält die Ausgabe ein "agentPoolProfiles" ähnlich dem folgenden Beispiel:
"agentPoolProfiles": [
{
"availabilityZones": null,
"count": 4,
"enableAutoScaling": null,
"enableNodePublicIp": false,
"maxCount": null,
"maxPods": 110,
"minCount": null,
"mode": "System",
"name": "mynodepool",
"nodeLabels": {},
"nodeTaints": null,
"orchestratorVersion": "1.20.7",
"osDiskSizeGb": 100,
"osType": "Linux",
"provisioningState": "Succeeded",
"scaleSetEvictionPolicy": null,
"scaleSetPriority": null,
"spotMaxPrice": null,
"tags": null,
"type": "VirtualMachineScaleSets",
"vmSize": " Standard_DS2_v2",
"vnetSubnetId": null
}
]
Cluster löschen
Nachdem die vorherigen Vorgänge ausgeführt wurden, können Sie den Cluster löschen. Laufen:
az aks delete --name myakscluster --resource-group myResourceGroup
Erstellen eines AKS-Clusters mit benutzerdefiniertem virtuellen Netzwerk
Das Erstellen eines Clusters, der in einem vom Benutzer bereitgestellten Netzwerk bereitgestellt wird, ist ein gängiges Szenario. Die Planung der Netzwerkkonfiguration erfordert eine gewisse Vorbereitung. Beachten Sie außerdem, dass bei AKS das standardmäßige Netzwerk-Plug-In Azure CNI ist, nicht Kubenet wie bei AKS Engine.
Mit Azure CNI erhält jeder Pod eine IP-Adresse aus dem Subnetz und kann direkt aufgerufen werden (ohne dass eine Routingtabelle erforderlich ist, wie bei Kubenet). Diese IP-Adressen müssen in Ihrem Netzwerkraum eindeutig sein und müssen geplant werden.
Der folgende Artikel führt Sie durch den Prozess der Planung ihrer benutzerdefinierten Bereitstellung virtueller Netzwerke. Sie finden verschiedene Netzwerkkonfigurationen, die für Ihre Anforderungen geeignet sind, und testen Sie sie. Für einen ersten Test zeigen Ihnen die folgenden beiden Schritte den grundlegenden Prozess:
Befolgen Sie die Anweisungen in diesem Artikel , um die Bereitstellung mit Azure CNI zu planen. Sie können beispielsweise das Portal verwenden, um ein virtuelles Netzwerk namens "myAKSVnet" mit IP-Bereich 10.0.0.0/8 mit Subnetz "myAKSSubnet" und IP-Bereich 10.240.0.0/16 in einer Ressourcengruppe mit dem Namen "myTest-rg" zu erstellen. Verwenden Sie dann den nächsten Schritt für die Erstellung des Clusters.
az network vnet create \ --resource-group myTest-rg \ --name myAKSVnet \ --address-prefixes 10.0.0.0/8 \ --subnet-name myAKSSubnet \ --subnet-prefix 10.240.0.0/16Beachten Sie, dass der im Azure-Artikel bereitgestellte Clusterbefehl beim Bereitstellen in Azure einwandfrei funktioniert, um sie in Azure Stack Hub bereitzustellen, müssen Sie zusätzliche Parameter wie im folgenden Beispiel angeben. Die ID für das virtuelle Netzwerk-Subnetz sollte wie '/subscriptions/dfdfdff-5dfdf-dfdf-dfdf-dfdfdfdfdfd/resourceGroups/myTest-rg/providers/Microsoft.Network/virtualNetworks/myAKSVnet/subnets/myAKSSubnet' aussehen:
az aks create \ --resource-group myTest-rg \ --name aksvnet \ --dns-name-prefix aksvnet \ --nodepool-name mynodepool \ --admin-username azureuser \ --service-principal xvxvxvxvx-ffff-ffff-xvxvxvx-8xbxbxbx8 \ --client-secret dccbcbcbcbcbcbcbcbbcbcbcbcbcbcbc-LNX \ --node-count 3 \ --generate-ssh-keys \ --load-balancer-sku basic \ --vm-set-type VirtualMachineScaleSets \ --network-plugin azure \ --vnet-subnet-id '<subnet-resource-id>' \ --skip-subnet-role-assignment \ --docker-bridge-address 172.17.0.1/16 \ --dns-service-ip 10.0.0.10 \ --location redmondFolgen Sie den Anweisungen im Abschnitt "Herstellen einer Verbindung mit dem Cluster", um eine Verbindung mit dem Kubernetes-Cluster herzustellen und Ihre Anwendungen bereitzustellen.
Konsistenzprüfung
Konsistenzüberprüfung zwischen Azure und Azure Stack Hub
Wählen Sie eine Kombination von Befehlen aus den oben getesteten Befehlen aus dem Abschnitt "Befehlsreferenz" oder aus Ihren eigenen täglichen Skripts aus.
Wenden Sie sie auf Azure und höher auf Azure Stack Hub an. Beachten Sie alle Abweichungen, die nicht erwartet werden, und geben Sie Feedback.