Share via


Guida introduttiva: Accedere all'API Kubernetes della risorsa Fleet

Se la risorsa di Azure Kubernetes Fleet Manager è stata creata con il cluster hub abilitato, può essere usata per controllare in modo centralizzato scenari come la propagazione delle risorse Kubernetes. Questo articolo illustra come accedere all'API Kubernetes del cluster hub gestito dalla risorsa Fleet.

Prerequisiti

Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.

Accedere all'API Kubernetes della risorsa Fleet

  1. Impostare le variabili di ambiente seguenti per l'ID sottoscrizione, il gruppo di risorse e la risorsa Fleet:

    export SUBSCRIPTION_ID=<subscription-id>
    export GROUP=<resource-group-name>
    export FLEET=<fleet-name>
    
  2. Impostare la sottoscrizione di Azure predefinita da usare usando il az account set comando .

    az account set --subscription ${SUBSCRIPTION_ID}
    
  3. Ottenere il file kubeconfig della risorsa Fleet del cluster hub usando il az fleet get-credentials comando .

    az fleet get-credentials --resource-group ${GROUP} --name ${FLEET}
    

    L'output dovrebbe essere simile all'esempio di output seguente:

    Merged "hub" as current context in /home/fleet/.kube/config
    
  4. Impostare la variabile di ambiente seguente per la id risorsa Fleet del cluster hub:

    export FLEET_ID=/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${GROUP}/providers/Microsoft.ContainerService/fleets/${FLEET}
    
  5. Autorizzare l'identità al server API Kubernetes della risorsa del cluster hub usando i comandi seguenti:

    Per la ROLE variabile di ambiente, è possibile usare una delle quattro definizioni di ruolo predefinite seguenti come valore:

    • Lettore controllo degli accessi in base al ruolo di Azure Kubernetes Fleet Manager
    • Azure Kubernetes Fleet Manager RBAC Writer
    • Controllo degli accessi in base al ruolo di Azure Kubernetes Fleet Manager Amministrazione
    • Cluster del controllo degli accessi in base al ruolo di Azure Kubernetes Fleet Manager Amministrazione
    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}
    

    L'output dovrebbe essere simile all'esempio di output seguente:

    {
      "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. Verificare di poter accedere al server API usando il kubectl get memberclusters comando .

    kubectl get memberclusters
    

    In caso di esito positivo, l'output dovrebbe essere simile all'output di esempio seguente:

    NAME           JOINED   AGE
    aks-member-1   True     2m
    aks-member-2   True     2m
    aks-member-3   True     2m
    

Passaggi successivi