Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: ✔️ Fleet Manager s centrálním clusterem
Pokud se prostředek Azure Kubernetes Fleet Manager (Kubernetes Fleet) vytvořil s clusterem centra, můžete ho použít k centrálnímu řízení scénářů, jako je šíření prostředků Kubernetes. V tomto článku se dozvíte, jak získat přístup k rozhraní API Kubernetes pro cluster Centra flotily Kubernetes.
Než začnete
- Pokud nemáte účet Azure, vytvořte si bezplatný účet před tím, než začnete.
- Potřebujete prostředek Kubernetes Fleet s clusterem centra a členskými clustery. Pokud ho nemáte, přečtěte si téma Vytvoření prostředku Azure Kubernetes Fleet Manageru a připojení k členským clusterům pomocí Azure CLI.
- Identita (uživatel nebo instanční objekt), kterou používáte, musí mít oprávnění Microsoft.ContainerService/fleets/listCredentials/action pro prostředek Kubernetes Fleet.
Pokud byl prostředek Azure Kubernetes Fleet Manager (Kubernetes Fleet) vytvořen s privátním hub clusterem, můžete jej použít pro centrální řízení scénářů, jako je šíření prostředků Kubernetes. V tomto článku se dozvíte, jak bezpečně přistupovat k rozhraní Kubernetes API pro privátní cluster centra Kubernetes Fleet Hub pomocí funkce tunelování nativního klienta služby Azure Bastion.
Použití služby Azure Bastion chrání cluster privátního centra před zveřejněním koncových bodů vnějšímu světu a přitom zajišťuje zabezpečený přístup. Další informace najdete v tématu Co je Azure Bastion?
Než začnete
- Pokud nemáte účet Azure, vytvořte si bezplatný účet před tím, než začnete.
- Potřebujete prostředek Kubernetes Fleet s clusterem centra a členskými clustery. Pokud ho nemáte, přečtěte si téma Vytvoření prostředku Azure Kubernetes Fleet Manageru a připojení k členským clusterům pomocí Azure CLI.
- Potřebujete virtuální síť s již nainstalovaným hostitelem Bastion.
- Ujistěte se, že jste nastavili hostitele služby Azure Bastion pro virtuální síť, ve které se nachází Správce flotily. Informace o nastavení hostitele Služby Azure Bastion najdete v tématu Rychlý start: Nasazení Bastionu s výchozím nastavením.
- Bastion musí být skladová položka Standard nebo Premium a musí mít povolenou nativní podporu klienta v nastavení konfigurace.
- Identita (uživatel nebo aplikační objekt), kterou používáte, musí mít:
- Microsoft.ContainerService/fleets/listCredentials/akce oprávnění na prostředek Kubernetes Fleet.
- Microsoft.Network/bastionHosts/read v prostředku Bastion.
- Microsoft.Network/virtualNetworks/read ve virtuální síti clusteru privátního centra.
Přístup k rozhraní Kubernetes API
Nastavte následující proměnné prostředí pro VAŠE ID předplatného, skupinu prostředků a prostředek Kubernetes Fleet:
export SUBSCRIPTION_ID=<subscription-id> export GROUP=<resource-group-name> export FLEET=<fleet-name>Pomocí příkazu nastavte výchozí předplatné
az account setAzure:az account set --subscription ${SUBSCRIPTION_ID}Pomocí příkazu získejte soubor kubeconfig clusteru
az fleet get-credentialscentra Kubernetes Fleet Hub:az fleet get-credentials --resource-group ${GROUP} --name ${FLEET}Výstup by měl vypadat podobně jako v následujícím příkladu:
Merged "hub" as current context in /home/fleet/.kube/configNastavte následující proměnnou prostředí pro
FLEET_IDhodnotu prostředku Kubernetes Fleet clusteru centra:export FLEET_ID=/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${GROUP}/providers/Microsoft.ContainerService/fleets/${FLEET}Pomocí následujících příkazů autorizujete svou identitu pro přístup ke clusteru centra Kubernetes Fleet Hub.
Pro proměnnou
ROLEprostředí můžete jako hodnotu použít jednu z následujících čtyř předdefinovaných definic rolí:- Čtenář RBAC v Azure Kubernetes Fleet Manageru
- Azure Kubernetes Fleet Manager – zapisovač RBAC
- Správce RBAC v Azure Kubernetes Fleet Manageru
- Správce clusteru RBAC v Azure Kubernetes Fleet Manageru
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}Výstup by měl vypadat podobně jako v následujícím příkladu:
{ "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" }
Pomocí příkazu ověřte, že máte přístup k serveru
kubectl get memberclustersrozhraní API:kubectl get memberclustersPokud je příkaz úspěšný, měl by výstup vypadat podobně jako v následujícím příkladu:
NAME JOINED AGE aks-member-1 True 2m aks-member-2 True 2m aks-member-3 True 2m
Otevřete tunel do centrálního clusteru Private Fleet Manageru:
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>V novém okně terminálu se připojte k rozbočovacímu clusteru přes bastionový tunel a ověřte přístup k API serveru.
kubectl get memberclusters --server=https://localhost:<LocalMachinePort>Pokud je příkaz úspěšný, měl by výstup vypadat podobně jako v následujícím příkladu:
NAME JOINED AGE aks-member-1 True 2m aks-member-2 True 2m aks-member-3 True 2m
Související obsah
Azure Kubernetes Service