Azure Kubernetes Service'de (AKS) Azure CNI Katmanı ağını yapılandırma
Geleneksel Azure Container Networking Interface (CNI), her poda bir sanal ağ IP adresi atar. Bu IP adresini her düğümde önceden ayrılmış ip kümesinden veya podlar için ayrılmış ayrı bir alt ağdan atar. Bu yaklaşım IP adresi planlaması gerektirir ve uygulamanızın talebi arttıkça kümelerinizi ölçeklendirme konusunda güçlükler doğuran adres tükenmesine yol açabilir.
Azure CNI Katmanı ile küme düğümleri bir Azure Sanal Ağ (VNet) alt asına dağıtılır. Podlara, düğümleri barındıran sanal ağdan mantıksal olarak farklı bir özel CIDR'den IP adresleri atanır. Küme içindeki pod ve düğüm trafiği bir Katman ağı kullanır. Ağ Adresi Çevirisi (NAT), küme dışındaki kaynaklara ulaşmak için düğümün IP adresini kullanır. Bu çözüm önemli miktarda sanal ağ IP adresi tasarrufu sağlar ve kümenizi büyük boyutlara ölçeklendirmenizi sağlar. Ek bir avantajı, azure Kubernetes Service'teki (AKS) kapsayıcılı uygulamalar için kullanılabilir IP alanını genişleten özel CIDR'yi farklı AKS kümelerinde yeniden kullanabilmenizdir.
Katman ağına genel bakış
Katman ağı'nda alt ağlardan yalnızca Kubernetes küme düğümlerine IP'ler atanır. Podlar, küme oluşturma sırasında sağlanan özel bir CIDR'den IP'ler alır. Her düğüme aynı CIDR'den oyulmuş bir /24
adres alanı atanır. Bir kümenin ölçeğini genişlettiğiniz zaman oluşturulan ek düğümler, aynı CIDR'den otomatik olarak adres alanları alır /24
. Azure CNI bu /24
alandan podlara IP atar.
Podun özel CIDR alanı için Azure Ağ yığınında ayrı bir yönlendirme etki alanı oluşturulur ve podlar arasında doğrudan iletişim için bir Katman ağı oluşturulur. Küme alt ağı üzerinde özel yollar sağlamaya veya podlar arasındaki trafiği tünellemek için kapsülleme yöntemi kullanmanıza gerek yoktur. Bu yöntem, sanal ağdaki VM'lerle eşit olarak podlar arasında bağlantı performansı sağlar. Podlar içinde çalışan iş yükleri, ağ adresi düzenlemesinin gerçekleştiğinin farkında bile değildir.
Şirket içi ve eşlenmiş sanal ağlar gibi küme dışındaki uç noktalarla iletişim, NAT aracılığıyla düğüm IP'sini kullanarak gerçekleşir. Azure CNI, trafiğin kaynak IP'sini (podun yer paylaşımı IP'si) VM'nin birincil IP adresine çevirerek Azure Ağ yığınının trafiği hedefe yönlendirmesini sağlar. Küme dışındaki uç noktalar bir poda doğrudan bağlanamaz. Pod'un uygulamasını sanal ağda erişilebilir hale getirmek için Kubernetes Load Balancer hizmeti olarak yayımlamanız gerekir.
Standart SKU Yük Dengeleyici veya Yönetilen NAT Ağ Geçidi kullanarak Katman podları için İnternet'e giden (çıkış) bağlantısı sağlayabilirsiniz. Çıkış trafiğini, küme alt ağındaki Kullanıcı Tanımlı Yollar'ı kullanarak bir güvenlik duvarına yönlendirerek de denetleyebilirsiniz.
Nginx veya HTTP uygulama yönlendirmesi gibi bir giriş denetleyicisi kullanarak kümeye giriş bağlantısını yapılandırabilirsiniz. Azure Uygulaması Gateway kullanarak giriş bağlantısını yapılandıramazsınız. Ayrıntılar için bkz. Azure CNI Katmanı ile ilgili sınırlamalar.
Kubenet ile Azure CNI Katmanı arasındaki farklar
Azure CNI Katmanı gibi Kubenet de sanal ağdan mantıksal olarak farklı bir adres alanından podlara IP adresleri atar, ancak ölçeklendirme ve diğer sınırlamaları vardır. Aşağıdaki tabloda Kubenet ile Azure CNI Yer Paylaşımı arasında ayrıntılı bir karşılaştırma sağlanır. IP kesintisi nedeniyle podlara sanal ağ IP adresleri atamak istemiyorsanız Azure CNI Yer Paylaşımı'nı kullanmanızı öneririz.
Alan | Azure CNI Katmanı | Kubenet |
---|---|---|
Küme ölçeği | 5000 düğüm ve 250 pod/düğüm | 400 düğüm ve 250 pod/düğüm |
Ağ yapılandırması | Basit - pod ağı için ek yapılandırma gerekmez | Karmaşık - pod ağı için küme alt ağında yol tabloları ve UDR'ler gerektirir |
Pod bağlantı performansı | Sanal ağdaki VM'lerle eşit performans | Ek atlama gecikme süresi ekler |
Kubernetes Ağ İlkeleri | Azure Ağ İlkeleri, Calico, Cilium | Calico |
Desteklenen işletim sistemi platformları | Linux ve Windows Server 2022, 2019 | Yalnızca Linux |
IP adresi planlaması
- Küme Düğümleri: AKS kümenizi ayarlarken, VNet alt ağlarınızın gelecekteki ölçeklendirme için yeterli alanı olduğundan emin olun. Her düğüm havuzunu ayrılmış bir alt ağa atayabilirsiniz. İlk
/24
üç IP adresi yönetim görevleri için ayrıldığından bir alt ağ en fazla 251 düğüme sığabilir. - Podlar: Katman çözümü, küme oluşturma sırasında belirttiğiniz özel CIDR'den her düğümdeki podlar için bir
/24
adres alanı atar. Boyut/24
sabittir ve artırılamaz veya azaltılamaz. Bir düğümde en fazla 250 pod çalıştırabilirsiniz. Pod adres alanını planlarken, özel CIDR'nin gelecekteki küme genişletmesini destekleyecek yeni düğümler için adres alanları sağlayacak/24
kadar büyük olduğundan emin olun.- Podlar için IP adresi alanını planlarken aşağıdaki faktörleri göz önünde bulundurun:
- Aynı pod CIDR alanı, aynı VNet'teki birden çok bağımsız AKS kümesinde kullanılabilir.
- Pod CIDR alanı küme alt ağ aralığıyla çakışmamalıdır.
- Pod CIDR alanı doğrudan bağlı ağlarla (VNet eşlemesi, ExpressRoute veya VPN gibi) çakışmamalıdır. Dış trafiğin podCIDR aralığında kaynak IP'leri varsa, kümeyle iletişim kurmak için SNAT aracılığıyla çakışmayan bir IP'ye çevirisi gerekir.
- Podlar için IP adresi alanını planlarken aşağıdaki faktörleri göz önünde bulundurun:
- Kubernetes hizmet adres aralığı: Hizmet adresi CIDR'nin boyutu, oluşturmayı planladığınız küme hizmetlerinin sayısına bağlıdır. değerinden
/12
küçük olmalıdır. Bu aralık, eşlenmiş sanal ağlarda ve şirket içi ağlarda kullanılan pod CIDR aralığı, küme alt ağ aralığı ve IP aralığı ile çakışmamalıdır. - Kubernetes DNS hizmeti IP adresi: Bu IP adresi, küme hizmeti bulma tarafından kullanılan Kubernetes hizmet adresi aralığındadır. Adres için bu adres kullanıldığından
kubernetes.default.svc.cluster.local
, adres aralığınızdaki ilk IP adresini kullanmayın.
Ağ güvenlik grupları
Azure CNI Katman ile poddan poda trafiği kapsüllenmemiştir ve alt ağ güvenlik grubu kuralları uygulanır. Alt ağ NSG'sinde pod CIDR trafiğini etkileyecek reddetme kuralları varsa, doğru küme işlevselliğini (tüm AKS çıkış gereksinimlerine ek olarak) sağlamak için aşağıdaki kuralların geçerli olduğundan emin olun:
- Tüm bağlantı noktaları ve protokollerde düğüm CIDR'den düğüm CIDR'ye trafik
- Tüm bağlantı noktaları ve protokollerde düğüm CIDR'den pod CIDR'ye trafik (hizmet trafiği yönlendirme için gereklidir)
- Tüm bağlantı noktaları ve protokollerde pod CIDR'den pod CIDR'ye trafik (DNS dahil olmak üzere poddan poda ve poddan hizmete trafik için gereklidir)
Poddan pod CIDR bloğu dışındaki herhangi bir hedefe gelen trafik, kaynak IP'yi podun çalıştığı düğümün IP'sine ayarlamak için SNAT kullanır.
Kümedeki iş yükleri arasındaki trafiği kısıtlamak istiyorsanız ağ ilkelerini kullanmanızı öneririz.
Düğüm başına en fazla pod sayısı
Küme oluşturma sırasında veya yeni bir düğüm havuzu eklediğinizde düğüm başına en fazla pod sayısını yapılandırabilirsiniz. Azure CNI Katmanı için varsayılan değer 250'dir. Azure CNI Katmanda belirtebileceğiniz en yüksek değer 250 ve en düşük değer 10'dur. Düğüm havuzu oluşturulurken yapılandırılan düğüm başına en fazla pod değeri, yalnızca bu düğüm havuzundaki düğümler için geçerlidir.
Kullanılacak ağ modelini seçme
Azure CNI podlar için iki IP adresleme seçeneği sunar: Podlara sanal ağ IP'leri atayan geleneksel yapılandırma ve Katman ağı. AKS kümeniz için hangi seçeneğin kullanılacağı, esneklik ve gelişmiş yapılandırma gereksinimleri arasında bir dengedir. Aşağıdaki önemli noktalar, her ağ modelinin en uygun olduğu zamanları belirlemeye yardımcı olur.
Aşağıdaki durumlarda Katman ağını kullanın:
- Çok sayıda poda ölçeklendirmek istiyorsunuz, ancak sanal ağınızda sınırlı IP adresi alanı var.
- Pod iletişiminin çoğu küme içindedir.
- Sanal düğümler gibi gelişmiş AKS özelliklerine ihtiyacınız yoktur.
Aşağıdaki durumlarda geleneksel sanal ağ seçeneğini kullanın:
- Kullanılabilir IP adresi alanınız var.
- Pod iletişiminin çoğu küme dışındaki kaynaklara yapılır.
- Küme dışındaki kaynakların podlara doğrudan ulaşması gerekir.
- Sanal düğümler gibi AKS gelişmiş özelliklerine ihtiyacınız vardır.
Azure CNI Yer Paylaşımı ile ilgili sınırlamalar
Azure CNI Katmanda aşağıdaki sınırlamalar vardır:
- Application Gateway'i katman kümesi için Giriş Denetleyicisi (AGIC) olarak kullanamazsınız.
- Katman kümesi için Kapsayıcılar için Application Gateway'i kullanamazsınız.
- Yer Paylaşımı için Sanal Makine Kullanılabilirlik Kümeleri (VMAS) desteklenmez.
- Düğüm havuzlarında DCv2 serisi sanal makineleri kullanamazsınız. Gizli Bilgi İşlem gereksinimlerini karşılamak için bunun yerine DCasv5 veya DCadsv5 serisi gizli VM'leri kullanmayı göz önünde bulundurun.
- Kümeyi dağıtmak için kendi alt ağınızı kullanıyorsanız, alt ağın, sanal ağın ve sanal ağı içeren kaynak grubunun adları 63 karakter veya daha az olmalıdır. Bu, bu adların AKS çalışan düğümlerinde etiket olarak kullanılmasından ve bu nedenle Kubernetes etiket söz dizimi kurallarına tabi olmasından kaynaklanır.
Katman kümelerini ayarlama
Not
Bağımsız değişkeni kullanmak --network-plugin-mode
için CLI sürüm 2.48.0 veya üzeri olmalıdır. Windows için en son aks-preview Azure CLI uzantısının yüklü olması gerekir ve aşağıdaki yönergeleri izleyebilirsiniz.
komutunu kullanarak az aks create
Azure CNI Yer Paylaşımı ile bir küme oluşturun. Katman kümesi belirtmek için bağımsız değişkenini --network-plugin-mode
kullandığınızdan emin olun. Pod CIDR belirtilmezse AKS varsayılan bir alan atar: viz. 10.244.0.0/16
.
clusterName="myOverlayCluster"
resourceGroup="myResourceGroup"
location="westcentralus"
az aks create \
--name $clusterName \
--resource-group $resourceGroup \
--location $location \
--network-plugin azure \
--network-plugin-mode overlay \
--pod-cidr 192.168.0.0/16 \
--generate-ssh-keys
Ayrılmış alt ağa yeni düğüm havuzu ekleme
Azure CNI Katman ile bir küme oluşturduktan sonra başka bir düğüm havuzu oluşturabilir ve düğümleri aynı sanal ağın yeni bir alt asına atayabilirsiniz. Aynı sanal ağ veya eşlenmiş sanal ağlardaki hedeflere doğru konağın giriş veya çıkış IP'lerini denetlemek istiyorsanız bu yaklaşım yararlı olabilir.
clusterName="myOverlayCluster"
resourceGroup="myResourceGroup"
location="westcentralus"
nodepoolName="newpool1"
subscriptionId=$(az account show --query id -o tsv)
vnetName="yourVnetName"
subnetName="yourNewSubnetName"
subnetResourceId="/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.Network/virtualNetworks/$vnetName/subnets/$subnetName"
az aks nodepool add --resource-group $resourceGroup --cluster-name $clusterName \
--name $nodepoolName --node-count 1 \
--mode system --vnet-subnet-id $subnetResourceId
Var olan bir kümeyi CNI Katmanına yükseltme
Not
Küme aşağıdaki ölçütleri karşılıyorsa mevcut bir Azure CNI kümesini Katman olarak güncelleştirebilirsiniz:
- Küme Kubernetes sürüm 1.22+ üzerindedir.
- Dinamik pod IP ayırma özelliğini kullanmaz.
- Etkinleştirilmiş ağ ilkeleri yoktur. Ağ İlkesi altyapısı yükseltmeden önce kaldırılabilir, bkz. Azure Ağ İlkesi Yöneticisi'ni veya Calico'yı kaldırma
- Kapsayıcı çalışma zamanı olarak docker içeren windows düğümü havuzları kullanmaz.
Not
Mevcut bir kümeyi CNI Katmanına yükseltmek geri alınamaz bir işlemdir.
Uyarı
Windows İşletim Sistemi Derlemesi 20348.1668'den önce, Windows Katman podları ile ilgili bir sınırlama söz konusuydu. Paketleri konak ağ podlarından yanlışlıkla SNATing, bu da Katman'a yükselten kümeler için daha zarar verici bir etkiye sahipti. Bu sorunu önlemek için 20348.1668'den büyük veya buna eşit Windows İşletim Sistemi Derlemesi'ni kullanın.
Uyarı
Podlardan SNAT paketleri içermemesi gereken ek IP aralıkları eklemek için özel bir azure-ip-masq-agent yapılandırması kullanıyorsanız, Azure CNI Yer Paylaşımı'na yükseltmek bu aralıklara bağlantıyı kesebilir. Katman alanından pod IP'lerine küme düğümleri dışındaki hiçbir şey erişemez.
Ayrıca, yeterince eski kümeler için azure-ip-masq-agent'ın önceki bir sürümünden kalan bir ConfigMap olabilir. adlı azure-ip-masq-agent-config
bu ConfigMap varsa ve kasıtlı olarak yerinde değilse, güncelleştirme komutu çalıştırılmadan önce silinmelidir.
Özel ip-masq-agent yapılandırması kullanılmıyorsa, Azure ip-masq-agent ConfigMaps ile ilgili olarak yalnızca azure-ip-masq-agent-config-reconciled
ConfigMap bulunmalıdır ve yükseltme işlemi sırasında bu otomatik olarak güncelleştirilir.
Yükseltme işlemi her düğüm havuzunun aynı anda yeniden görüntüsünün alınması için tetikler. Her düğüm havuzunun ayrı olarak Katman'a yükseltilmesi desteklenmez. Küme ağındaki tüm kesintiler, düğüm havuzundaki her düğümün yeniden görüntülendiği düğüm görüntüsü yükseltmesine veya Kubernetes sürümü yükseltmesine benzer.
Azure CNI Kümesi Yükseltmesi
Komutunu kullanarak yer paylaşımını kullanmak için mevcut bir Azure CNI kümesini güncelleştirin az aks update
.
clusterName="myOverlayCluster"
resourceGroup="myResourceGroup"
location="westcentralus"
az aks update --name $clusterName \
--resource-group $resourceGroup \
--network-plugin-mode overlay \
--pod-cidr 192.168.0.0/16
Podların --pod-cidr
mevcut düğüm alt ağıyla çakışmayan yeni bir katman alanından IP'leri alması gerektiğinden, eski CNI'den yükseltme yaparken parametresi gereklidir. Pod CIDR ayrıca düğüm havuzlarının herhangi bir sanal ağ adresiyle çakışamaz. Örneğin, sanal ağ adresiniz 10.0.0.0/8 ise ve düğümleriniz 10.240.0.0/16 alt asındaysa, --pod-cidr
10.0.0.0/8 veya kümedeki mevcut hizmet CIDR'siyle çakışamaz.
Kubenet Kümesi Yükseltmesi
komutunu kullanarak mevcut bir Kubenet kümesini Azure CNI Yer Paylaşımı'nı kullanacak şekilde güncelleştirin az aks update
.
clusterName="myOverlayCluster"
resourceGroup="myResourceGroup"
location="westcentralus"
az aks update --name $clusterName \
--resource-group $resourceGroup \
--network-plugin azure \
--network-plugin-mode overlay
Küme zaten sanal ağ IP alanıyla çakışmayan podlar için özel bir CIDR kullandığından, parametresini belirtmeniz --pod-cidr
gerekmez ve parametre kullanılmazsa Pod CIDR aynı kalır.
Not
Kubenet'ten CNI Yer Paylaşımı'na yükseltirken, artık pod yönlendirmesi için yol tablosu gerekli olmayacaktır. Küme müşteri tarafından sağlanan bir yol tablosu kullanıyorsa, geçiş işlemi sırasında pod trafiğini doğru düğüme yönlendirmek için kullanılan yollar otomatik olarak silinir. Küme yönetilen bir yol tablosu kullanıyorsa (yönlendirme tablosu AKS tarafından oluşturuldu ve düğüm kaynak grubunda yer alır) bu yol tablosu geçişin bir parçası olarak silinir.
Çift yığınlı Ağ
Yer paylaşımı ağı ve çift yığınlı Azure sanal ağı kullanırken AKS kümelerinizi çift yığın modunda dağıtabilirsiniz. Bu yapılandırmada düğümler, Azure sanal ağ alt ağından hem IPv4 hem de IPv6 adresi alır. Podlar, düğümlerin Azure sanal ağ alt ağına mantıksal olarak farklı bir adres alanından hem IPv4 hem de IPv6 adresi alır. Ardından podların Azure sanal ağındaki kaynaklara erişebilmesi için ağ adresi çevirisi (NAT) yapılandırması gerçekleştirilir. Trafiğin kaynak IP adresi, aynı ailenin düğümün birincil IP adresine NAT'tır (IPv4'e IPv4'e ve IPv6'ya IPv6'ya).
Önkoşullar
- Azure CLI 2.48.0 veya üzeri yüklü olmalıdır.
- Kubernetes sürüm 1.26.3 veya üzeri.
Sınırlamalar
Aşağıdaki özellikler çift yığınlı ağ ile desteklenmez:
- Azure ağ ilkeleri
- Calico ağ ilkeleri
- NAT Ağ Geçidi
- Sanal düğümler eklentisi
Çift yığınlı AKS kümesi dağıtma
Çift yığınlı kümeleri desteklemek için aşağıdaki öznitelikler sağlanır:
--ip-families
: Kümede etkinleştirmek için IP ailelerinin virgülle ayrılmış bir listesini alır.- Yalnızca
ipv4
veyaipv4,ipv6
desteklenir.
- Yalnızca
--pod-cidrs
: Pod IP'lerini atamak için CIDR gösterimi IP aralıklarının virgülle ayrılmış listesini alır.- Bu listedeki aralıkların sayısı ve sırası ile sağlanan
--ip-families
değer eşleşmelidir. - Hiçbir değer sağlanmazsa, varsayılan değer
10.244.0.0/16,fd12:3456:789a::/64
kullanılır.
- Bu listedeki aralıkların sayısı ve sırası ile sağlanan
--service-cidrs
: Hizmet IP'lerini atamak için CIDR gösterimi IP aralıklarının virgülle ayrılmış listesini alır.- Bu listedeki aralıkların sayısı ve sırası ile sağlanan
--ip-families
değer eşleşmelidir. - Hiçbir değer sağlanmazsa, varsayılan değer
10.0.0.0/16,fd12:3456:789a:1::/108
kullanılır. - Atanan
--service-cidrs
IPv6 alt ağı /108'den büyük olamaz.
- Bu listedeki aralıkların sayısı ve sırası ile sağlanan
Çift yığınlı AKS kümesi oluşturma
[
az group create
][az-group-create] komutunu kullanarak küme için bir Azure kaynak grubu oluşturun.az group create --location <region> --name <resourceGroupName>
parametresi olarak ayarlanmış
ipv4,ipv6
komutunu--ip-families
kullanarakaz aks create
çift yığınlı aks kümesi oluşturun.az aks create \ --location <region> \ --resource-group <resourceGroupName> \ --name <clusterName> \ --network-plugin azure \ --network-plugin-mode overlay \ --ip-families ipv4,ipv6 \ --generate-ssh-keys
Örnek iş yükü oluşturma
Küme oluşturulduktan sonra iş yüklerinizi dağıtabilirsiniz. Bu makalede, bir NGINX web sunucusunun örnek iş yükü dağıtımında size yol gösterilmektedir.
NGINX web sunucusu dağıtma
Uygulama yönlendirme eklentisi, AKS kümesinde giriş için önerilen yoldur. Uygulama yönlendirme eklentisi hakkında daha fazla bilgi ve eklentiyle bir uygulamanın nasıl dağıtılacağına ilişkin bir örnek için bkz . Uygulama yönlendirme eklentisiyle Yönetilen NGINX girişi.
tür hizmeti aracılığıyla iş yükünü kullanıma LoadBalancer
sunma
Önemli
Şu anda AKS'deki IPv6 hizmetleriyle ilgili iki sınırlama vardır.
- Azure Load Balancer, bağlantı yerel adresinden IPv6 hedeflerine sistem durumu yoklamaları gönderir. Azure Linux düğüm havuzlarında bu trafik bir pod'a yönlendirilemediğinden, dağıtılan
externalTrafficPolicy: Cluster
IPv6 hizmetlerine akan trafik başarısız olur. IPv6 hizmetlerinin ileexternalTrafficPolicy: Local
dağıtılması gerekir ve bu da düğümdeki yoklamanın yanıt vermesine neden olurkube-proxy
. - Kubernetes 1.27 sürümünden önce yük dengeleyiciye yalnızca hizmetin ilk IP adresi sağlanacaktır, bu nedenle çift yığınlı bir hizmet yalnızca ilk listelenen IP ailesi için genel IP alır. Tek bir dağıtım için çift yığın hizmeti sağlamak için, lütfen biri IPv4 ve biri IPv6 için olmak üzere aynı seçiciyi hedefleyen iki hizmet oluşturun. Bu artık kubernetes 1.27 veya sonraki sürümlerde bir sınırlama değildir.
komutunu kullanarak NGINX dağıtımını kullanıma sunma
kubectl expose deployment nginx
.kubectl expose deployment nginx --name=nginx-ipv4 --port=80 --type=LoadBalancer' kubectl expose deployment nginx --name=nginx-ipv6 --port=80 --type=LoadBalancer --overrides='{"spec":{"ipFamilies": ["IPv6"]}}'
Hizmetlerin kullanıma sunulduğunun gösterildiği bir çıkış alırsınız.
service/nginx-ipv4 exposed service/nginx-ipv6 exposed
Dağıtım kullanıma sunulduktan ve hizmetler tam olarak sağlandıktan
LoadBalancer
sonra komutunu kullanarakkubectl get services
hizmetlerin IP adreslerini alın.kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE nginx-ipv4 LoadBalancer 10.0.88.78 20.46.24.24 80:30652/TCP 97s nginx-ipv6 LoadBalancer fd12:3456:789a:1::981a 2603:1030:8:5::2d 80:32002/TCP 63s
IPv6 özellikli bir konaktan komut satırı web isteği aracılığıyla işlevselliği doğrulayın. Azure Cloud Shell IPv6 özellikli değildir.
SERVICE_IP=$(kubectl get services nginx-ipv6 -o jsonpath='{.status.loadBalancer.ingress[0].ip}') curl -s "http://[${SERVICE_IP}]" | head -n5
<!DOCTYPE html> <html> <head> <title>Welcome to nginx!</title> <style>
Cilium tarafından desteklenen Azure CNI ile çift yığınlı ağ - (Önizleme)
Çift yığınlı AKS kümelerinizi Cilium tarafından desteklenen Azure CNI ile dağıtabilirsiniz. Bu, IPv6 trafiğinizi Cilium Ağ İlkesi altyapısıyla denetlemenize de olanak tanır.
Önemli
AKS önizleme özellikleri self servis ve kabul temelinde kullanılabilir. Önizlemeler "olduğu gibi" ve "kullanılabilir" olarak sağlanır ve hizmet düzeyi sözleşmelerinin ve sınırlı garantinin dışında tutulur. AKS önizlemeleri, müşteri desteği tarafından kısmen en iyi çaba temelinde ele alınmaktadır. Bu nedenle, bu özellikler üretim kullanımı için tasarlanmamıştır. Daha fazla bilgi için aşağıdaki destek makalelerine bakın:
Önkoşullar
- AKS önizleme uzantısının en son sürümüne sahip olmanız gerekir.
- Kubernetes sürüm 1.29 veya üzeri olmalıdır.
aks-preview Azure CLI uzantısını yükleme
komutunu kullanarak aks-preview uzantısını
az extension add
yükleyin.az extension add --name aks-preview
komutunu kullanarak yayımlanan uzantının en son sürümüne güncelleştirin
az extension update
.az extension update --name aks-preview
'AzureOverlayDualStackPreview' özellik bayrağını kaydetme
AzureOverlayDualStackPreview
komutunu kullanarak özellik bayrağınıaz feature register
kaydedin.az feature register --namespace "Microsoft.ContainerService" --name "AzureOverlayDualStackPreview"
Durumun Kayıtlı olarak gösterilmesi birkaç dakika sürer.
komutunu kullanarak
az feature show
kayıt durumunu doğrulayın:az feature show --namespace "Microsoft.ContainerService" --name "AzureOverlayDualStackPreview"
Durum Kayıtlı olarak yansıtıldığında, komutunu kullanarak Microsoft.ContainerService kaynak sağlayıcısının kaydını yenileyin
az provider register
.az provider register --namespace Microsoft.ContainerService
Cilium tarafından desteklenen Azure CNI ile Katman kümelerini ayarlama
komutunu kullanarak az aks create
Azure CNI Yer Paylaşımı ile bir küme oluşturun. Cilium veri düzlemini belirtmek için bağımsız değişkenini --network-dataplane cilium
kullandığınızdan emin olun.
clusterName="myOverlayCluster"
resourceGroup="myResourceGroup"
location="westcentralus"
az aks create \
--name $clusterName \
--resource-group $resourceGroup \
--location $location \
--network-plugin azure \
--network-plugin-mode overlay \
--network-dataplane cilium \
--ip-families ipv4,ipv6 \
--generate-ssh-keys\
Cilium tarafından desteklenen Azure CNI hakkında daha fazla bilgi için bkz . Cilium tarafından desteklenen Azure CNI.
Çift yığınlı ağ Windows düğüm havuzları - (Önizleme)
Çift yığınlı AKS kümelerinizi Windows düğüm havuzları ile dağıtabilirsiniz.
Önemli
AKS önizleme özellikleri self servis ve kabul temelinde kullanılabilir. Önizlemeler "olduğu gibi" ve "kullanılabilir" olarak sağlanır ve hizmet düzeyi sözleşmelerinin ve sınırlı garantinin dışında tutulur. AKS önizlemeleri, müşteri desteği tarafından kısmen en iyi çaba temelinde ele alınmaktadır. Bu nedenle, bu özellikler üretim kullanımı için tasarlanmamıştır. Daha fazla bilgi için aşağıdaki destek makalelerine bakın:
aks-preview Azure CLI uzantısını yükleme
komutunu kullanarak aks-preview uzantısını
az extension add
yükleyin.az extension add --name aks-preview
komutunu kullanarak yayımlanan uzantının en son sürümüne güncelleştirin
az extension update
.az extension update --name aks-preview
'AzureOverlayDualStackPreview' özellik bayrağını kaydetme
AzureOverlayDualStackPreview
komutunu kullanarak özellik bayrağınıaz feature register
kaydedin.az feature register --namespace "Microsoft.ContainerService" --name "AzureOverlayDualStackPreview"
Durumun Kayıtlı olarak gösterilmesi birkaç dakika sürer.
komutunu kullanarak
az feature show
kayıt durumunu doğrulayın:az feature show --namespace "Microsoft.ContainerService" --name "AzureOverlayDualStackPreview"
Durum Kayıtlı olarak yansıtıldığında, komutunu kullanarak Microsoft.ContainerService kaynak sağlayıcısının kaydını yenileyin
az provider register
.az provider register --namespace Microsoft.ContainerService
Katman kümesi ayarlama
komutunu kullanarak az aks create
Azure CNI Yer Paylaşımı ile bir küme oluşturun.
clusterName="myOverlayCluster"
resourceGroup="myResourceGroup"
location="westcentralus"
az aks create \
--name $clusterName \
--resource-group $resourceGroup \
--location $location \
--network-plugin azure \
--network-plugin-mode overlay \
--ip-families ipv4,ipv6 \
--generate-ssh-keys\
Kümeye Windows düğüm havuzu ekleme
[az aks nodepool add
][az-aks-nodepool-add] komutunu kullanarak kümeye bir Windows nodepool ekleyin.
az aks nodepool add \
--resource-group $resourceGroup \
--cluster-name $clusterName \
--os-type Windows \
--name winpool1 \
--node-count 2
Sonraki adımlar
AKS'yi kendi Kapsayıcı Ağ Arabirimi (CNI) eklentinizle kullanmayı öğrenmek için bkz . Kendi Kapsayıcı Ağ Arabiriminizi (CNI) getirme eklentisi.
Azure Kubernetes Service