Compartir a través de


Acceda a la API de Kubernetes del clúster de Fleet Hub

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.

Acceda a la API de Kubernetes del clúster de Fleet Hub

  1. 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>
    
  2. Establezca la suscripción de Azure predeterminada que se usará con el comando az account set.

    az account set --subscription ${SUBSCRIPTION_ID}
    
  3. 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
    
  4. 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}
    
  5. 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"
    }
    
  6. 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