Baca dalam bahasa Inggris

Bagikan melalui


Tutorial: Mengaktifkan add-on pengontrol ingress gateway aplikasi untuk kluster AKS yang ada dengan gateway aplikasi yang sudah ada

Anda dapat menggunakan Azure CLI atau portal untuk mengaktifkan add-on pengontrol ingress gateway aplikasi (AGIC) untuk kluster Azure Kubernetes Services (AKS) yang ada. Dalam tutorial ini, Anda akan mempelajari cara menggunakan add-on AGIC untuk mengekspos aplikasi Kubernetes di kluster AKS yang ada melalui gateway aplikasi yang ada yang disebarkan di jaringan virtual terpisah. Anda akan mulai dengan membuat kluster AKS dalam satu jaringan virtual dan gateway aplikasi di jaringan virtual terpisah untuk mensimulasikan sumber daya yang ada. Anda kemudian akan mengaktifkan add-on AGIC, mengintip dua jaringan virtual bersama-sama, dan menyebarkan aplikasi sampel 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 menyediakan cara yang jauh lebih cepat untuk menyebarkan AGIC untuk kluster AKS Anda daripada melalui Helm dan juga menawarkan pengalaman yang dikelola sepenuhnya.

Dalam tutorial ini, Anda akan mempelajari cara:

  • Buat grup sumber daya.
  • Buat kluster AKS baru.
  • Buat gateway aplikasi baru.
  • Aktifkan add-on AGIC di kluster AKS yang ada melalui Azure CLI.
  • Aktifkan add-on AGIC di kluster AKS yang ada melalui portal Azure.
  • Serekan jaringan virtual gateway aplikasi dengan jaringan virtual kluster AKS.
  • Sebarkan aplikasi sampel menggunakan AGIC untuk masuk 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):

Azure CLI
az group create --name myResourceGroup --location eastus

Menyebarkan kluster AKS baru

Sekarang Anda akan menyebarkan kluster AKS baru, untuk mensimulasikan kluster AKS yang ada tempat Anda ingin mengaktifkan add-on AGIC.

Dalam contoh berikut, Anda akan menyebarkan kluster AKS baru bernama myCluster menggunakan Azure CNI dan Identitas Terkelola dalam grup sumber daya yang Anda buat, myResourceGroup.

Azure CLI
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.

Catatan

Grup sumber daya simpul akan dibuat dengan nama MC_resource-group-name_cluster-name_location.

Menyebarkan gateway aplikasi baru

Sekarang Anda akan menyebarkan gateway aplikasi baru, untuk mensimulasikan memiliki gateway aplikasi yang sudah ada yang ingin Anda gunakan untuk memuat lalu lintas keseimbangan ke kluster AKS Anda, myCluster. Nama gateway aplikasi akan menjadi myApplicationGateway, tetapi Anda harus terlebih dahulu membuat sumber daya IP publik, bernama myPublicIp, dan jaringan virtual baru yang disebut myVnet dengan ruang alamat 10.0.0.0/16, dan subnet dengan ruang alamat 10.0.0.0/24 yang disebut mySubnet, dan menyebarkan gateway aplikasi Anda di mySubnet menggunakan myPublicIp.

Perhatian

Saat Anda menggunakan kluster AKS dan gateway aplikasi di jaringan virtual terpisah, ruang alamat dari dua jaringan virtual tidak boleh tumpang tindih. Ruang alamat default yang disebarkan kluster AKS adalah 10.224.0.0/12.

Azure CLI
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

Catatan

Add-on pengontrol ingress gateway aplikasi (AGIC) hanya mendukung SKU gateway aplikasi v2 (Standar dan WAF), dan bukan SKU v1 gateway aplikasi.

Mengaktifkan add-on AGIC di kluster AKS yang ada melalui Azure CLI

Jika Anda ingin terus menggunakan Azure CLI, Anda dapat terus mengaktifkan add-on AGIC di kluster AKS yang Anda buat, myCluster, dan menentukan add-on AGIC untuk menggunakan gateway aplikasi yang sudah Anda buat, myApplicationGateway.

Azure CLI
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 ada melalui portal Azure

  1. Dari beranda portal Azure, navigasikan ke sumber daya kluster AKS Anda.
  2. Di menu layanan, di bawah Pengaturan, pilih Integrasi jaringan Virtual Jaringan>.
  3. Di bawah Pengontrol ingress Application Gateway, pilih Kelola.
  4. Pada halaman pengontrol ingress Application Gateway, pilih kotak centang untuk mengaktifkan pengontrol ingress, lalu pilih gateway aplikasi yang ada dari daftar dropdown.
  5. Pilih Simpan.

Penting

Jika Anda menggunakan gateway aplikasi dalam grup sumber daya yang berbeda dari grup sumber daya kluster AKS, identitas terkelola ingressapplicationgateway-{AKSNAME} yang dibuat harus memiliki peran Kontributor Jaringan dan Pembaca yang diatur dalam grup sumber daya gateway aplikasi.

Peering kedua jaringan virtual bersama-sama

Karena Anda menyebarkan kluster AKS di jaringan virtualnya sendiri dan gateway Aplikasi di jaringan virtual lain, Anda harus mengintip kedua jaringan virtual bersama-sama agar lalu lintas mengalir dari gateway Aplikasi ke pod di kluster. Peering dua jaringan virtual perlu menjalankan perintah Azure CLI dua kali secara terpisah, untuk memastikan bahwa koneksi dua arah. Perintah pertama akan membuat koneksi peering dari jaringan virtual Gateway aplikasi ke jaringan virtual AKS; perintah kedua akan membuat koneksi peering ke arah lain.

Azure CLI
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

Catatan

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.

Menyebarkan aplikasi sampel menggunakan AGIC

Sekarang Anda akan menyebarkan aplikasi sampel ke kluster AKS yang Anda buat yang akan menggunakan add-on AGIC untuk Ingress dan menyambungkan gateway aplikasi ke kluster AKS. Pertama, Anda akan mendapatkan kredensial ke kluster AKS yang Anda sebarkan dengan menjalankan perintah az aks get-credentials.

Azure CLI
az aks get-credentials --name myCluster --resource-group myResourceGroup

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

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

Periksa apakah aplikasi dapat dijangkau

Sekarang setelah gateway aplikasi disiapkan untuk melayani lalu lintas ke kluster AKS, mari kita verifikasi bahwa aplikasi Anda dapat dijangkau. Pertama-tama, Anda akan mendapatkan alamat IP Ingress.

Azure CLI
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" pada portal Azure, maka biarkan selesai sebelum mencoba mencapai alamat IP.

Membersihkan sumber daya

Jika tidak lagi diperlukan, hapus semua sumber daya yang dibuat dalam tutorial ini dengan menghapus grup sumber daya myResourceGroup dan MC_myResourceGroup_myCluster_eastus :

Azure CLI
az group delete --name myResourceGroup 
az group delete --name MC_myResourceGroup_myCluster_eastus

Langkah berikutnya