Mengakses kluster Azure Kubernetes Service (AKS) privat
Saat Anda mengakses kluster AKS privat, Anda perlu menyambungkan ke kluster dari jaringan virtual kluster, jaringan yang di-peering, atau 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.
Dengan Azure CLI, Anda dapat menggunakan command invoke
untuk mengakses kluster privat tanpa perlu mengonfigurasi VPN atau Rute Ekspres. command invoke
memungkinkan Anda untuk memanggil perintah dari jarak jauh, seperti kubectl
dan helm
, pada kluster privat Anda melalui Azure API tanpa langsung terhubung ke kluster. Tindakan Microsoft.ContainerService/managedClusters/runcommand/action
dan Microsoft.ContainerService/managedclusters/commandResults/read
mengontrol izin untuk menggunakan command invoke
.
Dengan portal Azure, Anda dapat menggunakan fitur untuk Run command
menjalankan perintah pada kluster privat Anda. Fitur ini Run command
menggunakan fungsionalitas yang sama command invoke
untuk menjalankan perintah pada kluster Anda.
Sebelum Anda mulai
Sebelum memulai, pastikan Anda memiliki sumber daya dan izin berikut:
- Kluster privat yang ada. Jika Anda tidak memilikinya, lihat Membuat kluster AKS privat.
- Azure CLI versi 2.24.0 atau lebih baru. Jalankan
az --version
untuk menemukan versinya. Jika Anda perlu memasang atau meningkatkan, lihat Pasang CLI Azure. - Akses ke peran
Microsoft.ContainerService/managedClusters/runcommand/action
danMicrosoft.ContainerService/managedclusters/commandResults/read
pada kluster.
Batasan
Pod yang run
dibuat oleh perintah menyediakan helm
dan versi terbaru yang kubectl
kompatibel untuk kluster Anda dengan kustomize
.
command invoke
menjalankan perintah dari kluster Anda, sehingga perintah apa pun yang dijalankan dengan cara ini tunduk pada pembatasan jaringan yang dikonfigurasi dan batasan lain yang dikonfigurasi. Pastikan ada cukup simpul dan sumber daya di kluster Anda untuk menjadwalkan pod perintah ini.
Catatan
Output untuk command invoke
dibatasi hingga ukuran 512kB.
Menjalankan perintah pada kluster AKS Anda
Gunakan command invoke
untuk menjalankan satu perintah
Jalankan perintah pada kluster Anda menggunakan
az aks command invoke --command
perintah . Perintah contoh berikut menjalankankubectl get pods -n kube-system
perintah pada kluster myPrivateCluster di myResourceGroup.az aks command invoke \ --resource-group myResourceGroup \ --name myPrivateCluster \ --command "kubectl get pods -n kube-system"
Gunakan command invoke
untuk menjalankan beberapa perintah
Jalankan beberapa perintah pada kluster Anda menggunakan
az aks command invoke --command
perintah . Perintah contoh berikut menjalankan tigahelm
perintah pada kluster myPrivateCluster di myResourceGroup.az aks command invoke \ --resource-group myResourceGroup \ --name myPrivateCluster \ --command "helm repo add bitnami https://charts.bitnami.com/bitnami && helm repo update && helm install my-release bitnami/nginx"
Gunakan command invoke
untuk menjalankan perintah dengan file atau direktori terlampir
Jalankan perintah dengan file atau direktori terlampir menggunakan
az aks command invoke --command
perintah dengan--file
parameter . Contoh perintah berikut berjalankubectl apply -f deployment.yaml -n default
pada kluster myPrivateCluster di myResourceGroup. Filedeployment.yaml
dilampirkan dari direktori saat ini pada komputer pengembangan tempataz aks command invoke
dijalankan.az aks command invoke \ --resource-group myResourceGroup \ --name myPrivateCluster \ --command "kubectl apply -f deployment.yaml -n default" \ --file deployment.yaml
Gunakan command invoke
untuk menjalankan perintah dengan semua file dalam direktori saat ini terlampir
Jalankan perintah dengan semua file di direktori saat ini yang dilampirkan menggunakan
az aks command invoke --command
perintah dengan--file
parameter . Contoh perintah berikut berjalankubectl apply -f deployment.yaml configmap.yaml -n default
pada kluster myPrivateCluster di myResourceGroup. Filedeployment.yaml
danconfigmap.yaml
adalah bagian dari direktori saat ini pada komputer pengembangan tempataz aks command invoke
dijalankan.az aks command invoke \ --resource-group myResourceGroup \ --name myPrivateCluster \ --command "kubectl apply -f deployment.yaml configmap.yaml -n default" \ --file .