Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wenn Ihre Azure Kubernetes Fleet Manager (Kubernetes Fleet)-Ressource mit einem Hub-Cluster erstellt wurde, können Sie damit Szenarien wie die Verbreitung von Kubernetes-Ressourcen zentral steuern. In diesem Artikel erfahren Sie, wie Sie auf die Kubernetes-API für einen Kubernetes Fleet Hub-Cluster zugreifen können.
Voraussetzungen
- Wenn Sie nicht über ein Azure-Konto verfügen, erstellen Sie ein kostenloses Konto , bevor Sie beginnen.
- Sie benötigen eine Kubernetes Fleet-Ressource mit einem Hub-Cluster und Mitgliedsclustern. Wenn Sie noch keine haben, lesen Sie bitte Erstellen einer Azure Kubernetes Fleet Manager-Ressource und Beitritt zu Clustern mit Hilfe der Azure CLI.
- Die Identität (Benutzer oder Dienstprinzipal), die Sie verwenden, muss über die Berechtigung Microsoft.ContainerService/fleets/listCredentials/action für die Kubernetes Fleet-Ressource verfügen.
Zugriff auf die Kubernetes-API
Legen Sie die folgenden Umgebungsvariablen für Ihre Abonnement-ID, Ressourcengruppe und Kubernetes Fleet-Ressource fest:
export SUBSCRIPTION_ID=<subscription-id> export GROUP=<resource-group-name> export FLEET=<fleet-name>
Legen Sie mit dem Befehl
az account set
das Azure-Abonnement fest, das standardmäßig verwendet werden soll:az account set --subscription ${SUBSCRIPTION_ID}
Rufen Sie die kubeconfig-Datei des Kubernetes Fleet Hub-Clusters mit dem Befehl
az fleet get-credentials
ab:az fleet get-credentials --resource-group ${GROUP} --name ${FLEET}
Ihre Ausgabe sollte etwa folgendem Beispiel entsprechen:
Merged "hub" as current context in /home/fleet/.kube/config
Legen Sie die folgende Umgebungsvariable für den
FLEET_ID
-Wert der Kubernetes Fleet-Ressource des Hub-Clusters fest:export FLEET_ID=/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${GROUP}/providers/Microsoft.ContainerService/fleets/${FLEET}
Autorisieren Sie Ihre Identität für den Zugriff auf den Kubernetes Fleet Hub-Cluster mit den folgenden Befehlen.
Für die Umgebungsvariable
ROLE
können Sie eine der folgenden vier integrierten Rollendefinitionen als Wert verwenden:- RBAC-Reader von Azure Kubernetes Fleet Manager
- RBAC-Writer von Azure Kubernetes Fleet Manager
- RBAC-Administrator von Azure Kubernetes Fleet Manager
- RBAC-Clusteradministrator von Azure Kubernetes Fleet Manager
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}
Ihre Ausgabe sollte etwa folgendem Beispiel entsprechen:
{ "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" }
Überprüfen Sie mit dem Befehl
kubectl get memberclusters
, ob Sie auf den API-Server zugreifen können.kubectl get memberclusters
War der Befehl erfolgreich, sollte Ihre Ausgabe in etwa dem folgenden Beispiel entsprechen:
NAME JOINED AGE aks-member-1 True 2m aks-member-2 True 2m aks-member-3 True 2m
Zugehöriger Inhalt
Azure Kubernetes Service