Mulai cepat: Mengakses API Kubernetes dari sumber daya Armada
Jika sumber daya Azure Kubernetes Fleet Manager Anda dibuat dengan kluster hub diaktifkan, maka dapat digunakan untuk mengontrol skenario secara terpusat seperti penyebaran sumber daya Kubernetes. Dalam artikel ini, Anda mempelajari cara mengakses API Kubernetes dari kluster hub yang dikelola oleh sumber daya Armada.
Prasyarat
Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.
- Anda memerlukan sumber daya Armada dengan kluster hub dan kluster anggota. Jika Anda tidak memilikinya, lihat Membuat sumber daya Azure Kubernetes Fleet Manager dan bergabung dengan kluster anggota menggunakan Azure CLI.
- Identitas (pengguna atau perwakilan layanan) yang Anda gunakan harus memiliki Microsoft.ContainerService/fleets/listCredentials/action pada sumber daya Armada.
Mengakses API Kubernetes dari sumber daya Armada
Atur variabel lingkungan berikut untuk ID langganan, grup sumber daya, dan sumber daya Armada Anda:
export SUBSCRIPTION_ID=<subscription-id> export GROUP=<resource-group-name> export FLEET=<fleet-name>
Atur langganan Azure default untuk digunakan menggunakan
az account set
perintah .az account set --subscription ${SUBSCRIPTION_ID}
Dapatkan file kubeconfig dari sumber daya Armada kluster hub menggunakan
az fleet get-credentials
perintah .az fleet get-credentials --resource-group ${GROUP} --name ${FLEET}
Output Anda akan terlihat mirip dengan contoh output berikut:
Merged "hub" as current context in /home/fleet/.kube/config
Atur variabel lingkungan berikut untuk
id
sumber daya Armada kluster hub:export FLEET_ID=/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${GROUP}/providers/Microsoft.ContainerService/fleets/${FLEET}
Otorisasi identitas Anda ke server API Kubernetes sumber daya Armada kluster hub menggunakan perintah berikut:
ROLE
Untuk variabel lingkungan, Anda dapat menggunakan salah satu dari empat definisi peran bawaan berikut sebagai nilai:- Pembaca RBAC Manajer Armada Azure Kubernetes
- Penulis RBAC Manajer Armada Azure Kubernetes
- Admin RBAC Manajer Armada Azure Kubernetes
- Admin Kluster RBAC Manajer Armada Azure Kubernetes
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}
Output Anda akan terlihat mirip dengan contoh output berikut:
{ "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" }
Verifikasi bahwa Anda dapat mengakses server API menggunakan
kubectl get memberclusters
perintah .kubectl get memberclusters
Jika berhasil, output Anda akan terlihat mirip dengan contoh output berikut:
NAME JOINED AGE aks-member-1 True 2m aks-member-2 True 2m aks-member-3 True 2m