Udostępnij za pośrednictwem


Uzyskiwanie dostępu do interfejsu API kubernetes klastra usługi Fleet Hub

Jeśli zasób usługi Azure Kubernetes Fleet Manager został utworzony z włączonym klastrem koncentratora, można go użyć do centralnego sterowania scenariuszami, takimi jak propagacja zasobów Kubernetes. Z tego artykułu dowiesz się, jak uzyskać dostęp do interfejsu API Kubernetes klastra koncentratora zarządzanego przez zasób Fleet.

Wymagania wstępne

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.

Uzyskiwanie dostępu do interfejsu API kubernetes klastra usługi Fleet Hub

  1. Ustaw następujące zmienne środowiskowe dla identyfikatora subskrypcji, grupy zasobów i zasobu Fleet:

    export SUBSCRIPTION_ID=<subscription-id>
    export GROUP=<resource-group-name>
    export FLEET=<fleet-name>
    
  2. Ustaw domyślną subskrypcję platformy Azure do użycia przy użyciu az account set polecenia .

    az account set --subscription ${SUBSCRIPTION_ID}
    
  3. Pobierz plik kubeconfig zasobu floty klastra centrum przy użyciu az fleet get-credentials polecenia .

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

    Dane wyjściowe powinny wyglądać podobnie do następujących przykładowych danych wyjściowych:

    Merged "hub" as current context in /home/fleet/.kube/config
    
  4. Ustaw następującą zmienną środowiskową dla id zasobu floty klastra koncentratora:

    export FLEET_ID=/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${GROUP}/providers/Microsoft.ContainerService/fleets/${FLEET}
    
  5. Autoryzuj tożsamość do serwera interfejsu API Kubernetes zasobu floty klastra koncentratora przy użyciu następujących poleceń:

    Dla zmiennej środowiskowej ROLE można użyć jednej z następujących czterech wbudowanych definicji ról jako wartości:

    • Czytelnik kontroli dostępu opartej na rolach w usłudze Azure Kubernetes Fleet Manager
    • Moduł zapisywania kontroli dostępu opartej na rolach w usłudze Azure Kubernetes Fleet Manager
    • Administrator kontroli dostępu opartej na rolach w usłudze Azure Kubernetes Fleet Manager
    • Administrator klastra RBAC usługi 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}
    

    Dane wyjściowe powinny wyglądać podobnie do następujących przykładowych danych wyjściowych:

    {
      "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. Sprawdź, czy możesz uzyskać dostęp do serwera interfejsu kubectl get memberclusters API przy użyciu polecenia .

    kubectl get memberclusters
    

    W przypadku powodzenia dane wyjściowe powinny wyglądać podobnie do następujących przykładowych danych wyjściowych:

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

Następne kroki