Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Anda dapat menggunakan Azure CLI atau portal Microsoft Azure untuk mengaktifkan add-on pengontrol ingress gateway aplikasi (AGIC) untuk kluster Azure Kubernetes Services (AKS) yang ada. Dalam tutorial ini, Anda akan belajar cara menggunakan add-on AGIC untuk memperkenalkan aplikasi Kubernetes Anda dalam kluster AKS yang sudah ada melalui gateway aplikasi yang sudah ada yang ditempatkan di jaringan virtual terpisah. Anda akan mulai dengan membuat kluster AKS dalam satu jaringan virtual dan gateway aplikasi dalam jaringan virtual terpisah untuk mensimulasikan sumber daya yang ada. Selanjutnya, Anda akan mengaktifkan add-on AGIC, menghubungkan dua jaringan virtual, dan menerapkan aplikasi contoh yang akan diekspos melalui gateway aplikasi menggunakan add-on AGIC. Jika Anda mengaktifkan add-on AGIC untuk gateway aplikasi yang ada dan kluster AKS yang ada di jaringan virtual yang sama, maka Anda dapat melewati langkah peering di bawah ini. Add-on ini menyediakan cara yang jauh lebih cepat untuk menerapkan AGIC di kluster AKS Anda daripada melalui Helm dan juga menawarkan pengalaman yang sepenuhnya terkelola.
Petunjuk / Saran
Untuk solusi ingress Kubernetes Anda, pertimbangkan menggunakan Application Gateway for Containers.
Dalam tutorial ini, Anda akan belajar cara untuk:
- Buat grup sumber daya.
- Buat kluster AKS baru.
- Buat gateway aplikasi baru.
- Aktifkan add-on AGIC di cluster AKS yang sudah ada melalui Azure CLI.
- Aktifkan add-on AGIC di kluster AKS yang ada melalui portal Microsoft Azure.
- Samakan jaringan virtual gateway aplikasi dengan jaringan virtual kluster AKS.
- Terapkan aplikasi contoh menggunakan AGIC untuk ingress pada kluster AKS.
- Pastikan bahwa aplikasi dapat dijangkau melalui application gateway.
Jika Anda tidak memiliki akun Azure, buat akun gratis sebelum memulai.
Prasyarat
Gunakan lingkungan Bash di Azure Cloud Shell. Untuk informasi selengkapnya, lihat Mulai menggunakan Azure Cloud Shell.
Jika Anda lebih suka menjalankan perintah referensi CLI secara lokal, instal Azure CLI. Jika Anda menggunakan Windows atau macOS, pertimbangkan menjalankan Azure CLI dalam wadah Docker. Untuk informasi lebih lanjut, lihat Cara menjalankan Azure CLI di dalam wadah Docker.
Jika Anda menggunakan instalasi lokal, masuk ke Azure CLI dengan menggunakan perintah az login. Untuk menyelesaikan proses autentikasi, ikuti langkah-langkah yang ditampilkan di terminal Anda. Untuk opsi masuk lainnya, lihat Mengautentikasi ke Azure menggunakan Azure CLI.
Saat diminta, instal ekstensi Azure CLI pada penggunaan pertama. Untuk informasi selengkapnya tentang ekstensi, lihat Menggunakan dan mengelola ekstensi dengan Azure CLI.
Jalankan az version untuk menemukan versi dan pustaka yang terpasang. Untuk memperbarui ke versi terbaru, jalankan az upgrade.
Buat grup sumber daya
Di Azure, Anda mengalokasikan sumber daya terkait ke dalam grup sumber daya. Buat grup sumber daya dengan menggunakan az group create. Contoh berikut membuat grup sumber daya bernama myResourceGroup di lokasi US Timur (wilayah):
az group create --name myResourceGroup --location eastus
Menyebarkan kluster AKS baru
Sekarang Anda akan menyebarkan cluster AKS baru, untuk mensimulasikan memiliki cluster AKS yang sudah ada yang ingin Anda aktifkan add-on AGIC-nya.
Dalam contoh berikut, Anda akan menerapkan cluster AKS baru bernama myCluster menggunakan Azure CNI dan Managed Identities di grup sumber daya yang Anda buat, myResourceGroup.
az aks create --name myCluster --resource-group myResourceGroup --network-plugin azure --enable-managed-identity --generate-ssh-keys
Untuk mengonfigurasi lebih banyak parameter untuk perintah di atas, lihat az aks create.
Nota
Sebuah grup sumber daya node akan dibuat dengan nama MC_resource-group-name_cluster-name_location.
Peringatan
Dokumen ini mengasumsikan Azure CNI diinstal di kluster AKS. Jika Anda berencana menggunakan CNI Overlay, Anda harus memastikan Application Gateway dan kluster AKS adalah bagian dari jaringan virtual yang sama.
Mengimplementasikan gerbang aplikasi baru
Sekarang Anda akan melakukan penyebaran gateway aplikasi baru, untuk mensimulasikan memiliki gateway aplikasi yang ada yang ingin Anda gunakan untuk menyeimbangkan lalu lintas ke kluster AKS Anda, myCluster. Nama gateway aplikasi akan menjadi myApplicationGateway, tetapi Anda perlu terlebih dahulu membuat sumber daya IP publik yang diberi nama myPublicIp, dan jaringan virtual baru yang disebut myVnet dengan ruang alamat 10.0.0.0/16, serta subnet dengan ruang alamat 10.0.0.0/24 disebut mySubnet, dan menerapkan gateway aplikasi Anda di mySubnet menggunakan myPublicIp.
Perhatian
Ketika Anda menggunakan kluster AKS dan gerbang aplikasi dalam jaringan virtual yang terpisah, ruang alamat dari kedua jaringan virtual tersebut tidak boleh tumpang tindih. Ruang alamat default yang digunakan oleh kluster AKS adalah 10.224.0.0/12.
az network public-ip create --name myPublicIp --resource-group myResourceGroup --allocation-method Static --sku Standard
az network vnet create --name myVnet --resource-group myResourceGroup --address-prefix 10.0.0.0/16 --subnet-name mySubnet --subnet-prefix 10.0.0.0/24
az network application-gateway create --name myApplicationGateway --resource-group myResourceGroup --sku Standard_v2 --public-ip-address myPublicIp --vnet-name myVnet --subnet mySubnet --priority 100
Nota
Add-on aplikasi application gateway ingress controller (AGIC) hanya mendukung application gateway v2 SKUs (Standar dan WAF), dan tidak mendukung application gateway v1 SKUs.
Aktifkan tambahan AGIC di cluster AKS yang sudah ada melalui Azure CLI
Jika Anda ingin melanjutkan menggunakan Azure CLI, Anda dapat terus mengaktifkan add-on AGIC di kluster AKS yang Anda buat, myCluster, dan tentukan add-on AGIC untuk menggunakan application gateway yang sudah ada yang Anda buat, myApplicationGateway.
appgwId=$(az network application-gateway show --name myApplicationGateway --resource-group myResourceGroup -o tsv --query "id")
az aks enable-addons --name myCluster --resource-group myResourceGroup --addon ingress-appgw --appgw-id $appgwId
Aktifkan add-on AGIC di kluster AKS yang sudah ada melalui portal Azure
- Dari halaman utama portal Azure, navigasikan ke sumber daya kluster AKS Anda.
- Dalam menu layanan, di bawah Pengaturan, pilih Jaringan>Integrasi jaringan virtual.
- Di bawah Pengontrol ingress Application Gateway, pilih Kelola.
- Pada halaman pengontrol ingress pada Application Gateway, pilih kotak centang untuk mengaktifkan pengontrol ingress, lalu pilih gateway aplikasi yang ada dari kotak pilihan.
- Pilih Simpan.
Penting
Jika Anda menggunakan application gateway dalam grup sumber daya yang berbeda dari grup sumber daya kluster AKS, identitas terkelola ingressapplicationgateway-{AKSNAME} yang dibuat harus memiliki peran Network Contributor dan Reader diatur dalam grup sumber daya application gateway tersebut.
Hubungkan dua jaringan virtual tersebut
Karena Anda menyebarkan kluster AKS di jaringan virtualnya sendiri dan gateway aplikasi di jaringan virtual lain, Anda harus menghubungkan kedua jaringan virtual tersebut agar lalu lintas dapat mengalir dari gateway aplikasi ke pod di kluster. Peering dua jaringan virtual mengharuskan menjalankan perintah Azure CLI dua kali secara terpisah, untuk memastikan bahwa koneksi dua arah. Perintah pertama akan membuat koneksi peering dari jaringan virtual Application Gateway ke jaringan virtual AKS; perintah kedua akan membuat koneksi peering ke arah yang sebaliknya.
nodeResourceGroup=$(az aks show --name myCluster --resource-group myResourceGroup -o tsv --query "nodeResourceGroup")
aksVnetName=$(az network vnet list --resource-group $nodeResourceGroup -o tsv --query "[0].name")
aksVnetId=$(az network vnet show --name $aksVnetName --resource-group $nodeResourceGroup -o tsv --query "id")
az network vnet peering create --name AppGWtoAKSVnetPeering --resource-group myResourceGroup --vnet-name myVnet --remote-vnet $aksVnetId --allow-vnet-access
appGWVnetId=$(az network vnet show --name myVnet --resource-group myResourceGroup -o tsv --query "id")
az network vnet peering create --name AKStoAppGWVnetPeering --resource-group $nodeResourceGroup --vnet-name $aksVnetName --remote-vnet $appGWVnetId --allow-vnet-access
Nota
Dalam langkah "Sebarkan kluster AKS baru" di atas kami membuat AKS dengan Azure CNI, jika Anda memiliki kluster AKS yang ada menggunakan mode Kubenet , Anda perlu memperbarui tabel rute untuk membantu paket yang ditujukan untuk IP POD mencapai node yang menghosting pod. Cara sederhana untuk mencapainya adalah dengan mengaitkan tabel rute yang sama yang dibuat oleh AKS ke subnet Application Gateway.
Sebarkan aplikasi contoh menggunakan AGIC
Anda sekarang akan menerapkan aplikasi contoh ke cluster AKS yang telah Anda buat, yang akan menggunakan add-on AGIC untuk Ingress dan menghubungkan gateway aplikasi ke cluster AKS. Pertama-tama, Anda akan mendapatkan kredensial untuk kluster AKS yang Anda terapkan dengan menjalankan perintah az aks get-credentials.
az aks get-credentials --name myCluster --resource-group myResourceGroup
Setelah Anda memiliki kredensial untuk kluster yang Anda buat, jalankan perintah berikut untuk mengatur aplikasi contoh yang menggunakan AGIC untuk masuk ke kluster tersebut. AGIC akan memperbarui gerbang aplikasi yang Anda atur sebelumnya dengan aturan pengalihan yang sesuai untuk aplikasi contoh baru yang Anda terapkan.
kubectl apply -f https://raw.githubusercontent.com/Azure/application-gateway-kubernetes-ingress/master/docs/examples/aspnetapp.yaml
Periksa apakah aplikasi dapat diakses
Sekarang setelah gateway aplikasi disiapkan untuk melayani lalu lintas ke kluster AKS, mari kita periksa apakah aplikasi Anda dapat diakses. Anda akan pertama mendapatkan alamat IP dari Ingress.
kubectl get ingress
Periksa apakah aplikasi sampel yang Anda buat aktif dan berjalan dengan mengunjungi alamat IP gateway aplikasi yang Anda dapatkan dari menjalankan perintah di atas atau periksa dengan curl. Mungkin perlu waktu satu menit bagi gateway aplikasi untuk mendapatkan pembaruan, jadi jika gateway aplikasi masih dalam status "Memperbarui" di portal Microsoft Azure, maka biarkan selesai sebelum mencoba mencapai alamat IP.
Membersihkan sumber daya
Saat tidak lagi diperlukan, 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