Acessar a API do Kubernetes do cluster de hub de frota
Se o seu recurso Gerenciador de Frota de Kubernetes do Azure foi criado com o cluster do hub ativado, então pode ser usado para controlar centralmente cenários como a propagação de recursos Kubernetes. Nesse artigo, você aprende como acessar a API Kubernetes do cluster de hub gerenciado pelo recurso Frota.
Pré-requisitos
Caso você não tenha uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar.
- Você precisa de um recurso Frota com um cluster de hub e clusters de membros. Se você não tiver um, confira Criar um recurso do Gerenciador de Frota de Kubernetes do Azure e junte-se a clusters de membros utilizando a CLI do Azure.
- A identidade (usuário ou entidade de serviço) que você está usando precisa ter o Microsoft.ContainerService/fleets/listCredentials/action no recurso Frota.
Acessar a API do Kubernetes do cluster de hub de frota
Defina as seguintes variáveis de ambiente para a ID de assinatura, o grupo de recursos e o recurso Frota:
export SUBSCRIPTION_ID=<subscription-id> export GROUP=<resource-group-name> export FLEET=<fleet-name>
Defina a assinatura padrão do Azure a ser usada usando o comando
az account set
.az account set --subscription ${SUBSCRIPTION_ID}
Obtenha o arquivo kubeconfig do recurso Frota do cluster de hub usando o comando
az fleet get-credentials
.az fleet get-credentials --resource-group ${GROUP} --name ${FLEET}
Seu resultado deve ser semelhante ao seguinte exemplo de saída:
Merged "hub" as current context in /home/fleet/.kube/config
Defina a seguinte variável de ambiente para o
id
do recurso Frota do cluster de hub:export FLEET_ID=/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${GROUP}/providers/Microsoft.ContainerService/fleets/${FLEET}
Autorize sua identidade para o servidor API Kubernetes do cluster de hub Frota usando os seguintes comandos:
Para a variável de ambiente
ROLE
, você pode usar uma das quatro definições de função integradas a seguir como valor:- Leitor RBAC do Gerenciador de Frota de Kubernetes do Azure
- Gravador RBAC do Gerenciador de Frota de Kubernetes do Azure
- Administrador RBAC do Gerenciador de Frota de Kubernetes do Azure
- Administrador do cluster de RBAC do Gerenciador de Frota de Kubernetes do Azure
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}
Seu resultado deve ser semelhante ao seguinte exemplo de saída:
{ "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" }
Verifique se você pode acessar o servidor API usando o comando
kubectl get memberclusters
.kubectl get memberclusters
Se for bem-sucedido, sua saída deverá ser semelhante ao seguinte exemplo de saída:
NAME JOINED AGE aks-member-1 True 2m aks-member-2 True 2m aks-member-3 True 2m
Próximas etapas
Azure Kubernetes Service