Gunakan command invoke untuk mengakses kluster Azure Kubernetes Service (AKS) privat
Mengakses kluster AKS privat mengharuskan Anda terhubung ke kluster tersebut baik dari jaringan virtual kluster, dari jaringan yang di-peered, atau melalui titik akhir privat yang dikonfigurasi. Pendekatan ini memerlukan konfigurasi VPN, Rute Ekspres, menyebarkan jumpbox dalam jaringan virtual kluster, atau membuat titik akhir privat di dalam jaringan virtual lain. Atau, Anda dapat menggunakan command invoke untuk mengakses kluster privat tanpa harus mengonfigurasi VPN atau Rute Ekspres. Menggunakan command invoke memungkinkan Anda untuk memanggil perintah dari jarak jauh seperti kubectl dan helm pada kluster pribadi Anda melalui API Azure tanpa langsung terhubung ke kluster. Izin untuk menggunakan command invoke dikendalikan melalui peran Microsoft.ContainerService/managedClusters/runcommand/action dan Microsoft.ContainerService/managedclusters/commandResults/read.
Prasyarat
- Kluster privat yang ada.
- Azure CLI versi 2.24.0 atau lebih baru.
- Akses ke peran
Microsoft.ContainerService/managedClusters/runcommand/actiondanMicrosoft.ContainerService/managedclusters/commandResults/readpada kluster.
Batasan
Pod yang dibuat oleh perintah run menyediakan binari berikut:
- Versi terbaru yang kompatibel
kubectluntuk kluster Anda dengankustomize. helm
Selain itu, command invoke jalankan perintah dari kluster Anda sehingga perintah apa pun yang dijalankan dengan cara ini tunduk pada jaringan dan batasan lain yang telah Anda konfigurasikan pada kluster Anda.
Gunakan command invoke untuk menjalankan satu perintah
Gunakan az aks command invoke --command untuk menjalankan perintah di kluster Anda. Contohnya:
az aks command invoke \
--resource-group myResourceGroup \
--name myAKSCluster \
--command "kubectl get pods -n kube-system"
Contoh di atas menjalankan kubectl get pods -n kube-system perintah pada kluster myAKSCluster di myResourceGroup.
Gunakan command invoke untuk menjalankan beberapa perintah
Gunakan az aks command invoke --command untuk menjalankan beberapa perintah di kluster Anda. Contohnya:
az aks command invoke \
--resource-group myResourceGroup \
--name myAKSCluster \
--command "helm repo add bitnami https://charts.bitnami.com/bitnami && helm repo update && helm install my-release bitnami/nginx"
Contoh di atas menjalankan tiga perintah helm pada kluster myAKSCluster di myResourceGroup.
Gunakan command invoke untuk menjalankan perintah dengan file atau direktori terlampir
Gunakan az aks command invoke --command untuk menjalankan perintah pada kluster Anda dan --file melampirkan file atau direktori untuk digunakan oleh perintah tersebut. Contohnya:
az aks command invoke \
--resource-group myResourceGroup \
--name myAKSCluster \
--command "kubectl apply -f deployment.yaml -n default" \
--file deployment.yaml
Di atas berjalan kubectl apply -f deployment.yaml -n default pada kluster myAKSCluster di myResourceGroup. File deployment.yaml yang digunakan oleh perintah itu dilampirkan dari direktori saat ini di komputer pengembangan tempat az aks command invoke dijalankan.
Anda juga dapat melampirkan semua file di direktori saat ini. Contohnya:
az aks command invoke \
--resource-group myResourceGroup \
--name myAKSCluster \
--command "kubectl apply -f deployment.yaml configmap.yaml -n default" \
--file .
Di atas berjalan kubectl apply -f deployment.yaml configmap.yaml -n default pada kluster myAKSCluster di myResourceGroup. File deployment.yaml dan configmap.yaml yang digunakan oleh perintah itu adalah bagian dari direktori saat ini di komputer pengembangan tempat az aks command invoke dijalankan.