Öğretici: Yeni bir uygulama ağ geçidi örneğiyle yeni bir AKS kümesi için giriş denetleyicisi eklentisini etkinleştirme

Azure CLI'yi kullanarak yeni bir Azure Kubernetes Services (AKS) kümesi için uygulama ağ geçidi giriş denetleyicisi (AGIC) eklentisini etkinleştirebilirsiniz.

Bu öğreticide AGIC eklentisinin etkinleştirildiği bir AKS kümesi oluşturacaksınız. Kümenin oluşturulması otomatik olarak kullanılacak bir Azure uygulama ağ geçidi örneği oluşturur. Ardından, uygulamayı uygulama ağ geçidi aracılığıyla kullanıma açmak için eklentiyi kullanacak örnek bir uygulama dağıtacaksınız.

Eklenti, AKS kümeniz için AGIC'i helm aracılığıyla dağıtmanın çok daha hızlı bir yolunu sağlar. Ayrıca tam olarak yönetilen bir deneyim sunar.

Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:

  • Kaynak grubu oluşturun.
  • AGIC eklentisinin etkinleştirildiği yeni bir AKS kümesi oluşturun.
  • AKS kümesinde giriş için AGIC kullanarak örnek bir uygulama dağıtın.
  • Uygulamanın uygulama ağ geçidi üzerinden erişilebilir olup olmadığını denetleyin.

Azure aboneliğiniz yoksa başlamadan önce birücretsiz Azure hesabı oluşturun.

Önkoşullar

  • Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz . Azure Cloud Shell'de Bash için hızlı başlangıç.

  • CLI başvuru komutlarını yerel olarak çalıştırmayı tercih ediyorsanız Azure CLI'yı yükleyin . Windows veya macOS üzerinde çalışıyorsanız Azure CLI’yi bir Docker kapsayıcısında çalıştırmayı değerlendirin. Daha fazla bilgi için bkz . Docker kapsayıcısında Azure CLI'yi çalıştırma.

    • Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI ile oturum açın. Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Diğer oturum açma seçenekleri için bkz . Azure CLI ile oturum açma.

    • İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma.

    • Yüklü sürümü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.

Kaynak grubu oluşturma

Azure'da ilgili kaynakları bir kaynak grubuna ayırırsınız. az group create komutunu kullanarak bir kaynak grubu oluşturun. Aşağıdaki örnek, Doğu ABD konumunda (bölge) myResourceGroup adlı bir kaynak grubu oluşturur:

az group create --name myResourceGroup --location eastus

Eklenti etkinken AKS kümesi dağıtma

Şimdi AGIC eklentisinin etkinleştirildiği yeni bir AKS kümesi dağıtacaksınız. Bu işlemde kullanmak üzere mevcut bir uygulama ağ geçidi örneği sağlamazsanız, AKS kümesine trafik sunmak için otomatik olarak yeni bir uygulama ağ geçidi örneği oluşturup ayarlarsınız.

Not

Uygulama ağ geçidi giriş denetleyicisi eklentisi, uygulama ağ geçidi v1 SKU'larını değil yalnızca application gateway v2 SKU'larını (Standart ve WAF) destekler. AGIC eklentisi aracılığıyla yeni bir uygulama ağ geçidi örneği dağıtırken SKU'Standard_v2 yalnızca bir uygulama ağ geçidi dağıtabilirsiniz. Bir uygulama ağ geçidi WAF_v2 SKU'su için eklentiyi etkinleştirmek istiyorsanız şu yöntemlerden birini kullanın:

  • Portal aracılığıyla uygulama ağ geçidinde WAF'yi etkinleştirin.
  • Önce WAF_v2 uygulama ağ geçidi örneğini oluşturun ve ardından AGIC eklentisini mevcut aks kümesi ve mevcut uygulama ağ geçidi örneğiyle etkinleştirme yönergelerini izleyin.

Aşağıdaki örnekte, Azure CNI ve yönetilen kimlikleri kullanarak myCluster adlı yeni bir AKS kümesi dağıtacaksınız. AGIC eklentisi, oluşturduğunuz myResourceGroup kaynak grubunda etkinleştirilir.

Mevcut bir uygulama ağ geçidi örneği belirtmeden AGIC eklentisi etkinleştirilmiş yeni bir AKS kümesi dağıtmak otomatik olarak bir Standard_v2 SKU uygulama ağ geçidi örneği oluşturur. Yeni uygulama ağ geçidi örneği için bir ad ve alt ağ adres alanı belirtmeniz gerekir. Adres alanı AKS alt ağı tarafından kullanılan 10.224.0.0/16 ön eki ile çakışmadan AKS sanal ağı tarafından kullanılan 10.224.0.0/12 ön ekinden olmalıdır. Bu öğreticide, uygulama ağ geçidi adı için myApplicationGateway ve alt ağ adres alanı için 10.225.0.0/16 kullanın.

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

[NOT!] AGIC tarafından kullanılan kimliğin Application Gateway'in dağıtıldığı alt ağa atanan Microsoft.Network/virtualNetworks/subnets/join/action iznine sahip olduğundan emin olun. Özel bir rol bu izinle tanımlanmamışsa, Microsoft.Network/virtualNetworks/subnets/join/action iznini içeren yerleşik Ağ Katkıda Bulunanı rolünü kullanabilirsiniz.

# 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"

Yukarıdaki komut için daha fazla parametre yapılandırmak için bkz . az aks create.

Not

Oluşturduğunuz AKS kümesi, oluşturduğunuz myResourceGroup kaynak grubunda görünür. Ancak, otomatik olarak oluşturulan uygulama ağ geçidi örneği, aracı havuzlarının bulunduğu düğüm kaynak grubunda yer alır. Düğüm kaynak grubu varsayılan olarak MC_resource-group-name_cluster-name_location olarak adlandırılır, ancak değiştirilebilir.

AGIC kullanarak örnek uygulama dağıtma

Şimdi oluşturduğunuz AKS kümesine örnek bir uygulama dağıtacaksınız. Uygulama, giriş için AGIC eklentisini kullanır ve uygulama ağ geçidi örneğini AKS kümesine bağlar.

İlk olarak, komutunu çalıştırarak AKS kümesine az aks get-credentials kimlik bilgilerini alın:

az aks get-credentials -n myCluster -g myResourceGroup

Kimlik bilgileriniz olduğuna göre, kümeye giriş için AGIC kullanan bir örnek uygulama ayarlamak için aşağıdaki komutu çalıştırın. AGIC, daha önce ayarladığınız uygulama ağ geçidi örneğini dağıttığınız örnek uygulamaya karşılık gelen yönlendirme kurallarıyla güncelleştirir.

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

Uygulamanın erişilebilir olup olmadığını denetleyin

Uygulama ağ geçidi örneği AKS kümesine yönelik trafiğe hizmet verecek şekilde ayarlandıysa şimdi uygulamanızın erişilebilir olduğunu doğrulayalım. İlk olarak girişin IP adresini alın:

kubectl get ingress

Oluşturduğunuz örnek uygulamanın aşağıdakilerden biri tarafından çalıştırıldığını denetleyin:

  • Önceki komutu çalıştırmaktan elde ettiğiniz uygulama ağ geçidi örneğinin IP adresini ziyaret etme.
  • curl kullanma.

Application Gateway'in güncelleştirmeyi alması bir dakika sürebilir. Uygulama ağ geçidi hala portalda Güncelleştirme durumundaysa, IP adresine ulaşmadan önce bitmesine izin verin.

Kaynakları temizleme

Bunlara artık ihtiyacınız kalmadığında, myResourceGroup ve MC_myResourceGroup_myCluster_eastus kaynak gruplarını silerek bu öğreticide oluşturulan tüm kaynakları silin:

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

Sonraki adımlar

Bu öğreticide şunları yaptınız:

  • AGIC eklentisinin etkin olduğu yeni AKS kümesi oluşturuldu
  • AKS kümesinde giriş için AGIC kullanarak örnek bir uygulama dağıtıldı

AGIC hakkında daha fazla bilgi edinmek için bkz . Application Gateway Giriş Denetleyicisi nedir ve AKS kümeniz için AGIC eklentisini devre dışı bırakma ve yeniden etkinleştirme.

Var olan bir AKS kümesinde uygulama ağ geçidi giriş denetleyicisi eklentisini etkinleştirmeyi öğrenmek için sonraki öğreticiye geçin.