Inicio rápido: Acceso a la API de Kubernetes del recurso de Fleet
Si su recurso de Azure Kubernetes Fleet Manager se creó con el clúster de concentrador habilitado, se puede usar para controlar de forma centralizada escenarios como la propagación de recursos de Kubernetes. En este artículo, aprenderá a acceder a la API de Kubernetes del clúster central administrado por el recurso de Fleet.
Requisitos previos
Si no tiene una suscripción a Azure, cree una cuenta gratuita de Azure antes de empezar.
- Necesita un recurso de Fleet con un clúster de centro y clústeres miembro. Si no tiene uno, vea Creación de un recurso de Azure Kubernetes Fleet Manager y unión a clústeres miembro mediante la CLI de Azure.
- La identidad (usuario o entidad de servicio) que usa debe tener Microsoft.ContainerService/fleets/listCredentials/action en el recurso de Fleet.
Acceso a la API de Kubernetes del recurso de Fleet
Establezca las siguientes variables de entorno para el id. de suscripción, el grupo de recursos y el recurso de Fleet:
export SUBSCRIPTION_ID=<subscription-id> export GROUP=<resource-group-name> export FLEET=<fleet-name>
Establezca la suscripción de Azure predeterminada que se usará con el comando
az account set
.az account set --subscription ${SUBSCRIPTION_ID}
Obtenga el archivo kubeconfig del recurso de Fleet del clúster central mediante el comando
az fleet get-credentials
.az fleet get-credentials --resource-group ${GROUP} --name ${FLEET}
El resultado debería ser similar al ejemplo siguiente:
Merged "hub" as current context in /home/fleet/.kube/config
Establezca la siguiente variable de entorno para el elemento
id
del recurso de Fleet del clúster central:export FLEET_ID=/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${GROUP}/providers/Microsoft.ContainerService/fleets/${FLEET}
Autorice su identidad al servidor de API de Kubernetes del recurso de Fleet del clúster central mediante los siguientes comandos:
Para la variable de entorno
ROLE
, puede usar una de las cuatro definiciones de roles integradas siguientes como valor:- Lector de RBAC de Azure Kubernetes Fleet Manager
- Escritor de RBAC de Azure Kubernetes Fleet Manager
- Administrador de RBAC de Azure Kubernetes Fleet Manager
- Administrador de clústeres de RBAC de 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}
El resultado debería ser similar al ejemplo siguiente:
{ "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" }
Compruebe que puede acceder al servidor de API mediante el comando
kubectl get memberclusters
.kubectl get memberclusters
Si se ejecuta correctamente, la salida debe ser similar a la de ejemplo siguiente:
NAME JOINED AGE aks-member-1 True 2m aks-member-2 True 2m aks-member-3 True 2m
Pasos siguientes
Azure Kubernetes Service