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 dan Microsoft.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 menjalankan kubectl 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 tiga helm 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 berjalan kubectl apply -f deployment.yaml -n default pada kluster myPrivateCluster di myResourceGroup. File deployment.yaml dilampirkan dari direktori saat ini pada komputer pengembangan tempat az 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 berjalan kubectl apply -f deployment.yaml configmap.yaml -n default pada kluster myPrivateCluster di myResourceGroup. File deployment.yaml dan configmap.yaml adalah bagian dari direktori saat ini pada komputer pengembangan tempat az aks command invoke dijalankan.

    az aks command invoke \
      --resource-group myResourceGroup \
      --name myPrivateCluster \
      --command "kubectl apply -f deployment.yaml configmap.yaml -n default" \
      --file .