Schnellstart: Erstellen einer Azure Kubernetes Fleet Manager-Ressource und Einbinden von Mitgliedsclustern mithilfe der Azure CLI
Erste Schritte mit Azure Kubernetes Fleet Manager (Fleet) unter Verwendung der Azure CLI zum Erstellen einer Fleet-Ressource sowie zum späteren Verbinden von AKS-Clustern (Azure Kubernetes Service) als Mitgliedsclustern.
Voraussetzungen
Wenn Sie kein Azure-Abonnement haben, erstellen Sie ein kostenloses Azure-Konto, bevor Sie beginnen.
Lesen Sie die konzeptionelle Übersicht über dieses Feature mit Erläuterungen von Flotten und Mitgliedsclustern, auf die in diesem Dokument verwiesen wird.
Lesen Sie die konzeptionelle Übersicht über Flottentypen, die einen Vergleich verschiedener Flottenkonfigurationsoptionen bietet.
Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
Eine Identität (Benutzer oder Dienstprinzipal), die verwendet werden kann, um sich bei Azure CLI anzumelden. Diese Identität muss über die folgenden Berechtigungen für die Fleet- und AKS-Ressourcentypen verfügen, um die in dieser Schnellstartanleitung aufgeführten Schritte ausführen zu können:
- Microsoft.ContainerService/fleets/read
- Microsoft.ContainerService/fleets/write
- Microsoft.ContainerService/fleets/members/read
- Microsoft.ContainerService/fleets/members/write
- Microsoft.ContainerService/fleetMemberships/read
- Microsoft.ContainerService/fleetMemberships/write
- Microsoft.ContainerService/managedClusters/read
- Microsoft.ContainerService/managedClusters/write
Installieren oder aktualisieren Sie die Azure CLI auf Version
2.53.1
oder höher.Installieren Sie die Azure CLI-Erweiterung fleet mit dem Befehl
az extension add
, und stellen Sie sicher, dass Ihre Version mindestens1.0.0
ist.az extension add --name fleet
Legen Sie die folgenden Umgebungsvariablen fest:
export SUBSCRIPTION_ID=<subscription_id> export GROUP=<your_resource_group_name> export FLEET=<your_fleet_name>
Installieren Sie
kubectl
undkubelogin
mit dem Befehlaz aks install-cli
.az aks install-cli
Die AKS-Cluster, die Sie als Mitgliedscluster in die Fleet-Ressource einbinden möchten, müssen sich in den unterstützten Versionen von AKS befinden. Hier erfahren Sie mehr über die Richtlinie für die Unterstützung von AKS-Versionen.
Erstellen einer Ressourcengruppe
Eine Azure-Ressourcengruppe ist eine logische Gruppe, in der Azure-Ressourcen bereitgestellt und verwaltet werden. Wenn Sie eine Ressourcengruppe erstellen, werden Sie zur Angabe eines Speicherorts aufgefordert. An diesem Speicherort werden die Metadaten Ihrer Ressourcengruppe gespeichert. Darüber hinaus werden dort die Ressourcen in Azure ausgeführt, wenn Sie während der Ressourcenerstellung keinen anderen Ort angeben.
Legen Sie das Azure-Abonnement fest, und erstellen Sie eine Ressourcengruppe mit dem Befehl az group create
.
az account set -s ${SUBSCRIPTION_ID}
az group create --name ${GROUP} --location eastus
Das folgende Ausgabebeispiel ähnelt der erfolgreichen Erstellung der Ressourcengruppe:
{
"id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/fleet-demo",
"location": "eastus",
"managedBy": null,
"name": "fleet-demo",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null,
"type": "Microsoft.Resources/resourceGroups"
}
Erstellen einer Fleet-Ressource
Sie können eine Fleet-Ressource erstellen, um Ihre AKS-Cluster später als Mitgliedscluster zu gruppieren. Wenn sie mit der Azure CLI erstellt wird, ermöglicht diese Ressource standardmäßig die Gruppierung von Mitgliedsclustern und die Update-Orchestrierung. Wenn der Fleet-Hub aktiviert ist, werden zusätzliche Previewfunktionen aktiviert, wie die Weitergabe von Kubernetes-Objekten an Mitgliedscluster und der L4-Lastenausgleich über mehrere Mitgliedscluster. Weitere Informationen finden Sie in der konzeptionellen Übersicht über Flottentypen, die einen Vergleich verschiedener Flottenkonfigurationen bietet.
Wichtig
Sobald eine Kubernetes Fleet-Ressource erstellt wurde, ist es möglich, eine Kubernetes-Fleet-Ressource ohne Hub-Cluster auf eine Ressource mit Hub-Cluster zu aktualisieren. Bei Kubernetes Fleet-Ressourcen mit einem Hub-Cluster kann die einmal getroffene Auswahl von privat oder öffentlich nicht mehr geändert werden.
Wenn Sie Fleet nur für das Szenario der Update-Orchestrierung verwenden möchten, welches das Standardszenario beim Erstellen einer neuen Fleet-Ressource über die Azure CLI ist, können Sie mit dem Befehl az fleet create
eine Fleet-Ressource ohne den Hubcluster erstellen.
az fleet create --resource-group ${GROUP} --name ${FLEET} --location eastus
Ihre Ausgabe sollte in etwa dem folgendem Beispiel entsprechen:
{
"etag": "...",
"hubProfile": null,
"id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/fleet-demo/providers/Microsoft.ContainerService/fleets/fleet-demo",
"identity": {
"principalId": null,
"tenantId": null,
"type": "None",
"userAssignedIdentities": null
},
"location": "eastus",
"name": "fleet-demo",
"provisioningState": "Succeeded",
"resourceGroup": "fleet-demo",
"systemData": {
"createdAt": "2023-11-03T17:15:19.610149+00:00",
"createdBy": "<user>",
"createdByType": "User",
"lastModifiedAt": "2023-11-03T17:15:19.610149+00:00",
"lastModifiedBy": "<user>",
"lastModifiedByType": "User"
},
"tags": null,
"type": "Microsoft.ContainerService/fleets"
}
Einbinden von Mitgliedsclustern
Fleet unterstützt derzeit das Einbinden vorhandener AKS-Cluster als Mitgliedscluster.
Legen Sie die folgenden Umgebungsvariablen für Mitgliedscluster fest:
export MEMBER_NAME_1=aks-member-1 export MEMBER_CLUSTER_ID_1=/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${GROUP}/providers/Microsoft.ContainerService/managedClusters/${MEMBER_NAME_1}
Binden Sie Ihre vorhandenen AKS-Cluster mit dem Befehl
az fleet member create
in die Fleet-Ressource ein.# Join the first member cluster az fleet member create --resource-group ${GROUP} --fleet-name ${FLEET} --name ${MEMBER_NAME_1} --member-cluster-id ${MEMBER_CLUSTER_ID_1}
Ihre Ausgabe sollte in etwa dem folgendem Beispiel entsprechen:
{ "clusterResourceId": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<GROUP>/providers/Microsoft.ContainerService/managedClusters/aks-member-x", "etag": "...", "id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<GROUP>/providers/Microsoft.ContainerService/fleets/<FLEET>/members/aks-member-x", "name": "aks-member-1", "provisioningState": "Succeeded", "resourceGroup": "<GROUP>", "systemData": { "createdAt": "2022-10-04T19:04:56.455813+00:00", "createdBy": "<user>", "createdByType": "User", "lastModifiedAt": "2022-10-04T19:04:56.455813+00:00", "lastModifiedBy": "<user>", "lastModifiedByType": "User" }, "type": "Microsoft.ContainerService/fleets/members" }
Überprüfen Sie mit dem Befehl
az fleet member list
, ob die Mitgliedscluster erfolgreich in die Fleet-Ressource eingebunden wurden.az fleet member list --resource-group ${GROUP} --fleet-name ${FLEET} -o table
War der Vorgang erfolgreich, sollte Ihre Ausgabe in etwa dem folgenden Beispiel entsprechen:
ClusterResourceId Name ProvisioningState ResourceGroup ----------------------------------------------------------------------------------------------------------------------------------------------- ------------ ------------------- --------------- /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<GROUP>/providers/Microsoft.ContainerService/managedClusters/aks-member-1 aks-member-1 Succeeded <GROUP> /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<GROUP>/providers/Microsoft.ContainerService/managedClusters/aks-member-2 aks-member-2 Succeeded <GROUP> /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<GROUP>/providers/Microsoft.ContainerService/managedClusters/aks-member-3 aks-member-3 Succeeded <GROUP>
Nächste Schritte
Azure Kubernetes Service