Freigeben über


Upgrade des Hubclustertyps für Azure Kubernetes Fleet Manager-Ressourcen

In diesem Artikel erfahren Sie, wie Sie eine Azure Kubernetes Fleet Manager -Ressource (Kubernetes Fleet) ohne Hubcluster auf eine Kubernetes Fleet-Ressource, die über einen Hubcluster verfügt, aktualisieren. Bei der Erstellung einer Kubernetes Fleet-Ressource ohne Hubcluster wird kein zentraler Azure Kubernetes Service (AKS)-Cluster für die Kubernetes Fleet-Ressource erstellt. Bei der Erstellung einer Kubernetes Fleet-Ressource mit einem Hubcluster wird ein zentraler und verwalteter AKS-Cluster erstellt, um Szenarien wie Workload-Orchestrierung und Layer-4-Lastenausgleich zu ermöglichen.

Weitere Informationen finden Sie unter Auswählen einer Azure Kubernetes Fleet Manager-Option.

Voraussetzungen und Einschränkungen

Wenn Sie kein Azure-Abonnement haben, erstellen Sie ein kostenloses Azure-Konto, bevor Sie beginnen.

Wichtig

Kubernetes Fleet-Ressourcen ohne Hubcluster können auf eine Kubernetes Fleet-Ressource mit einem Hubcluster aktualisiert werden. Eine Kubernetes Fleet-Ressource, die bereits über einen Hubcluster verfügt, kann jedoch nicht zu einer Kubernetes Fleet-Ressource ohne Hubcluster herabgestuft werden. Alle der Kubernetes Fleet-Ressource mit einem Hubcluster zugeordneten Konfigurationsoptionen und -einstellungen sind unveränderlich und können nach der Erstellung oder dem Upgrade nicht mehr geändert werden. Das Upgrade von einer Kubernetes Fleet-Ressource ohne Hubcluster zu einer Ressource mit einem Hubcluster kann nur über die Azure CLI erfolgen. Derzeit gibt es keine entsprechende Option im Azure-Portal.

Erste Einrichtung

Erstellen Sie zunächst eine Ressourcengruppe und eine Kubernetes Fleet-Ressource ohne Hubcluster, und verknüpfen Sie diese als Mitglied mit Ihrem vorhandenen AKS-Cluster. Sie müssen den Befehl az fleet member create für jeden einzelnen Mitgliedscluster wiederholen, den Sie der Fleet-Ressource zuordnen möchten.

RG=myResourceGroup
LOCATION=eastus
FLEET=myKubernetesFleet
FLEET_MEMBER=<name-identifying-member-cluster>
SUBSCRIPTION_ID=<your-subscription-id>
CLUSTER=<your-aks-cluster-name>

# Create resource group
az group create -n $RG -l $LOCATION

# Create a hubless fleet resource 
az fleet create -g $RG -n $FLEET

# Join member cluster to hubless fleet resource
az fleet member create --name $FLEET_MEMBER --fleet-name $FLEET --resource-group $RG --member-cluster-id /subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RG/providers/Microsoft.ContainerService/managedClusters/$CLUSTER

Upgrade des Hubclustertyps für die Kubernetes Fleet-Ressource

Um den Hubclustertyp für die Kubernetes Fleet-Ressource zu aktualisieren, verwenden Sie den Befehl az fleet create mit gesetztem --enable-hub-Flag. Achten Sie darauf, alle anderen relevanten Konfigurationsoptionen anzugeben, da die Fleet-Ressource nach Abschluss dieses Vorgangs unveränderlich wird.

# Upgrade the Kubernetes fleet resource without a hub cluster to one with a hub cluster
az fleet create --name $FLEET --resource-group $RG --enable-hub 

Überprüfen des Upgrades

Überprüfen Sie nach dem Ausführen des Befehls az fleet create zum Aktualisieren der Fleet-Ressource, ob das Upgrade erfolgreich war, indem Sie die Ausgabe durchsehen. Der Wert von provisioningState sollte Succeeded lauten, und das Feld hubProfile sollte vorhanden sein. Sehen Sie sich zum Beispiel folgende Ausgabe an:

{
  ...
  "hubProfile": {
    "agentProfile": {
      "subnetId": null,
      "vmSize": null
    },
    "apiServerAccessProfile": {
      "enablePrivateCluster": false,
      "enableVnetIntegration": false,
      "subnetId": null
    },
    "dnsPrefix": "contoso-user-xxxx-xxxxxxx",
    "fqdn": "contoso-user-flth-xxxxxx-xxxxxxxx.hcp.eastus.azmk8s.io",
    "kubernetesVersion": "1.28.5",
    "portalFqdn": "contoso-user-flth-xxxxxxx-xxxxxxxx.portal.hcp.eastus.azmk8s.io"
  },
  "provisioningState": "Succeeded"
  ...
}

Erneutes Verknüpfen von Mitgliedsclustern

Um die Mitgliedscluster erneut mit der frisch aktualisierten Fleet-Ressource zu verknüpfen, verwenden Sie den Befehl az fleet member reconcile für jeden einzelnen Mitgliedscluster.

az fleet member reconcile -g $RG -f $FLEET -n $FLEET_MEMBER

Hinweis

Alle AKS-Cluster, die Sie zum ersten Mal mit der Fleet-Ressource verknüpfen, nachdem das Upgrade stattgefunden hat, müssen nicht mithilfe von az fleet member reconcile abgestimmt werden.

Überprüfen, ob Mitgliedscluster erfolgreich verknüpft worden sind

Zeigen Sie für jeden Mitgliedscluster, den Sie erneut mit der neu aktualisierten Fleet-Ressource verknüpfen, die Ausgabe an, und überprüfen Sie, ob provisioningState nun Succeeded lautet. Zum Beispiel:

{
  ...
  "provisioningState": "Succeeded"
  ...
}

Überprüfen der Funktionalität

Sie benötigen Zugriff auf die Kubernetes-API des Hubclusters. Wenn Sie keinen Zugriff haben, lesen Sie Zugreifen auf die Kubernetes-API des Fleet-Hubclusters.

Um zu überprüfen, ob Ihre neu aktualisierte Kubernetes Fleet-Ressource ordnungsgemäß funktioniert und dass die Mitgliedscluster erfolgreich verknüpft worden sind, vergewissern Sie sich, dass Sie mithilfe des Befehls kubectl get memberclusters auf den API-Server des Hubclusters zugreifen können.

War der Vorgang erfolgreich, sollte Ihre Ausgabe in etwa dem folgenden Beispiel entsprechen:

NAME           JOINED   AGE
aks-member-1   True     2m
aks-member-2   True     2m
aks-member-3   True     2m

Bereinigen von Ressourcen

Sobald Sie damit fertig sind, können Sie die Fleet-Ressource und zugehörige Ressourcen entfernen, indem Sie die Ressourcengruppe löschen. Beachten Sie, dass Ihre AKS-Cluster mit diesem Vorgang nicht entfernt werden, wenn sie sich in einer anderen Ressourcengruppe befinden.

az group delete -n $RG

Nächste Schritte

Nachdem Ihre Kubernetes Fleet-Ressource auf eine Ressource mit Hubcluster aktualisiert wurde, können Sie die Features nutzen, die zuvor für Sie nicht verfügbar waren. Siehe hierzu z.B.: