Accéder à l’API Kubernetes du cluster Hub Fleet
Si votre ressource Azure Kubernetes Fleet Manager a été créée avec le cluster hub activé, elle peut être utilisée pour contrôler de manière centralisée des scénarios tels que la propagation de ressources Kubernetes. Dans cet article, vous allez apprendre à accéder à l’API Kubernetes du cluster hub géré par la ressource de flotte.
Prérequis
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer.
- Vous avez besoin d'une ressource Fleet avec un cluster hub et des clusters membres. Si vous n’en avez pas, consultez Créer une ressource Azure Kubernetes Fleet Manager et rejoindre des clusters membres à l’aide d’Azure CLI.
- L’identité (utilisateur ou principal de service) que vous utilisez doit avoir Microsoft.ContainerService/fleets/listCredentials/action sur la ressource de flotte.
Accéder à l’API Kubernetes du cluster Hub Fleet
Définissez les variables d'environnement suivantes pour votre ID d'abonnement, votre groupe de ressources et votre ressource de flotte :
export SUBSCRIPTION_ID=<subscription-id> export GROUP=<resource-group-name> export FLEET=<fleet-name>
Définissez l’abonnement Azure par défaut à utiliser à l’aide de la commande
az account set
.az account set --subscription ${SUBSCRIPTION_ID}
Obtenez le fichier kubeconfig de la ressource de flotte du cluster hub à l’aide de la commande
az fleet get-credentials
.az fleet get-credentials --resource-group ${GROUP} --name ${FLEET}
Vous devez obtenir un résultat semblable à l’exemple de sortie qui suit :
Merged "hub" as current context in /home/fleet/.kube/config
Définissez la variable d’environnement suivante pour
id
de la ressource de flotte du cluster hub :export FLEET_ID=/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${GROUP}/providers/Microsoft.ContainerService/fleets/${FLEET}
Autorisez votre identité au serveur d’API Kubernetes de la ressource de flotte du cluster hub à l’aide des commandes suivantes :
Pour la variable d’environnement
ROLE
, vous pouvez utiliser l’une des quatre définitions de rôle intégrées suivantes comme valeur :- Azure Kubernetes Fleet Manager RBAC Reader
- Azure Kubernetes Fleet Manager RBAC Writer
- Azure Kubernetes Fleet Manager RBAC Admin
- Azure Kubernetes Fleet Manager RBAC Cluster Admin
export IDENTITY=$(az ad signed-in-user show --query "id" --output tsv) export ROLE="Azure Kubernetes Fleet Manager RBAC Cluster Admin" az role assignment create --role "${ROLE}" --assignee ${IDENTITY} --scope ${FLEET_ID}
Vous devez obtenir un résultat semblable à l’exemple de sortie qui suit :
{ "canDelegate": null, "condition": null, "conditionVersion": null, "description": null, "id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<GROUP>/providers/Microsoft.ContainerService/fleets/<FLEET>/providers/Microsoft.Authorization/roleAssignments/<assignment>", "name": "<name>", "principalId": "<id>", "principalType": "User", "resourceGroup": "<GROUP>", "roleDefinitionId": "/subscriptions/<SUBSCRIPTION_ID>/providers/Microsoft.Authorization/roleDefinitions/18ab4d3d-a1bf-4477-8ad9-8359bc988f69", "scope": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<GROUP>/providers/Microsoft.ContainerService/fleets/<FLEET>", "type": "Microsoft.Authorization/roleAssignments" }
Vérifiez que vous pouvez accéder au serveur d’API à l’aide de la commande
kubectl get memberclusters
.kubectl get memberclusters
Si c’est le cas, vous devez obtenir un résultat semblable à l’exemple de sortie qui suit :
NAME JOINED AGE aks-member-1 True 2m aks-member-2 True 2m aks-member-3 True 2m
Étapes suivantes
Azure Kubernetes Service