Tutorial: Mengaktifkan add-on pengontrol ingress untuk kluster AKS baru dengan instans gateway aplikasi baru

Anda dapat menggunakan Azure CLI untuk mengaktifkan add-on pengontrol ingress gateway aplikasi (AGIC) untuk kluster Azure Kubernetes Services (AKS) baru.

Dalam tutorial ini, Anda akan membuat klaster AKS dengan add-on AGIC diaktifkan. Membuat kluster akan secara otomatis membuat instans gateway aplikasi Azure untuk digunakan. Anda kemudian akan menyebarkan aplikasi sampel yang akan menggunakan add-on untuk mengekspos aplikasi melalui gateway aplikasi.

Add-on ini menyediakan cara yang jauh lebih cepat untuk menyebarkan AGIC untuk kluster AKS Anda daripada sebelumnya melalui Helm. Ini juga menawarkan pengalaman yang dikelola penuh.

Dalam tutorial ini, Anda akan mempelajari cara:

  • Buat grup sumber daya.
  • Membuat kluster AKS baru dengan add-on AGIC diaktifkan.
  • Menyebarkan sampel aplikasi menggunakan AGIC untuk ingress pada kluster AKS.
  • Periksa apakah aplikasi dapat dijangkau melalui gateway aplikasi.

Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.

Prasyarat

Buat grup sumber daya

Di Azure, Anda mengalokasikan sumber daya terkait ke grup sumber daya. Buat grup sumber daya dengan menggunakan buat grup az. Contoh berikut membuat grup sumber daya bernama myResourceGroup di lokasi US Timur (wilayah):

az group create --name myResourceGroup --location eastus

Menyebarkan kluster AKS dengan add-on diaktifkan

Anda sekarang akan menyebarkan kluster AKS baru dengan add-on AGIC diaktifkan. Jika Anda tidak menyediakan instans gateway aplikasi yang ada untuk digunakan dalam proses ini, Anda akan secara otomatis membuat dan menyiapkan instans gateway aplikasi baru untuk melayani lalu lintas ke kluster AKS.

Catatan

Add-on pengontrol ingress gateway aplikasi hanya mendukung SKU gateway aplikasi v2 (Standar dan WAF), dan bukan SKU gateway aplikasi v1. Saat Anda menyebarkan instans gateway aplikasi baru melalui add-on AGIC, Anda hanya dapat menyebarkan gateway aplikasi Standard_v2 SKU. Jika Anda ingin mengaktifkan add-on untuk gateway aplikasi WAF_v2 SKU, gunakan salah satu metode berikut:

Dalam contoh berikut, Anda akan menyebarkan kluster AKS baru bernama myCluster dengan menggunakan Azure CNI dan identitas terkelola. Add-on AGIC akan diaktifkan di grup sumber daya yang Anda buat, myResourceGroup.

Menyebarkan kluster AKS baru dengan add-on AGIC diaktifkan tanpa menentukan instans gateway aplikasi yang ada akan secara otomatis membuat instans gateway aplikasi SKU Standard_v2. Anda harus menentukan nama dan ruang alamat subnet untuk instans gateway aplikasi baru. Ruang alamat harus dari awalan 10.224.0.0/12 yang digunakan oleh jaringan virtual AKS tanpa tumpang tindih dengan awalan 10.224.0.0/16 yang digunakan oleh subnet AKS. Dalam tutorial ini, gunakan myApplicationGateway untuk nama gateway aplikasi dan 10.225.0.0/16 untuk ruang alamat subnetnya.

az aks create -n myCluster -g myResourceGroup --network-plugin azure --enable-managed-identity -a ingress-appgw --appgw-name myApplicationGateway --appgw-subnet-cidr "10.225.0.0/16" --generate-ssh-keys

[CATATAN!] Pastikan identitas yang digunakan oleh AGIC memiliki izin Microsoft.Network/virtualNetworks/subnets/join/action yang didelegasikan ke Subnet Application Gateway disebarkan. Jika peran kustom tidak ditentukan dengan izin ini, Anda dapat menggunakan peran Kontributor Jaringan bawaan, yang berisi izin Microsoft.Network/virtualNetworks/subnets/join/action.

# Get application gateway id from AKS addon profile
appGatewayId=$(az aks show -n myCluster -g myResourceGroup -o tsv --query "addonProfiles.ingressApplicationGateway.config.effectiveApplicationGatewayId")

# Get Application Gateway subnet id
appGatewaySubnetId=$(az network application-gateway show --ids $appGatewayId -o tsv --query "gatewayIpConfigurations[0].subnet.id")

# Get AGIC addon identity
agicAddonIdentity=$(az aks show -n myCluster -g myResourceGroup -o tsv --query "addonProfiles.ingressApplicationGateway.identity.clientId")

# Assign network contributor role to AGIC addon identity to subnet that contains the Application Gateway
az role assignment create --assignee $agicAddonIdentity --scope $appGatewaySubnetId --role "Network Contributor"

Untuk mengonfigurasi lebih banyak parameter untuk perintah di atas, lihat az aks create.

Catatan

Kluster AKS yang Anda buat akan muncul di grup sumber daya yang Anda buat, myResourceGroup. Namun, instans gateway aplikasi yang dibuat secara otomatis akan berada di grup sumber daya simpul, tempat kumpulan agen berada. Grup sumber daya simpul diberi nama MC_resource-group-name_cluster-name_location secara default, tetapi dapat dimodifikasi.

Menyebarkan sampel aplikasi menggunakan AGIC

Sekarang Anda akan menyebarkan sampel aplikasi ke kluster AKS yang Anda buat. Aplikasi akan menggunakan add-on AGIC untuk ingress dan menghubungkan instans gateway aplikasi ke kluster AKS.

Pertama, dapatkan kredensial ke kluster AKS dengan menjalankan perintah az aks get-credentials:

az aks get-credentials -n myCluster -g myResourceGroup

Setelah memiliki kredensial, jalankan perintah berikut untuk menyiapkan sampel aplikasi yang menggunakan AGIC untuk ingress ke kluster. AGIC akan memperbarui instans gateway aplikasi yang Anda siapkan sebelumnya dengan aturan perutean yang sesuai ke aplikasi sampel yang Anda sebarkan.

kubectl apply -f https://raw.githubusercontent.com/Azure/application-gateway-kubernetes-ingress/master/docs/examples/aspnetapp.yaml 

Periksa apakah aplikasi dapat dijangkau

Sekarang setelah instans gateway aplikasi disiapkan untuk melayani lalu lintas ke kluster AKS, mari kita verifikasi bahwa aplikasi Anda dapat dijangkau. Pertama-tama, dapatkan alamat IP ingress:

kubectl get ingress

Periksa apakah sampel aplikasi yang Anda buat sedang berjalan dengan:

  • Mengunjungi alamat IP instans gateway aplikasi yang Anda dapatkan dari menjalankan perintah sebelumnya.
  • Menggunakan curl.

Gateway aplikasi mungkin membutuhkan waktu satu menit untuk mendapatkan pembaruan. Jika gateway aplikasi masih dalam status Memperbarui di portal, biarkan selesai sebelum Anda mencoba menjangkau alamat IP.

Membersihkan sumber daya

Ketika Anda tidak lagi membutuhkannya, hapus semua sumber daya yang dibuat dalam tutorial ini dengan menghapus grup sumber daya myResourceGroup dan MC_myResourceGroup_myCluster_eastus :

az group delete --name myResourceGroup
az group delete --name MC_myResourceGroup_myCluster_eastus

Langkah berikutnya

Di tutorial ini, Anda akan:

  • Membuat kluster AKS baru dengan add-on AGIC diaktifkan
  • Menyebarkan aplikasi sampel dengan menggunakan AGIC untuk masuk pada kluster AKS

Untuk mempelajari selengkapnya tentang AGIC, lihat Apa itu Pengontrol Ingress Application Gateway dan Nonaktifkan dan aktifkan kembali add-on AGIC untuk kluster AKS Anda.

Untuk mempelajari cara mengaktifkan add-on pengontrol ingress gateway aplikasi untuk kluster AKS yang ada dengan gateway aplikasi yang sudah ada, lanjutkan ke tutorial berikutnya.