Azure Container Networking Interface (CNI) Katman ağı
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 Yer Paylaşımı arasındaki farklar
Aşağıdaki tabloda kubenet ile Azure CNI Yer Paylaşımı arasında ayrıntılı bir karşılaştırma sağlanır:
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 küçük 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, sanal ağ 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.
Podlar için IP adresi alanını planlarken aşağıdaki faktörleri göz önünde bulundurun:
- Özel CIDR'nin gelecekteki küme genişletmesini desteklemek üzere yeni düğümler için adres alanları sağlayacak
/24
kadar büyük olduğundan emin olun. - 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.
Kubernetes hizmeti adres aralığı
CIDR hizmet adresinin 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 ve en yüksek değer 250'dir 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 Giriş Denetleyicisi (AGIC) olarak kullanamazsınız.
- 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 adlar AKS çalışan düğümlerinde etiket olarak kullanılır ve Kubernetes etiket söz dizimi kurallarına tabidir.
Azure Kubernetes Service