Partager via


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.

Accéder à l’API Kubernetes du cluster Hub Fleet

  1. 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>
    
  2. Définissez l’abonnement Azure par défaut à utiliser à l’aide de la commande az account set.

    az account set --subscription ${SUBSCRIPTION_ID}
    
  3. 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
    
  4. 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}
    
  5. 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"
    }
    
  6. 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