Toegang tot de Kubernetes-API voor een Azure Kubernetes Fleet Manager-hubcluster
Als uw Azure Kubernetes Fleet Manager-resource (Kubernetes Fleet) is gemaakt met een hubcluster, kunt u deze gebruiken om centraal scenario's te beheren, zoals het doorgeven van Kubernetes-resources. In dit artikel leert u hoe u toegang krijgt tot de Kubernetes-API voor een Kubernetes Fleet-hubcluster.
Vereisten
- Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint.
- U hebt een Kubernetes Fleet-resource met een hubcluster en lidclusters nodig. Als u nog geen resource hebt, raadpleegt u Een Azure Kubernetes Fleet Manager-resource maken en lidclusters koppelen met behulp van de Azure CLI.
- De identiteit (gebruiker of service-principal) die u gebruikt, moet beschikken over microsoft.ContainerService/fleets/listCredentials/action-machtigingen voor de Kubernetes Fleet-resource.
Toegang tot de Kubernetes-API
Stel de volgende omgevingsvariabelen in voor uw abonnements-id, resourcegroep en Kubernetes Fleet-resource:
export SUBSCRIPTION_ID=<subscription-id> export GROUP=<resource-group-name> export FLEET=<fleet-name>
Stel het standaardAbonnement van Azure in met behulp van de
az account set
opdracht:az account set --subscription ${SUBSCRIPTION_ID}
Haal het kubeconfig-bestand van het Kubernetes Fleet-hubcluster op met behulp van de
az fleet get-credentials
opdracht:az fleet get-credentials --resource-group ${GROUP} --name ${FLEET}
Uw uitvoer moet er ongeveer uitzien als de uitvoer in het volgende voorbeeld:
Merged "hub" as current context in /home/fleet/.kube/config
Stel de volgende omgevingsvariabele in voor de waarde van de
FLEET_ID
Kubernetes Fleet-resource van het hubcluster:export FLEET_ID=/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${GROUP}/providers/Microsoft.ContainerService/fleets/${FLEET}
Geef uw identiteit toegang tot het Kubernetes Fleet-hubcluster met behulp van de volgende opdrachten.
Voor de
ROLE
omgevingsvariabele kunt u een van de volgende vier ingebouwde roldefinities gebruiken als de waarde:- Azure Kubernetes Fleet Manager RBAC Reader
- Azure Kubernetes Fleet Manager RBAC Writer
- Azure Kubernetes Fleet Manager RBAC-beheerder
- Azure Kubernetes Fleet Manager RBAC-clusterbeheerder
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}
Uw uitvoer moet er ongeveer uitzien als de uitvoer in het volgende voorbeeld:
{ "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" }
Controleer of u toegang hebt tot de API-server met behulp van de
kubectl get memberclusters
opdracht:kubectl get memberclusters
Als de opdracht is geslaagd, moet de uitvoer er ongeveer uitzien als in het volgende voorbeeld:
NAME JOINED AGE aks-member-1 True 2m aks-member-2 True 2m aks-member-3 True 2m
Gerelateerde inhoud
Azure Kubernetes Service