Azure Kubernetes Service (AKS) Azure CNI ağ iletişimi yapılandırma

Varsayılan olarak AKS kümeleri kubenet kullanırve sizin için bir sanal ağ ve alt ağ oluşturulur. kubenet ile düğümler bir sanal ağ alt ağına ip adresi verir. Daha sonra düğümlerde ağ adresi çevirisi (NAT) yapılandırılır ve podlar düğüm IP'sinde "gizli" bir IP adresi alır. Bu yaklaşım, podların kullanmak üzere ağ alanınıza bölmeniz gereken IP adresi sayısını azaltır.

Tüm Azure Container Networking Interface (CNI)ile, her pod alt ağdan bir IP adresi alır ve doğrudan erişilebilir. Bu IP adresleri ağ alanınız genelinde benzersiz olmalı ve önceden plan yapılmalıdır. Her düğümün desteklediği en fazla pod sayısı için bir yapılandırma parametresi vardır. Daha sonra düğüm başına eşdeğer SAYıDA IP adresi, bu düğüm için önceden ayrılmıştır. Bu yaklaşım daha fazla planlama gerektirir ve genellikle IP adresi tükenmesi veya uygulama talebi artarak daha büyük bir alt ağda kümeleri yeniden oluşturma ihtiyacıyla sonuç verir.

Bu makalede, aks kümesi için Azure CNI alt ağı oluşturmak ve kullanmak üzere ağ iletişimi oluşturma ve kullanma hakkında bilgi edinebilirsiniz. Ağ seçenekleri ve dikkat edilmesi gerekenler hakkında daha fazla bilgi için bkz. Kubernetesve AKS için ağ kavramları.

Önkoşullar

  • AKS kümesi için sanal ağ giden İnternet bağlantısına izin ver ver olmalıdır.
  • AKS kümeleri Kubernetes hizmeti adres aralığı, pod adres aralığı veya küme sanal ağ adres aralığı için , 169.254.0.0/16 172.30.0.0/16 , veya 172.31.0.0/16 192.0.2.0/24 kullanmaz.
  • AKS kümesi tarafından kullanılan küme kimliği, sanal ağ içindeki alt ağ üzerinde en az Ağ Katılımcısı izinlerine sahip olmalıdır. Yerleşik Ağ Katılımcısı rolünü kullanmak yerine özel bir rol tanımlamak isterseniz aşağıdaki izinler gereklidir:
    • Microsoft.Network/virtualNetworks/subnets/join/action
    • Microsoft.Network/virtualNetworks/subnets/read
  • AKS düğüm havuzuna atanan alt ağ, temsilci alt ağı olamaz.
  • AKS, alt ağına Ağ Güvenlik Grupları (NSG) uygulamaz ve bu alt ağ ile ilişkili NSG'lerden herhangi birini değiştirmez. Kendi alt anızı sağlar ve bu alt ağ ile ilişkili NSG'leri eklersiniz, NSG'lerde güvenlik kurallarının düğüm ve pod CIDR aralıkları arasında trafiğe izin vermesini sağlamelisiniz. Diğer ayrıntılar için bkz. Ağ güvenlik grupları.

Kümeniz için IP adresini planlama

Kümeler, ağ Azure CNI ek planlama gerektirir. Sanal ağ ve alt ağının boyutu, çalıştırmayı planlasanız pod sayısını ve küme için düğüm sayısını barındırmalıdır.

Podların ve küme düğümlerinin IP adresleri, sanal ağ içinde belirtilen alt ağdan atanır. Her düğüm bir birincil IP adresiyle yapılandırılır. Varsayılan olarak, düğümde zamanlanan podlara atanan Azure CNI 30 ek IP adresi önceden yapılandırılır. Kümenizin ölçeğini genişletince her düğüm, alt ağdan gelen IP adresleriyle benzer şekilde yapılandırılır. Düğüm başına en fazla pod sayısına da bakabilirsiniz.

Önemli

Gereken IP adresi sayısı, yükseltme ve ölçeklendirme işlemleriyle ilgili dikkat edilmesi gerekenleri içerir. IP adresi aralığını yalnızca sabit sayıda düğümü destekleyecek şekilde ayarsanız, kümenizi yükseltamaz veya ölçeklendiramazsınız.

  • AKS kümenizi yükseltin, kümeye yeni bir düğüm dağıtılır. Hizmetler ve iş yükleri yeni düğümde çalışmaya başlar ve kümeden daha eski bir düğüm kaldırılır. Bu çalışırken yükseltme işleminin kullanılabilir olması için en az bir ek IP adresi bloğu gerekir. Bu durumda düğüm sayınız n + 1 olur.

    • Bu durum özellikle Sunucu düğümü havuzlarını Windows önemlidir. Windows sunucu düğümleri otomatik olarak güncelleştirmeleri Windows, bunun yerine düğüm havuzunda bir yükseltme gerçekleştirebilirsiniz. Bu yükseltme, en son Windows Server 2019 temel düğüm görüntüsü ve güvenlik düzeltme ekleri ile yeni düğümler dağıtır. Windows Server düğüm havuzunu yükseltme hakkında daha fazla bilgi için bkz. AKS'de bir düğüm havuzunu yükseltme.
  • AKS kümelerini ölçeklendirin, kümeye yeni bir düğüm dağıtılır. Hizmetler ve iş yükleri yeni düğümde çalışmaya başlar. IP adresi aralığınız, kümenizin destekleyene düğüm ve pod sayısının ölçeğini nasıl ölçeklendirmek istediğinize dikkat etmek gerekir. Yükseltme işlemleri için bir ek düğüm de dahil edilecektir. Bu durumda düğüm sayınız n + number-of-additional-scaled-nodes-you-anticipate + 1 olur.

Düğümlerinizin en fazla pod sayısını çalıştırmasını ve düzenli olarak podları yok etmelerini ve dağıtmalarını bekliyorsanız, düğüm başına bazı ek IP adreslerini de faktöründe bulundurabilirsiniz. Bu ek IP adreslerinin göz önünde bulundurulması, hizmetin silinmesi ve yeni bir hizmetin dağıtılması ve adresin alınması için yayımlanan IP adresinin silinmesi birkaç saniye sürebilir.

AKS kümesi için IP adresi planı bir sanal ağ, düğümler ve podlar için en az bir alt ağ ve Kubernetes hizmeti adres aralığından oluşur.

Adres aralığı/ Azure kaynağı Sınırlar ve boyutlandırma
Sanal ağ Azure sanal ağı /8 kadar büyük olabilir, ancak 65.536 yapılandırılmış IP adresiyle sınırlıdır. Adres alanınızı yapılandırmadan önce diğer sanal ağlarda hizmetlerle iletişim kurmak da dahil olmak üzere tüm ağ ihtiyaçlarını göz önünde bulundurabilirsiniz. Örneğin, çok büyük bir adres alanı yapılandırırsanız ağ içinde diğer adres alanlarının çakışması ile ilgili sorunlaryla karşınıza olabilir.
Alt ağ Kümenize sağlayabileceğiniz düğümleri, podları ve tüm Kubernetes ile Azure kaynaklarını barındıracak kadar büyük olmalıdır. Örneğin, bir iç ağ Azure Load Balancer, ön uç IP'leri genel IP'lerden değil küme alt ağından ayrılır. Alt ağ boyutu yükseltme işlemlerini veya gelecekteki ölçeklendirme ihtiyaçlarını da dikkate almalıdır.

Yükseltme işlemleri için ek bir düğüm dahil minimum alt ağ boyutunu hesaplamak için: (number of nodes + 1) + ((number of nodes + 1) * maximum pods per node that you configure)

50 düğümlü küme örneği: (51) + (51 * 30 (default)) = 1,581 (/21 veya daha büyük)

Ek 10 düğümün ölçeğini ölçeklendirmek için sağlamayı da içeren 50 düğümlü bir küme örneği: (61) + (61 * 30 (default)) = 1,891 (/21 veya daha büyük)

Kümenizi oluşturmada düğüm başına en fazla pod sayısı belirtmezseniz, düğüm başına en fazla pod sayısı 30 olarak ayarlanır. Gereken en düşük IP adresi sayısı, bu değere göredir. En düşük IP adresi gereksinimlerinizi farklı bir maksimum değerle hesaplarsanız, kümenizi dağıtırken bu değeri ayarlamak için düğüm başına en fazla pod sayısını yapılandırmaya bakın.

Kubernetes hizmeti adres aralığı Bu aralık, bu sanal ağ üzerinde veya bu sanal ağa bağlı herhangi bir ağ öğesi tarafından kullanılmamalı. Hizmet adresi CIDR'nin /12'den küçük olması gerekir. Bu aralığı farklı AKS kümelerde yeniden kullanabilirsiniz.
Kubernetes DNS hizmeti IP adresi Küme hizmeti bulma tarafından kullanılacak Kubernetes hizmet adres aralığındaki IP adresi. Adres aralığınıza ilk IP adresini kullanmayın. Alt ağ aralığınıza ilk adres kubernetes.default.svc.cluster.local adresi için kullanılır.
Docker köprüsü adresi Docker köprüsü ağ adresi, tüm Docker yüklemelerinde bulunan varsayılan docker0 köprüsü ağ adresini temsil eder. Docker0 köprüsü AKS kümeleri veya podlar tarafından kullanılmasa da, AKS kümesinde docker derlemesi gibi senaryoları desteklemeye devam etmek için bu adresi ayarlayabilirsiniz. Docker köprüsü ağ adresi için bir CIDR seçmek gerekir çünkü aksi takdirde Docker otomatik olarak bir alt ağ seçer ve bu da diğer CIDR'lerle çakışabilecektir. Kümenin hizmet CIDR'si ve pod CIDR'si dahil olmak üzere ağlarınız üzerinde kalan CIDR'lerle harmanlamayan bir adres alanı seçebilirsiniz. Varsayılan değer: 172.17.0.1/16. Bu aralığı farklı AKS kümelerde yeniden kullanabilirsiniz.

Düğüm başına en fazla pod sayısı

AKS kümesinde düğüm başına en fazla pod sayısı 250'dir. Düğüm başına varsayılan en fazla pod sayısı, kubenet ile ağ iletişimi Azure CNI küme dağıtımı yöntemi arasında değişiklik gösterir.

Dağıtım yöntemi Kubenet varsayılanı Azure CNI varsayılan Dağıtım sırasında yapılandırılabilir
Azure CLI 110 30 Evet (en fazla 250)
Resource Manager şablonu 110 30 Evet (en fazla 250)
Portal 110 110 (Düğüm Havuzları sekmesinde yapılandırılır) No

En yüksek değeri yapılandırma - yeni kümeler

Küme dağıtım sırasında düğüm başına en fazla düğüm sayısını veya yeni düğüm havuzları eklerken yapılandırabileceksiniz. Azure CLı ile veya bir Kaynak Yöneticisi şablonuyla dağıtırsanız, düğüm başına maksimum düğüm sayısı değerini 250 olarak belirleyebilirsiniz.

Yeni düğüm havuzları oluştururken maxPods belirtmezseniz, Azure CNı için varsayılan değer olan 30 değerini alırsınız.

Düğüm başına en fazla düğüm sayısı için en düşük değer, sistem Pod 'nin küme durumu için kritik alan garantisi sağlamak üzere zorlanır. Düğüm başına maksimum pod için ayarlanalabilen en düşük değer 10 ' dur ve yalnızca her düğüm havuzunun yapılandırmasında en az 30 pod için alan varsa. Örneğin, düğüm başına en fazla 10 düğüm için maksimum Pod 'nin ayarlanması, her bir düğüm havuzunun en az 3 düğüme sahip olmasını gerektirir. Bu gereksinim, oluşturulan her yeni düğüm havuzu için geçerlidir; bu nedenle, 10 düğüm başına en fazla sayıda düğüm, eklenen her düğüm havuzu için en az 3 düğüm olmalıdır.

Minimum Maksimum
Azure CNı 10 250
Kubernetes kullanan 10 110

Not

Yukarıdaki tablodaki minimum değer AKS hizmeti tarafından kesinlikle zorlanır. Bir maxPods değerini, bu şekilde gösterilen en düşük boyuttan düşük ayarlayamazsınız. Bu, kümenin başlamasını engelleyebilir.

  • Azure CLI: --max-pods az aks Create komutuyla bir küme dağıtırken bağımsız değişkeni belirtin. En büyük değer 250 ' dir.
  • Kaynak Yöneticisi şablonu: maxPods bir kümeyi Kaynak Yöneticisi şablonuyla dağıtırken Managedclusteragentpoolprofile nesnesinde özelliğini belirtin. En büyük değer 250 ' dir.
  • Azure Portal: bir kümeyi Azure Portal birlikte dağıtırken düğüm başına en fazla düğüm sayısını değiştiremezsiniz. Azure Portal kullanarak dağıtırken, Azure CNI ağ kümeleri düğüm başına 110 Pod ile sınırlıdır.

En fazla mevcut kümeleri yapılandırma

Düğüm başına maxPod ayarı, yeni bir düğüm havuzu oluşturduğunuzda tanımlanabilir. Var olan bir kümede düğüm başına maxPod ayarını artırmanız gerekiyorsa, istenen yeni maxPod sayımına sahip yeni bir düğüm havuzu ekleyin. Yığınlarınızı yeni havuza geçirdikten sonra eski havuzu silin. Bir kümedeki eski bir havuzu silmek için, düğüm havuzu modlarını sistem düğüm havuzları belgesindetanımlandığı şekilde ayarlamadığınıza emin olun.

Dağıtım parametreleri

Bir AKS kümesi oluşturduğunuzda, aşağıdaki parametreler Azure CNı ağı için yapılandırılabilir:

Sanal ağ: Kubernetes kümesini dağıtmak istediğiniz sanal ağ. Kümeniz için yeni bir sanal ağ oluşturmak isterseniz, Yeni oluştur ' u seçin ve sanal ağ oluşturma bölümündeki adımları izleyin. Bir Azure sanal ağı için sınırlamalar ve Kotalar hakkında daha fazla bilgi için bkz. Azure aboneliği ve hizmet limitleri, Kotalar ve kısıtlamalar.

Alt ağ: kümeyi dağıtmak istediğiniz sanal ağ içindeki alt ağ. Kümeniz için sanal ağda yeni bir alt ağ oluşturmak isterseniz, Yeni oluştur ' u seçin ve alt ağ oluşturma bölümündeki adımları izleyin. Karma bağlantı için, adres aralığı ortamınızdaki diğer tüm sanal ağlarla çakışmamalıdır.

Azure ağ eklentisi: Azure ağ eklentisi kullanıldığında, aks kümesine ait olmayan clusterCIDR IÇINDEKI bir IP 'ye sahip VM 'Lerden "ExternalTrafficPolicy = Local" Iç yük dengeleyici hizmetine erişilemez.

Kubernetes hizmeti adres aralığı: Bu parametre, Kubernetes 'in kümenizdeki iç hizmetlere atadığı sanal IP 'ler kümesidir. Aşağıdaki gereksinimleri karşılayan herhangi bir özel adres aralığını kullanabilirsiniz:

  • Kümenizin sanal ağ IP adresi aralığı içinde olmaması gerekir
  • Küme sanal ağ eşlerinin bulunduğu diğer sanal ağlarla çakışmamalıdır
  • Herhangi bir şirket içi IP ile çakışmamalıdır
  • ,, Veya aralıkları dahilinde olmamalıdır 169.254.0.0/16 172.30.0.0/16 172.31.0.0/16``192.0.2.0/24

Bir hizmet adres aralığını kümeniz ile aynı sanal ağ içinde belirtmek Teknik olarak mümkün olsa da, bunun yapılması önerilmez. Çakışan IP aralıkları kullanılırsa öngörülemeyen davranış oluşabilir. Daha fazla bilgi için bu makalenin SSS bölümüne bakın. Kubernetes hizmetleri hakkında daha fazla bilgi için bkz. Kubernetes belgelerindeki Hizmetler .

Kubernetes DNS HIZMETI IP adresi: kümenin DNS HIZMETI için IP adresi. Bu adresin Kubernetes hizmeti adres aralığı içinde olması gerekir. Adres aralığızdaki ilk IP adresini kullanmayın. Alt ağ aralığınızı ilk adres Kubernetes. default. svc. Cluster. Local adresi için kullanılır.

Docker köprü adresi: Docker köprü ağ adresi, tüm Docker yüklemelerinde bulunan varsayılan docker0 Köprüsü ağ adresini temsil eder. Docker0 Bridge, aks kümeleri veya Pod tarafından kullanılmadığından, aks kümesi içindeki Docker derlemesi gibi senaryoları desteklemeye devam etmek için bu adresi ayarlamanız gerekir. Docker köprü ağ adresi için bir CıDR seçmeniz gerekir, aksi takdirde Docker diğer Cıdrs ile çakışabilecek bir alt ağ seçer. Kümenin hizmet CıDR ve pod CıDR dahil olmak üzere ağlarınızdaki CIO 'nun geri kalanı ile çakışmayan bir adres alanı seçmelisiniz.

Ağ iletişimini yapılandırma-CLı

Azure CLı ile bir AKS kümesi oluşturduğunuzda, Azure CNı ağını de yapılandırabilirsiniz. Azure CNı ağı etkin olan yeni bir AKS kümesi oluşturmak için aşağıdaki komutları kullanın.

İlk olarak, AKS kümesinin katılacağını varolan alt ağın alt ağ kaynak KIMLIĞINI alın:

$ az network vnet subnet list \
    --resource-group myVnet \
    --vnet-name myVnet \
    --query "[0].id" --output tsv

/subscriptions/<guid>/resourceGroups/myVnet/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/default

Gelişmiş ağlarla bir küme oluşturmak için, bağımsız değişkeniyle az aks Create komutunu kullanın --network-plugin azure . Değeri, --vnet-subnet-id önceki adımda toplanan alt ağ kimliğiyle güncelleştirin:

az aks create \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --network-plugin azure \
    --vnet-subnet-id <subnet-id> \
    --docker-bridge-address 172.17.0.1/16 \
    --dns-service-ip 10.2.0.10 \
    --service-cidr 10.2.0.0/24 \
    --generate-ssh-keys

Ağı yapılandırma-Portal

Azure portal aşağıdaki ekran görüntüsünde, AKS kümesi oluşturma sırasında bu ayarları yapılandırmanın bir örneği gösterilmektedir:

! [Azure portal gelişmiş ağ yapılandırması] [Portal-01-ağ-Gelişmiş]

IP 'lerin dinamik ayırması ve gelişmiş alt ağ desteği (Önizleme)

Önemli

AKS önizleme özellikleri self servis, kabul etme temelinde kullanılabilir. Önizlemeler "olduğu gibi" ve "kullanılabilir" olarak sağlanır ve hizmet düzeyi sözleşmelerinden ve sınırlı garantiden dışlanmıştır. AKS önizlemeleri en iyi çaba temelinde müşteri desteği kapsamındadır. Bu nedenle bu özellikler üretimde kullanım için uygun değil. Daha fazla bilgi için aşağıdaki destek makalelerini okuyun:

Geleneksel CNı ile bir dezavantajı, AKS kümesi büyüdükçe Pod IP adreslerinin tükenmesi olduğundan, tüm kümeyi daha büyük bir alt ağda yeniden oluşturma gereksinimiyle sonuçlanır. Azure CNı 'deki yeni dinamik IP ayırma özelliği, AKS kümesini barındıran alt ağdan ayrı bir alt ağdan farklı pod IP 'Leri ayırarak bu sorunu çözer. Aşağıdaki avantajları sunar:

  • Daha ıyı IP kullanımı: IP'Ler, Pod alt ağından küme yığınlarından dinamik olarak ayrılır. Bu, kümedeki IP 'lerin geleneksel CNı çözümüne kıyasla, her düğüm için IP 'lerin statik olarak ayrılmasını sağlayan, daha iyi bir şekilde kullanımına yol açar.

  • Ölçeklenebilir ve esnek: düğüm ve pod alt ağları bağımsız olarak ölçeklendirilebilir. Tek bir pod alt ağı, bir kümenin birden çok düğüm havuzunda veya aynı VNet 'te dağıtılan birden çok AKS kümesi arasında paylaşılabilir. Ayrıca, bir düğüm havuzu için ayrı bir pod alt ağı da yapılandırabilirsiniz.

  • Yüksek performans: Pod sanal ağ IP 'leri atandığından, sanal ağ üzerindeki diğer küme Pod ve kaynaklarına doğrudan bağlantı sağlar. Çözüm, performansı azalmadan çok büyük kümeleri destekler.

  • Pod için ayrı VNET ilkeleri: bir alt ağa sahip olduğundan, düğüm ilkelerinden farklı olan ayrı VNET ilkeleri yapılandırabilirsiniz. Bu, yalnızca düğümler için internet bağlantısına izin verme, VNet ağ NAT kullanarak düğüm havuzunda pod için kaynak IP 'yi düzeltme ve düğüm havuzları arasındaki trafiği filtrelemek için NSG 'ler kullanma gibi birçok yararlı senaryoyu sağlar.

  • Kubernetes ağ ilkeleri: hem Azure ağ ilkeleri hem de Calıco bu yeni çözümle çalışır.

Ek önkoşullar

Azure CNı için zaten listelenen Önkoşullar hala geçerlidir ancak bazı ek sınırlamalar vardır:

  • Yalnızca Linux düğüm kümeleri ve düğüm havuzları desteklenir.
  • AKS altyapısı ve DIY kümeleri desteklenmez.

aks-previewAzure CLI 'yı yükler

Aks-Preview Azure CLI uzantısına ihtiyacınız olacaktır. Az Extension Add komutunu kullanarak aks-Preview Azure CLI uzantısını yükler. Veya az Extension Update komutunu kullanarak kullanılabilir tüm güncelleştirmeleri yükler.

# Install the aks-preview extension
az extension add --name aks-preview

# Update the extension to make sure you have the latest version installed
az extension update --name aks-preview

PodSubnetPreviewÖnizleme özelliğini kaydetme

Özelliği kullanmak için PodSubnetPreview aboneliğinizdeki Özellik bayrağını da etkinleştirmeniz gerekir.

PodSubnetPreviewAşağıdaki örnekte gösterildiği gibi, az Feature Register komutunu kullanarak özellik bayrağını kaydedin:

az feature register --namespace "Microsoft.ContainerService" --name "PodSubnetPreview"

Durumun kayıtlı gösterilmesi birkaç dakika sürer. Az Feature List komutunu kullanarak kayıt durumunu doğrulayın:

az feature list -o table --query "[?contains(name, 'Microsoft.ContainerService/PodSubnetPreview')].{Name:name,State:properties.state}"

Hazırlandığınızda, az Provider Register komutunu kullanarak Microsoft. Containerservice kaynak sağlayıcısı kaydını yenileyin:

az provider register --namespace Microsoft.ContainerService

IP adresini planlama

Bu özellik kullanılırken, planlama çok daha basittir. Düğümler ve düğüm birbirinden bağımsız olarak ölçeklendirildiğinden, adres alanları ayrı olarak da planlanabilecek. Pod alt ağları bir düğüm havuzunun ayrıntı düzeyine yapılandırılabileceğinizden, müşteriler düğüm havuzu eklerken her zaman yeni bir alt ağ ekleyebilirler. Bir küme/düğüm havuzundaki sistem IP 'Leri Pod alt ağından de IP alır, bu nedenle bu davranışın için de hesap oluşturulması gerekir.

Kubernetes Hizmetleri ve Docker Köprüsü için IP planlaması değişmeden kalır.

IP 'lerin ve gelişmiş alt ağ desteğinin dinamik olarak ayrılması ile bir kümede düğüm başına maksimum Pod

Düğüm değerleri başına podlar dinamik AZURE CNI ayırma ile kullanılırken geleneksel CNI davranışından biraz değişmiştir:

CNI Dağıtım Yöntemi Varsayılan Dağıtım sırasında yapılandırılabilir
Geleneksel Azure CNI Azure CLI 30 Evet (en fazla 250)
Azure CNI dinamik ayırma ile çalışma Azure CLI 250 Evet (en fazla 250)

Pod başına en fazla düğümü yapılandırmayla ilgili diğer tüm kılavuzlar aynı kalır.

Ek dağıtım parametreleri

Yukarıda açıklanan dağıtım parametrelerinin hepsi geçerlidir ve tek bir özel durum vardır:

  • Alt parametresi şimdi kümenin düğümleriyle ilgili alt ağı ifade eder.
  • IP adresleri podlara dinamik olarak ayrılan alt ağı belirtmek için ek bir parametre pod alt ağı kullanılır.

Ağı yapılandırma - IP'leri dinamik ayırma ve gelişmiş alt ağ desteği ile CLI

Kümeniz içinde IP'ler ve gelişmiş alt ağ desteğinin dinamik olarak ayırmasını kullanmak, bir kümeyi yapılandırmaya ilişkin varsayılan yönteme Azure CNI. Aşağıdaki örnek, düğümler için bir alt ağ ve podlar için bir alt ağ ile yeni bir sanal ağ oluşturma ve dinamik IP ayırma ve gelişmiş alt ağ desteği ile Azure CNI kullanan bir küme oluşturma konusunda yol gösterir. gibi değişkenleri kendi değerlerinize göre $subscription değiştirebilirsiniz:

İlk olarak, iki alt ağ ile sanal ağı oluşturun:

resourceGroup="myResourceGroup"
vnet="myVirtualNetwork"
location="westcentralus"

# Create the resource group
az group create --name $resourceGroup --location $location

# Create our two subnet network 
az network vnet create -g $resourceGroup --location $location --name $vnet --address-prefixes 10.0.0.0/8 -o none 
az network vnet subnet create -g $resourceGroup --vnet-name $vnet --name nodesubnet --address-prefixes 10.240.0.0/16 -o none 
az network vnet subnet create -g $resourceGroup --vnet-name $vnet --name podsubnet --address-prefixes 10.241.0.0/16 -o none 

Ardından kullanarak düğüm alt ağın ve kullanarak pod alt ağın --vnet-subnet-id başvurarak kümeyi --pod-subnet-id oluşturun:

clusterName="myAKSCluster"
subscription="aaaaaaa-aaaaa-aaaaaa-aaaa"

az aks create -n $clusterName -g $resourceGroup -l $location \
  --max-pods 250 \
  --node-count 2 \
  --network-plugin azure \
  --vnet-subnet-id /subscriptions/$subscription/resourceGroups/$resourceGroup/providers/Microsoft.Network/virtualNetworks/$vnet/subnets/nodesubnet \
  --pod-subnet-id /subscriptions/$subscription/resourceGroups/$resourceGroup/providers/Microsoft.Network/virtualNetworks/$vnet/subnets/podsubnet  

Düğüm havuzu ekleme

Düğüm havuzu eklerken, kullanarak düğüm alt ağın ve kullanarak --vnet-subnet-id pod alt ağın başvurusunda --pod-subnet-id bulunur. Aşağıdaki örnek, yeni düğüm havuzunun oluşturulmasında başvurulan iki yeni alt ağ oluşturur:

az network vnet subnet create -g $resourceGroup --vnet-name $vnet --name node2subnet --address-prefixes 10.242.0.0/16 -o none 
az network vnet subnet create -g $resourceGroup --vnet-name $vnet --name pod2subnet --address-prefixes 10.243.0.0/16 -o none 

az aks nodepool add --cluster-name $clusterName -g $resourceGroup  -n newnodepool \
  --max-pods 250 \
  --node-count 2 \
  --vnet-subnet-id /subscriptions/$subscription/resourceGroups/$resourceGroup/providers/Microsoft.Network/virtualNetworks/$vnet/subnets/node2subnet \
  --pod-subnet-id /subscriptions/$subscription/resourceGroups/$resourceGroup/providers/Microsoft.Network/virtualNetworks/$vnet/subnets/pod2subnet \
  --no-wait 

Sık sorulan sorular

Aşağıdaki sorular ve yanıtlar ağ yapılandırması Azure CNI geçerlidir.

  • Vm'leri küme alt ağıma dağıtabilirsiniz.

    Evet.

  • Dış sistemler, etkin bir poddan kaynaklanan trafik için hangi kaynak AZURE CNI görüyor?

    AKS kümesiyle aynı sanal ağ içinde yer alan sistemler, poddan gelen trafiğin kaynak adresi olarak pod IP'sini görebilir. AKS kümesi sanal ağı dışındaki sistemler poddan gelen trafiğin kaynak adresi olarak düğüm IP'sini görebilir.

  • Pod başına ağ ilkelerini yapılandırabilirsiniz.

    Evet, Kubernetes ağ ilkesi AKS'de kullanılabilir. Kullanmaya başlama için bkz. AKS'de ağ ilkelerini kullanarak podlar arasındaki trafiğin güvenliğini sağlama.

  • Bir düğüme dağıtılabilir en fazla pod sayısı yapılandırılabilir mi?

    Evet, Azure CLI veya azure cli şablonuyla bir küme Resource Manager. Bkz. Düğüm başına en fazla podsayısı.

    Mevcut kümedeki düğüm başına en fazla pod sayısını değiştiremezsiniz.

  • Nasıl yaparım? AKS kümesi oluşturma sırasında oluşturduğum alt ağ için ek özellikleri yapılandıracak mısınız? Örneğin, hizmet uç noktaları.

    AKS kümesi oluşturma sırasında oluştursanız sanal ağ ve alt ağların özelliklerinin tam listesi, sanal ağ yapılandırma sayfasındaki standart sanal ağ Azure portal.

  • Kubernetes hizmet adres aralığı için küme sanal ağımda farklı bir alt ağ kullanabilir miyim?

    Bu önerilmez, ancak bu yapılandırma mümkündür. Hizmet adres aralığı, Kubernetes'in kümenizin iç hizmetlere atadığınız sanal IP'lerden (VIP) bir kümesidir. Azure Ağ Kubernetes kümesinde hizmet IP aralığı görünürlüğü yoktur. Kümenin hizmet adres aralığına görünürlük olmaması nedeniyle, daha sonra hizmet adres aralığıyla çakışan küme sanal ağına yeni bir alt ağ oluşturmak mümkündür. Böyle bir çakışma oluşursa Kubernetes, alt ağda başka bir kaynak tarafından zaten kullanmakta olan bir IP adresi atayarak tahmin edilemeyen davranışlara veya hatalara neden olabilir. Kümenin sanal ağının dışında bir adres aralığı kullanmaya devam ederek bu çakışma riskini önleyebilirsiniz.

IP adreslerinin dinamik olarak tahsisi ve gelişmiş alt ağ desteği hakkında SSS

AŞAĞıDAKI sorular ve yanıtlar, IP adreslerinin dinamik Azure CNI gelişmiş alt ağ desteği kullanılırken ağ yapılandırması için geçerlidir.

  • Bir kümeye/düğüm havuzuna birden çok pod alt ağı atayabilirsiniz.

    Bir kümeye veya düğüm havuzuna yalnızca bir alt ağ atanabilir. Ancak, birden çok küme veya düğüm havuzu tek bir alt ağı paylaşabilir.

  • Farklı bir sanal ağdan pod alt ağları atayabilirsiniz.

    Pod alt ağı, kümeyle aynı sanal ağdan olmalıdır.

  • Bir kümedeki bazı düğüm havuzları geleneksel CNI'yi, diğerleri ise yeni CNI'yi kullanabilir mi?

    Kümenin tamamı yalnızca bir CNI türü kullan olmalıdır.

AKS Engine

Azure Kubernetes Service Altyapısı (AKS Altyapısı), Azure'da Kubernetes kümeleri dağıtmak Azure Resource Manager şablonlarını oluşturan açık kaynak bir projedir.

AKS Altyapısı ile oluşturulan Kubernetes kümeleri hem kubenet hem de Azure CNI destekler. Bu nedenle, her iki ağ senaryosu da AKS Altyapısı tarafından de desteklenene.

Sonraki adımlar

AKS'de ağ oluşturma hakkında daha fazla bilgi edinmek için aşağıdaki makalelere bakın:

[advanced-networking-diagram-01]: ./media/networking-overview/advanced-networking-diagram-01.png [portal-01-networking-advanced]: ./media/networking-overview/portal-01-networking-advanced.png