Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: ✔️ Manajer Armada dengan hub kluster
Jika sumber daya Azure Kubernetes Fleet Manager (Kubernetes Fleet) dibuat dengan kluster hub, Anda dapat menggunakannya untuk mengontrol skenario secara terpusat seperti penyebaran sumber daya Kubernetes. Dalam artikel ini, Anda mempelajari cara mengakses API Kubernetes untuk kluster hub Armada Kubernetes.
Sebelum Anda mulai
- Jika Anda tidak memiliki akun Azure, buat akun gratis sebelum memulai.
- Anda memerlukan sumber daya Kubernetes Fleet dengan kluster hub dan kluster anggota. Jika Anda tidak memilikinya, lihat Membuat sumber daya Azure Kubernetes Fleet Manager dan bergabung dengan kluster anggota dengan menggunakan Azure CLI.
- Identitas (pengguna atau perwakilan layanan) yang Anda gunakan harus memiliki izin Microsoft.ContainerService/fleets/listCredentials/action pada sumber daya Kubernetes Fleet.
Jika sumber daya Azure Kubernetes Fleet Manager (Kubernetes Fleet) dibuat dengan kluster hub privat, Anda dapat menggunakannya untuk mengontrol skenario secara terpusat seperti penyebaran sumber daya Kubernetes. Dalam artikel ini, Anda mempelajari cara mengakses API Kubernetes untuk kluster hub Kubernetes Fleet privat dengan aman menggunakan fitur penerowongan klien asli Azure Bastion.
Menggunakan Azure Bastion melindungi kluster hub privat Anda dari mengekspos titik akhir ke dunia luar, sambil tetap menyediakan akses aman. Untuk informasi selengkapnya, lihat Apa itu Azure Bastion?
Sebelum Anda mulai
- Jika Anda tidak memiliki akun Azure, buat akun gratis sebelum memulai.
- Anda memerlukan sumber daya Kubernetes Fleet dengan kluster hub dan kluster anggota. Jika Anda tidak memilikinya, lihat Membuat sumber daya Azure Kubernetes Fleet Manager dan bergabung dengan kluster anggota dengan menggunakan Azure CLI.
- Anda memerlukan jaringan virtual dengan host Bastion yang sudah diinstal.
- Pastikan Anda telah menyiapkan host Azure Bastion untuk jaringan virtual tempat Fleet Manager berada. Untuk menyiapkan host Azure Bastion, lihat Mulai Cepat: Menyebarkan Bastion dengan pengaturan default.
- Bastion harus SKU Standar atau Premium dan memiliki dukungan klien bawaan yang diaktifkan di bawah pengaturan konfigurasi.
- Identitas (pengguna atau perwakilan layanan) yang Anda gunakan harus memiliki:
- Izin Microsoft.ContainerService/fleets/listCredentials/action untuk akses pada sumber daya Kubernetes Fleet.
- Microsoft.Network/bastionHosts/read di Sumber Daya Bastion.
- Microsoft.Network/virtualNetworks/read pada jaringan virtual kluster hub privat.
Mengakses API Kubernetes
Atur variabel lingkungan berikut untuk ID langganan, grup sumber daya, dan sumber daya Armada Kubernetes Anda:
export SUBSCRIPTION_ID=<subscription-id> export GROUP=<resource-group-name> export FLEET=<fleet-name>Atur langganan Azure default dengan menggunakan
az account setperintah :az account set --subscription ${SUBSCRIPTION_ID}Dapatkan file kubeconfig dari kluster hub Armada Kube dengan menggunakan
az fleet get-credentialsperintah :az fleet get-credentials --resource-group ${GROUP} --name ${FLEET}Output Anda akan terlihat serupa dengan contoh berikut:
Merged "hub" as current context in /home/fleet/.kube/configAtur variabel lingkungan berikut untuk
FLEET_IDnilai sumber daya Kubernetes Fleet kluster hub:export FLEET_ID=/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${GROUP}/providers/Microsoft.ContainerService/fleets/${FLEET}Otorisasi identitas Anda untuk mengakses kluster hub Armada Kubernetes dengan menggunakan perintah berikut.
ROLEUntuk 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 serupa dengan contoh 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 dengan menggunakan
kubectl get memberclustersperintah :kubectl get memberclustersJika perintah berhasil, output Anda akan terlihat mirip dengan contoh berikut:
NAME JOINED AGE aks-member-1 True 2m aks-member-2 True 2m aks-member-3 True 2m
Buka terowongan ke kluster hub Private Fleet Manager Anda:
export HUB_CLUSTER_ID=<hub-cluster-id-in-FL_resourceGroup> az network bastion tunnel --name <BastionName> --resource-group ${GROUP} --target-resource-id ${HUB_CLUSTER_ID}$ --resource-port 443 --port <LocalMachinePort>Di jendela terminal baru, sambungkan ke kluster hub melalui terowongan Bastion dan verifikasi akses server API:
kubectl get memberclusters --server=https://localhost:<LocalMachinePort>Jika perintah berhasil, output Anda akan terlihat mirip dengan contoh berikut:
NAME JOINED AGE aks-member-1 True 2m aks-member-2 True 2m aks-member-3 True 2m