Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: ✔️ Fleet Manager med 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.
Innan du börjar
- Om du inte har något Azure-konto skapar du ett kostnadsfritt 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.
 
Om din Azure Kubernetes Fleet Manager-resurs (Kubernetes Fleet) skapades med ett privat hubbkluster kan du använda den för att centralt styra scenarier som Kubernetes-resursspridning. I den här artikeln får du lära dig hur du får åtkomst till Kubernetes API för ett privat Kubernetes Fleet-hubbkluster på ett säkert sätt med hjälp av Azure Bastions inbyggda klienttunnelfunktion.
Genom att använda Azure Bastion skyddas ditt privata hubbkluster från att exponera slutpunkter till omvärlden, samtidigt som det ger säker åtkomst. Mer information finns i Vad är Azure Bastion?
Innan du börjar
- Om du inte har något Azure-konto skapar du ett kostnadsfritt 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.
 - Du behöver ett virtuellt nätverk med en Bastionvärd redan installerad.
- Kontrollera att du har konfigurerat en Azure Bastion-värd för det virtuella nätverk där Fleet Manager finns. Information om hur du konfigurerar en Azure Bastion-värd finns i Snabbstart: Distribuera Bastion med standardinställningar.
 - Bastion måste vara Standard eller Premium SKU och ha inbyggt klientstöd aktiverat under konfigurationsinställningar.
 
 - 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å resursen Kubernetes Fleet.
 - Microsoft.Network/bastionHosts/read på Bastion-resursen.
 - Microsoft.Network/virtualNetworks/read på det virtuella nätverket i det privata hubbklustret.
 
 
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 setfö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-credentialsav 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/configAnge följande miljövariabel för värdet för
FLEET_IDhubbklustrets 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.
ROLEFö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-skribent
 - 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 memberclustersav kommandot :kubectl get memberclustersOm 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
Öppna tunneln till din Private Fleet Manager-hubbkluster:
export HUB_CLUSTER_ID=<hub-cluster-id-in-FL_resourceGroup> az network bastion tunnel --name <BastionName> --resource-group ${GROUP} --target-resource-id ${HUB_CLUSTER_ID}$ --resource-port 443 --port <LocalMachinePort>I ett nytt terminalfönster ansluter du till hubbklustret via Bastion-tunneln och verifierar API-serveråtkomsten:
kubectl get memberclusters --server=https://localhost:<LocalMachinePort>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