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
Gunakan lingkungan Bash di Azure Cloud Shell. Untuk informasi selengkapnya, lihat Mulai Cepat untuk Bash di Azure Cloud Shell.
Jika Anda lebih suka menjalankan perintah referensi CLI secara lokal, instal Azure CLI. Jika Anda menjalankan Windows atau macOS, pertimbangkan untuk menjalankan Azure CLI dalam kontainer Docker. Untuk informasi lebih lanjut, lihat Cara menjalankan Azure CLI di kontainer Docker.
Jika Anda menggunakan instalasi lokal, masuk ke Azure CLI dengan menggunakan perintah login az. Untuk menyelesaikan proses autentikasi, ikuti langkah-langkah yang ditampilkan di terminal Anda. Untuk opsi masuk lainnya, lihat Masuk dengan Azure CLI.
Saat Anda diminta, instal ekstensi Azure CLI pada penggunaan pertama. Untuk informasi selengkapnya tentang ekstensi, lihat Menggunakan ekstensi dengan Azure CLI.
Jalankan versi az untuk menemukan versi dan pustaka dependen yang diinstal. Untuk meningkatkan ke versi terbaru, jalankan peningkatan az.
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:
- Aktifkan WAF pada gateway aplikasi melalui portal.
- Buat instans gateway aplikasi WAF_v2 terlebih dahulu, lalu ikuti instruksi tentang cara mengaktifkan add-on AGIC dengan kluster AKS yang ada dan instans gateway aplikasi yang ada.
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.