Azure Kubernetes Fleet Manager hub kümesi için Kubernetes API'sine erişme

Azure Kubernetes Fleet Manager (Kubernetes Fleet) kaynağınız bir merkez kümesiyle oluşturulduysa, Kubernetes kaynak yayma gibi senaryoları merkezi olarak denetlemek için bunu kullanabilirsiniz. Bu makalede, bir Kubernetes Fleet hub kümesi için Kubernetes API'sine erişmeyi öğreneceksiniz.

Önkoşullar

  • Azure aboneliğiniz yoksa başlamadan önce birücretsiz Azure hesabı oluşturun.
  • Hub kümesi ve üye kümeleri olan bir Kubernetes Fleet kaynağına ihtiyacınız vardır. Bir kaynağınız yoksa bkz . Azure Cli kullanarak Azure Kubernetes Fleet Manager kaynağı oluşturma ve üye kümelere katılma.
  • Kullandığınız kimliğin (kullanıcı veya hizmet sorumlusu) Kubernetes Fleet kaynağında Microsoft.ContainerService/fleets/listCredentials/action izinlerine sahip olması gerekir.

Kubernetes API'sine erişme

  1. Abonelik kimliğiniz, kaynak grubunuz ve Kubernetes Fleet kaynağınız için aşağıdaki ortam değişkenlerini ayarlayın:

    export SUBSCRIPTION_ID=<subscription-id>
    export GROUP=<resource-group-name>
    export FLEET=<fleet-name>
    
  2. komutunu kullanarak varsayılan Azure aboneliğini az account set ayarlayın:

    az account set --subscription ${SUBSCRIPTION_ID}
    
  3. Komutunu kullanarak Kubernetes Fleet hub kümesinin az fleet get-credentials kubeconfig dosyasını alın:

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

    Çıkışınız aşağıdaki örneğe benzer görünmelidir:

    Merged "hub" as current context in /home/fleet/.kube/config
    
  4. Hub kümesinin Kubernetes Fleet kaynağının değeri için FLEET_ID aşağıdaki ortam değişkenini ayarlayın:

    export FLEET_ID=/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${GROUP}/providers/Microsoft.ContainerService/fleets/${FLEET}
    
  5. Aşağıdaki komutları kullanarak kubernetes Fleet hub kümesine erişmek için kimliğinizi yetkileyin.

    Ortam değişkeni için ROLE , değer olarak aşağıdaki dört yerleşik rol tanımından birini kullanabilirsiniz:

    • Azure Kubernetes Fleet Manager RBAC Okuyucusu
    • Azure Kubernetes Fleet Manager RBAC Yazıcısı
    • Azure Kubernetes Fleet Manager RBAC Yöneticisi
    • Azure Kubernetes Fleet Manager RBAC Kümesi Yöneticisi
    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}
    

    Çıkışınız aşağıdaki örneğe benzer görünmelidir:

    {
      "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. komutunu kullanarak API sunucusuna erişebildiğinizden kubectl get memberclusters emin olun:

    kubectl get memberclusters
    

    Komut başarılı olursa, çıkışınız aşağıdaki örneğe benzer görünmelidir:

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