Få åtkomst till Kubernetes API för ett Azure Kubernetes Fleet Manager-hubbkluster
Om din Azure Kubernetes Fleet Manager-resurs (Kubernetes Fleet) har skapats med ett hubbkluster kan du använda den för att centralt styra scenarier som Kubernetes-resursspridning. I den här artikeln lär du dig att komma åt Kubernetes API för ett Kubernetes Fleet-hubbkluster.
Förutsättningar
- Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.
- Du behöver en Kubernetes Fleet-resurs med ett hubbkluster och medlemskluster. Om du inte har en kan du läsa Skapa en Azure Kubernetes Fleet Manager-resurs och ansluta till medlemskluster med hjälp av Azure CLI.
- Den identitet (användaren eller tjänstens huvudnamn) som du använder måste ha Behörigheter för Microsoft.ContainerService/fleets/listCredentials/action på Kubernetes Fleet-resursen.
Få åtkomst till Kubernetes API
Ange följande miljövariabler för ditt prenumerations-ID, resursgrupp och Kubernetes Fleet-resurs:
export SUBSCRIPTION_ID=<subscription-id> export GROUP=<resource-group-name> export FLEET=<fleet-name>
Ange standardprenumerationen
az account set
för Azure med hjälp av kommandot:az account set --subscription ${SUBSCRIPTION_ID}
Hämta kubeconfig-filen för Kubernetes Fleet Hub-klustret med hjälp
az fleet get-credentials
av kommandot:az fleet get-credentials --resource-group ${GROUP} --name ${FLEET}
Resultatet bör se ut ungefär så här:
Merged "hub" as current context in /home/fleet/.kube/config
Ange följande miljövariabel för värdet för
FLEET_ID
hubbklustrets Kubernetes Fleet-resurs:export FLEET_ID=/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${GROUP}/providers/Microsoft.ContainerService/fleets/${FLEET}
Ge din identitet åtkomst till Kubernetes Fleet Hub-klustret med hjälp av följande kommandon.
ROLE
För miljövariabeln kan du använda någon av följande fyra inbyggda rolldefinitioner som värde:- RBAC-läsare för Azure Kubernetes Fleet Manager
- Azure Kubernetes Fleet Manager RBAC Writer
- RBAC-administratör för Azure Kubernetes Fleet Manager
- Azure Kubernetes Fleet Manager RBAC-klusteradministratör
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}
Resultatet bör se ut ungefär så här:
{ "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" }
Kontrollera att du kan komma åt API-servern med hjälp
kubectl get memberclusters
av kommandot :kubectl get memberclusters
Om kommandot lyckas bör dina utdata se ut ungefär som i följande exempel:
NAME JOINED AGE aks-member-1 True 2m aks-member-2 True 2m aks-member-3 True 2m
Relaterat innehåll
Azure Kubernetes Service