Partager via


Mettre à niveau le type de cluster hub pour une ressource Azure Kubernetes Fleet Manager

Dans cet article, vous allez apprendre à mettre à niveau une ressource Azure Kubernetes Fleet Manager (Kubernetes Fleet) sans cluster hub en ressource Kubernetes Fleet avec cluster hub. Lorsqu’une ressource Kubernetes Fleet est créée sans cluster hub, aucun cluster Azure Kubernetes Service (AKS) central n’est créé pour la ressource Kubernetes Fleet. Lorsqu’une ressource Kubernetes Fleet est créée avec un cluster hub, un cluster AKS central et managé est créé pour autoriser des scénarios tels que l’orchestration de charge de travail et l’équilibrage de charge de couche 4.

Pour plus d’informations, consultez Choix d’une option Azure Kubernetes Fleet Manager.

Conditions préalables et limitations

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer.

Important

Les ressources Kubernetes Fleet sans cluster hub peuvent être mises à niveau et changées en ressources Kubernetes Fleet avec cluster hub. En revanche, une ressource Kubernetes Fleet déjà dotée d’un cluster hub ne peut pas être rétrogradée en ressource Kubernetes Fleet sans cluster hub. Toutes les options de configuration et les paramètres associés à la ressource Kubernetes Fleet avec cluster hub sont immuables et ne peuvent plus être modifiés une fois qu’elle a été créée ou mise à niveau. Une ressource Kubernetes Fleet sans cluster hub ne peut être changée en ressource avec cluster hub qu’à travers Azure CLI. Pour l’heure, il n’existe pas d’expérience équivalente sur le portail Azure.

Configuration initiale

Pour commencer, créez un groupe de ressources et une ressource Kubernetes Fleet sans cluster hub, puis joignez votre cluster AKS existant en tant que membre. Vous devez répéter la commande az fleet member create pour chaque cluster membre que vous souhaitez associer à la ressource de flotte.

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

Mettre à niveau le type de cluster hub pour la ressource Azure Kubernetes Fleet Manager

Pour mettre à niveau le type de cluster hub pour la ressource Kubernetes Fleet, utilisez la commande az fleet create avec l’indicateur --enable-hub défini. Veillez à inclure les autres options de configuration importantes, car la ressource de flotte devient immuable une fois cette opération terminée.

# 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 

Valider la mise à niveau

Après avoir exécuté la commande az fleet create pour mettre à niveau la ressource de flotte, vérifiez que la mise à niveau a abouti en examinant la sortie. provisioningState doit indiquer Succeeded et le champ hubProfile doit être présent. Voici un exemple de sortie :

{
  ...
  "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"
  ...
}

Rejoindre des clusters membres

Pour rejoindre des clusters membres à la ressource de flotte nouvellement mise à niveau, utilisez la commande az fleet member reconcile pour chaque cluster membre.

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

Remarque

Les clusters AKS que vous joignez à la ressource de flotte pour la première fois après la mise à niveau n’ont pas besoin d’être rapprochés à l’aide de az fleet member reconcile.

Vérifier que les clusters membres ont bien été joints

Pour chaque cluster membre que vous rejoignez à la flotte nouvellement mise à niveau, examinez la sortie et vérifiez que provisioningState indique Succeeded. Par exemple :

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

Vérifier le fonctionnement

Vous devez accéder à l'API Kubernetes du cluster hub. Si vous n’y avez pas accès, consultez Accéder à l’API Kubernetes du cluster hub Fleet.

Pour vérifier que votre ressource Kubernetes Fleet nouvellement mise à niveau fonctionne correctement et que les clusters membres ont bien été joints, assurez-vous que vous pouvez accéder au serveur d’API du cluster hub à l’aide de la commande kubectl get memberclusters.

Si c’est le cas, vous devez obtenir un résultat semblable à l’exemple de sortie suivant :

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

Nettoyer les ressources

Une fois que vous avez terminé, vous pouvez supprimer la ressource de flotte et les ressources associées en supprimant le groupe de ressources. Gardez à l’esprit que cette opération n’a pas pour effet de supprimer vos clusters AKS si ceux-ci résident dans un autre groupe de ressources.

az group delete -n $RG

Étapes suivantes

Maintenant que votre ressource Kubernetes Fleet a été mise à niveau pour disposer d’un cluster hub, vous pouvez bénéficier de fonctionnalités auxquelles vous n’aviez pas accès auparavant. par exemple :