Accéder à l’API Kubernetes pour un cluster hub Azure Kubernetes Fleet Manager
Si votre ressource Azure Kubernetes Fleet Manager (Kubernetes Fleet) a été créée avec un cluster hub, vous pouvez l’utiliser pour contrôler de manière centralisée des scénarios tels que la propagation des ressources Kubernetes. Dans cet article, vous allez apprendre à accéder à l’API Kubernetes pour un cluster hub Kubernetes Fleet.
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 Kubernetes 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 joindre des clusters membres à l’aide d’Azure CLI.
- L’identité (utilisateur ou principal de service) que vous utilisez doit disposer des autorisations Microsoft.ContainerService/fleets/listCredentials/action sur la ressource Kubernetes Fleet.
Accédez à l’API Kubernetes
Définissez les variables d'environnement suivantes pour votre ID d'abonnement, votre groupe de ressources et votre ressource Kubernetes Fleet :
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 du cluster hub Kubernetes Fleet à 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 qui suit :
Merged "hub" as current context in /home/fleet/.kube/config
Définissez la variable d’environnement suivante pour la valeur
FLEET_ID
de la ressource Kubernetes Fleet du cluster hub :export FLEET_ID=/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${GROUP}/providers/Microsoft.ContainerService/fleets/${FLEET}
Autorisez votre identité à accéder au cluster hub Kubernetes Fleet à 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 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 la commande réussit, votre sortie doit ressembler à l’exemple suivant :
NAME JOINED AGE aks-member-1 True 2m aks-member-2 True 2m aks-member-3 True 2m
Contenu connexe
Azure Kubernetes Service