Démarrage rapide : créer une ressource Azure Kubernetes Fleet Manager et joindre des clusters membres en utilisant l’interface Azure CLI
Prise en main d’Azure Kubernetes Fleet Manager (Fleet) à l’aide d’Azure CLI pour créer une ressource Fleet et connecter ultérieurement des clusters Azure Kubernetes Service (AKS) en tant que clusters membres.
Prérequis
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer.
Lisez la vue d’ensemble des concepts de cette fonctionnalité, qui fournit une explication des flottes et des groupes de membres mentionnés dans ce document.
Lisez la vue d’ensemble conceptuelle des types de flotte, qui fournit une comparaison des différentes options de configuration de la flotte.
Compte Azure avec un abonnement actif. Créez un compte gratuitement.
Une identité (utilisateur ou principal de service) qui peut être utilisée pour se connecter à Azure CLI. Cette identité doit disposer des autorisations suivantes sur les types de ressources Fleet et AKS pour effectuer les étapes répertoriées dans ce démarrage rapide :
- 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
Installez ou mettez à niveau l’interface Azure CLI vers une version
2.53.1
ou ultérieure.Installez l’extension Azure CLI de flotte en utilisant la commande
az extension add
et vérifiez que votre version est au moins1.0.0
.az extension add --name fleet
Définissez les variables d’environnement suivantes :
export SUBSCRIPTION_ID=<subscription_id> export GROUP=<your_resource_group_name> export FLEET=<your_fleet_name>
Installez
kubectl
etkubelogin
en utilisant la commandeaz aks install-cli
.az aks install-cli
Les clusters AKS que vous souhaitez joindre en tant que clusters membres à la ressource Flotte doivent se trouver dans les versions prises en charge d’AKS. En savoir plus sur la stratégie de prise en charge des versions AKS ici.
Créer un groupe de ressources
Un groupe de ressources Azure est un groupe logique dans lequel des ressources Azure sont déployées et gérées. Lorsque vous créez un groupe de ressources, vous êtes invité à spécifier un emplacement. Cet emplacement est l'emplacement de stockage des métadonnées de votre groupe de ressources et l'endroit où vos ressources s'exécutent dans Azure si vous ne spécifiez pas un autre emplacement lors de la création de la ressource.
Définissez l’abonnement Azure et créez un groupe de ressources en tirant parti de la commande az group create
.
az account set -s ${SUBSCRIPTION_ID}
az group create --name ${GROUP} --location eastus
L’exemple de sortie suivant montre la création réussie du groupe de ressources :
{
"id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/fleet-demo",
"location": "eastus",
"managedBy": null,
"name": "fleet-demo",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null,
"type": "Microsoft.Resources/resourceGroups"
}
Créer une ressource Fleet
Vous pouvez créer une ressource Flotte pour regrouper ultérieurement vos clusters AKS en tant que clusters membres. Lors de la création via Azure CLI, par défaut, cette ressource active le regroupement de clusters membres et met à jour l’orchestration. Si le hub Flotte est activé, d’autres fonctionnalités d’évaluation sont activées, telles que la propagation d'objets Kubernetes vers les clusters membres et l'équilibrage de la charge des services L4 sur plusieurs clusters membres. Pour plus d’informations, consultez la vue d’ensemble conceptuelle des types de flotte, qui fournit une comparaison des différentes configurations de flotte.
Important
Une fois qu’une ressource Kubernetes Fleet a été créée, il est possible de mettre à niveau une ressource Kubernetes Fleet sans cluster hub vers un avec un cluster hub. Pour les ressources Kubernetes Fleet avec un cluster hub, une fois que le cluster privé ou public a été sélectionné, il ne peut pas être modifié.
Si vous voulez utiliser Fleet uniquement pour l’orchestration des mises à jour qui est l’expérience par défaut lors d’une création de ressource Fleet via Azure CLI, vous pouvez créer une ressource Fleet sans cluster hub en utilisant la commande az fleet create
.
az fleet create --resource-group ${GROUP} --name ${FLEET} --location eastus
Vous devez obtenir un résultat semblable à l’exemple de sortie qui suit :
{
"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"
}
Joindre des clusters membres
Fleet prend actuellement en charge la jointure de clusters AKS existants en tant que clusters membres.
Définissez les variables d’environnement suivantes pour les clusters membres :
export MEMBER_NAME_1=aks-member-1 export MEMBER_CLUSTER_ID_1=/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${GROUP}/providers/Microsoft.ContainerService/managedClusters/${MEMBER_NAME_1}
Joignez vos clusters AKS existants à la ressource Flotte en utilisant la commande
az fleet member create
.# 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}
Vous devez obtenir un résultat semblable à l’exemple de sortie qui suit :
{ "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" }
Vérifiez que les clusters membres ont correctement joint la ressource Fleet à l’aide de la commande
az fleet member list
.az fleet member list --resource-group ${GROUP} --fleet-name ${FLEET} -o table
Si c’est le cas, vous devez obtenir un résultat semblable à l’exemple de sortie suivant :
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>
Étapes suivantes
Azure Kubernetes Service