Delen via


Toegang tot de Kubernetes-API voor een Azure Kubernetes Fleet Manager-hubcluster

Als uw Azure Kubernetes Fleet Manager-resource (Kubernetes Fleet) is gemaakt met een hubcluster, kunt u deze gebruiken om centraal scenario's te beheren, zoals het doorgeven van Kubernetes-resources. In dit artikel leert u hoe u toegang krijgt tot de Kubernetes-API voor een Kubernetes Fleet-hubcluster.

Vereisten

Toegang tot de Kubernetes-API

  1. Stel de volgende omgevingsvariabelen in voor uw abonnements-id, resourcegroep en Kubernetes Fleet-resource:

    export SUBSCRIPTION_ID=<subscription-id>
    export GROUP=<resource-group-name>
    export FLEET=<fleet-name>
    
  2. Stel het standaardAbonnement van Azure in met behulp van de az account set opdracht:

    az account set --subscription ${SUBSCRIPTION_ID}
    
  3. Haal het kubeconfig-bestand van het Kubernetes Fleet-hubcluster op met behulp van de az fleet get-credentials opdracht:

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

    Uw uitvoer moet er ongeveer uitzien als de uitvoer in het volgende voorbeeld:

    Merged "hub" as current context in /home/fleet/.kube/config
    
  4. Stel de volgende omgevingsvariabele in voor de waarde van de FLEET_ID Kubernetes Fleet-resource van het hubcluster:

    export FLEET_ID=/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${GROUP}/providers/Microsoft.ContainerService/fleets/${FLEET}
    
  5. Geef uw identiteit toegang tot het Kubernetes Fleet-hubcluster met behulp van de volgende opdrachten.

    Voor de ROLE omgevingsvariabele kunt u een van de volgende vier ingebouwde roldefinities gebruiken als de waarde:

    • Azure Kubernetes Fleet Manager RBAC Reader
    • Azure Kubernetes Fleet Manager RBAC Writer
    • Azure Kubernetes Fleet Manager RBAC-beheerder
    • Azure Kubernetes Fleet Manager RBAC-clusterbeheerder
    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}
    

    Uw uitvoer moet er ongeveer uitzien als de uitvoer in het volgende voorbeeld:

    {
      "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. Controleer of u toegang hebt tot de API-server met behulp van de kubectl get memberclusters opdracht:

    kubectl get memberclusters
    

    Als de opdracht is geslaagd, moet de uitvoer er ongeveer uitzien als in het volgende voorbeeld:

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