Accedere all'API Kubernetes per un cluster hub di Azure Kubernetes Fleet Manager
Se la risorsa Di Azure Kubernetes Fleet Manager (Kubernetes Fleet) è stata creata con un cluster hub, è possibile usarla per controllare in modo centralizzato scenari come la propagazione delle risorse Kubernetes. Questo articolo illustra come accedere all'API Kubernetes per un cluster hub Kubernetes Fleet.
Prerequisiti
- Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.
- È necessaria una risorsa Kubernetes Fleet con un cluster hub e cluster membri. Se non è disponibile, vedere Creare una risorsa di Azure Kubernetes Fleet Manager e aggiungere cluster membri usando l'interfaccia della riga di comando di Azure.
- L'identità (utente o entità servizio) usata deve avere le autorizzazioni Microsoft.ContainerService/fleets/listCredentials/action per la risorsa Flotta Kubernetes.
Accedere all'API Kubernetes
Impostare le variabili di ambiente seguenti per l'ID sottoscrizione, il gruppo di risorse e la risorsa Kubernetes Fleet:
export SUBSCRIPTION_ID=<subscription-id> export GROUP=<resource-group-name> export FLEET=<fleet-name>
Impostare la sottoscrizione di Azure predefinita usando il
az account set
comando :az account set --subscription ${SUBSCRIPTION_ID}
Ottenere il file kubeconfig del cluster hub Kubernetes Fleet usando il
az fleet get-credentials
comando :az fleet get-credentials --resource-group ${GROUP} --name ${FLEET}
L'output dovrebbe essere simile all'esempio seguente:
Merged "hub" as current context in /home/fleet/.kube/config
Impostare la variabile di ambiente seguente per il
FLEET_ID
valore della risorsa Kubernetes Fleet del cluster hub:export FLEET_ID=/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${GROUP}/providers/Microsoft.ContainerService/fleets/${FLEET}
Autorizzare l'identità ad accedere al cluster hub Kubernetes Fleet usando i comandi seguenti.
Per la
ROLE
variabile di ambiente, è possibile usare una delle quattro definizioni di ruolo predefinite seguenti come valore:- Reader di Controllo degli accessi in base al ruolo di Gestione flotta Kubernetes di Azure
- Writer di Controllo degli accessi in base al ruolo di Gestione flotta Kubernetes di Azure
- Admin di Controllo degli accessi in base al ruolo di Gestione flotta Kubernetes di Azure
- Admin del cluster di Controllo degli accessi in base al ruolo di Gestione flotta Kubernetes di Azure
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}
L'output dovrebbe essere simile all'esempio seguente:
{ "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" }
Verificare di poter accedere al server API usando il
kubectl get memberclusters
comando :kubectl get memberclusters
Se il comando ha esito positivo, l'output dovrebbe essere simile all'esempio seguente:
NAME JOINED AGE aks-member-1 True 2m aks-member-2 True 2m aks-member-3 True 2m
Contenuto correlato
Azure Kubernetes Service