Sdílet prostřednictvím


Přístup k rozhraní Kubernetes API clusteru Centra flotily

Pokud se prostředek Azure Kubernetes Fleet Manager vytvořil s povoleným clusterem centra, můžete ho použít k centrálnímu řízení scénářů, jako je šíření prostředků Kubernetes. V tomto článku se dozvíte, jak získat přístup k rozhraní Kubernetes API clusteru centra spravovaného prostředkem Fleet.

Požadavky

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.

Přístup k rozhraní Kubernetes API clusteru Centra flotily

  1. Nastavte následující proměnné prostředí pro ID předplatného, skupinu prostředků a prostředek Fleet:

    export SUBSCRIPTION_ID=<subscription-id>
    export GROUP=<resource-group-name>
    export FLEET=<fleet-name>
    
  2. Nastavte výchozí předplatné Azure tak, aby se používalo az account set pomocí příkazu.

    az account set --subscription ${SUBSCRIPTION_ID}
    
  3. Pomocí příkazu získejte soubor kubeconfig prostředku az fleet get-credentials flotily clusteru centra.

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

    Výstup by měl vypadat podobně jako v následujícím příkladu výstupu:

    Merged "hub" as current context in /home/fleet/.kube/config
    
  4. Nastavte následující proměnnou prostředí pro id prostředek Fleet clusteru centra:

    export FLEET_ID=/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${GROUP}/providers/Microsoft.ContainerService/fleets/${FLEET}
    
  5. Pomocí následujících příkazů autorizujete svou identitu na server rozhraní KUBERNEtes API prostředku clusteru centra clusteru Kubernetes:

    Pro proměnnou ROLE prostředí můžete jako hodnotu použít jednu z následujících čtyř předdefinovaných definic rolí:

    • Čtenář RBAC v Azure Kubernetes Fleet Manageru
    • Azure Kubernetes Fleet Manager – zapisovač RBAC
    • Správce RBAC v Azure Kubernetes Fleet Manageru
    • Správce clusteru RBAC v Azure Kubernetes Fleet Manageru
    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}
    

    Výstup by měl vypadat podobně jako v následujícím příkladu výstupu:

    {
      "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. Pomocí příkazu ověřte, že máte přístup k serveru kubectl get memberclusters rozhraní API.

    kubectl get memberclusters
    

    Pokud je výstup úspěšný, měl by vypadat podobně jako v následujícím příkladu výstupu:

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

Další kroky