Azure Kubernetes Service (AKS) CNI ağına genel bakış
Kubernetes, Kubernetes kümelerindeki ağı yönetmek için Kapsayıcı Ağ Arabirimi (CNI) eklentilerini kullanır. CNI'ler podlara IP adresleri atamaktan, podlar arasında ağ yönlendirmeden, Kubernetes Service yönlendirmeden ve daha fazlasının sorumluluğundadır.
AKS, ağ gereksinimlerinize bağlı olarak kümelerinizde kullanabileceğiniz birden çok CNI eklentisi sağlar.
AKS'de ağ modelleri
AKS kümeniz için bir CNI eklentisi seçmek büyük ölçüde gereksinimlerinize en uygun ağ modeline bağlıdır. Her modelin AKS kümenizi planlarken göz önünde bulundurmanız gereken kendi avantajları ve dezavantajları vardır.
AKS iki ana ağ modeli kullanır: katman ağı ve düz ağ.
Her iki ağ modeli de desteklenen birden çok CNI eklenti seçeneğine sahiptir. Modeller arasındaki temel farklar pod IP adreslerinin nasıl atandığı ve trafiğin kümeden nasıl ayrıldığıdır.
Yer paylaşımlı ağlar
Katman ağı, Kubernetes'te kullanılan en yaygın ağ modelidir. Katman ağlarında podlara, AKS düğümlerinin dağıtıldığı Azure VNet alt ağından özel, mantıksal olarak ayrı bir CIDR'den bir IP adresi verilir. Bu, düz ağ modeline göre daha basit ve genellikle daha iyi ölçeklenebilirlik sağlar.
Katman ağlarında podlar birbirleriyle doğrudan iletişim kurabilir. Kümeden ayrılan trafik, düğümün IP adresine Çevrilen Kaynak Ağ Adresi (SNAT'd) ve gelen Pod IP trafiği ise yük dengeleyici gibi bir hizmet üzerinden yönlendirilir. Bu, pod IP adresinin düğümün IP adresinin arkasında "gizli" olduğu anlamına gelir. Bu yaklaşım, kümeleriniz için gereken sanal ağ IP adreslerinin sayısını azaltır.
Azure Kubernetes Service, katman ağı için aşağıdaki CNI eklentilerini sağlar:
- Çoğu senaryo için önerilen CNI eklentisi olan Azure CNI Yer Paylaşımı.
- kubenet, eski katman modeli CNI.
Düz ağlar
Katman ağından farklı olarak, AKS'deki düz ağ modeli AKS düğümleriyle aynı Azure sanal ağından bir alt ağdan podlara IP adresleri atar. Bu, kümelerinizden ayrılan trafiğin SNAT'd olmadığı ve pod IP adresinin hedefe doğrudan açık olduğu anlamına gelir. Bu, pod IP adreslerini dış hizmetlere sunmanız gerektiği durumlar gibi bazı senaryolar için yararlı olabilir.
Azure Kubernetes Service düz ağ için iki CNI eklentisi sağlar. Bu makale, her eklenti seçeneği için ayrıntılı bilgi vermez. Daha fazla bilgi için bağlantılı belgelere bakın:
- Düz ağ senaryoları için önerilen CNI eklentisi olan Azure CNI Pod Alt Ağı.
- CNI'nin eski düz ağ modeli olan Azure CNI Node Alt Ağı genellikle yalnızca kümeniz için yönetilen bir sanal ağa ihtiyacınız varsa kullanmanızı önerir.
CNI seçme
CNI seçerken dikkate alınması gereken birkaç faktör vardır. Her ağ modelinin kendi avantajları ve dezavantajları vardır ve kümeniz için en iyi seçenek özel gereksinimlerinize bağlıdır.
Ağ modeli seçme
AKS'deki iki ana ağ modeli katman ve düz ağlardır.
Yer paylaşımlı ağlar:
- Podlar için mantıksal olarak ayrı CIDR aralıkları kullanarak sanal ağ IP adresi alanından tasarruf edin.
- En fazla küme ölçek desteği.
- Basit IP adresi yönetimi.
Düz ağlar:
- Podlar tam sanal ağ bağlantısına sahip olur ve bağlı ağlardan özel IP adresleri üzerinden doğrudan ulaşılabilir.
- Büyük, parçalanmamış sanal ağ IP adresi alanı gerektirir.
Kullanım örneği karşılaştırması
Bir ağ modeli seçerken, her CNI eklentisi için kullanım örneklerini ve kullandığı ağ modelinin türünü göz önünde bulundurun:
CNI eklentisi | Ağ modeli | Büyük/küçük harf vurgularını kullanma |
---|---|---|
Azure CNI Katmanı | Paylaşım | - VNET IP koruma için en iyi - API Server tarafından desteklenen maksimum düğüm sayısı + düğüm başına 250 pod - Daha basit yapılandırma -Doğrudan dış pod IP erişimi yok |
Azure CNI Pod Alt Ağı | Düz | - Doğrudan dış pod erişimi - Verimli sanal ağ IP kullanımı veya büyük küme ölçek desteği için modlar (Önizleme) |
Kubenet (Eski) | Paylaşım | - IP korumayı önceliklendirir - Sınırlı ölçek - El ile yol yönetimi |
Azure CNI Düğüm Alt Ağı (Eski) | Düz | - Doğrudan dış pod erişimi - Daha basit yapılandırma - Sınırlı ölçek - Sanal ağ IP'lerinin verimsiz kullanımı |
Özellik karşılaştırması
Ayrıca her bir CNI eklentisinin özelliklerini karşılaştırmak isteyebilirsiniz. Aşağıdaki tabloda, her CNI eklentisi tarafından desteklenen özelliklerin üst düzey bir karşılaştırması sağlanmaktadır:
Özellik | Azure CNI Katmanı | Azure CNI Pod Alt Ağı | Azure CNI Düğüm Alt Ağı (Eski) | Kubenet |
---|---|---|---|---|
Mevcut veya yeni sanal ağda küme dağıtma | Desteklenir | Desteklenir | Desteklenir | Desteklenen - el ile UDR'ler |
Aynı veya eşlenmiş VNet'teki VM ile pod-VM bağlantısı | Pod başlatıldı | Her iki yol | Her iki yol | Pod başlatıldı |
VPN/Express Route üzerinden şirket içi erişim | Pod başlatıldı | Her iki yol | Her iki yol | Pod başlatıldı |
Hizmet uç noktalarına erişim | Desteklenir | Desteklenir | Desteklenir | Desteklenir |
Yük dengeleyici kullanarak hizmetleri kullanıma sunma | Desteklenir | Desteklenir | Desteklenir | Desteklenir |
App Gateway kullanarak hizmetleri kullanıma sunma | Şu anda desteklenmiyor | Desteklenir | Desteklenir | Desteklenir |
Giriş denetleyicisini kullanarak hizmetleri kullanıma sunma | Desteklenir | Desteklenir | Desteklenir | Desteklenir |
Windows düğüm havuzları | Desteklenir | Desteklenir | Desteklenir | Desteklenmez |
Varsayılan Azure DNS ve Özel Bölgeler | Desteklenir | Desteklenir | Desteklenir | Desteklenir |
Birden çok küme arasında sanal ağ alt ağı paylaşımı | Desteklenir | Desteklenir | Desteklenir | Desteklenmez |
Ağ modelleri arasında destek kapsamı
Kullandığınız CNI'ye bağlı olarak, küme sanal ağ kaynaklarınız aşağıdaki yollardan biriyle dağıtılabilir:
- Azure platformu, AKS kümesi oluşturduğunuzda sanal ağ kaynaklarını otomatik olarak oluşturabilir ve yapılandırabilir. Azure CNI Yer Paylaşımı, Azure CNI Node alt ağı ve Kubenet gibi.
- AKS kümenizi oluştururken sanal ağ kaynaklarını el ile oluşturup yapılandırabilir ve bu kaynaklara ekleyebilirsiniz.
Hizmet uç noktaları veya UDR'ler gibi özellikler destekleniyor olsa da, AKS için destek ilkeleri hangi değişiklikleri yapabileceğinizi tanımlar. Örneğin:
- Aks kümesi için sanal ağ kaynaklarını el ile oluşturursanız, kendi UDR'lerinizi veya hizmet uç noktalarınızı yapılandırırken desteklenirsiniz.
- Azure platformu AKS kümeniz için sanal ağ kaynaklarını otomatik olarak oluşturursa, aks tarafından yönetilen bu kaynakları kendi UDR'lerinizi veya hizmet uç noktalarınızı yapılandıracak şekilde el ile değiştiremezsiniz.
Önkoşullar
AKS için ağ yapılandırmanızı planlarken göz önünde bulundurmanız gereken çeşitli gereksinimler ve önemli noktalar vardır:
- AKS kümesinin sanal ağı giden İnternet bağlantısına izin vermelidir.
- AKS kümeleri Kubernetes hizmet adres aralığı, pod adres aralığı veya
192.0.2.0/24
küme sanal ağ adres aralığı için ,172.31.0.0/16
172.30.0.0/16
, veya kullanamaz169.254.0.0/16
. - BYO sanal ağ senaryolarında AKS kümesi tarafından kullanılan küme kimliği, sanal ağınızdaki alt ağda en az Ağ Katkıda Bulunanı izinlerine sahip olmalıdır. Yerleşik Ağ Katkıda Bulunanı rolünü kullanmak yerine özel bir rol tanımlamak istiyorsanız, aşağıdaki izinler gereklidir:
Microsoft.Network/virtualNetworks/subnets/join/action
Microsoft.Authorization/roleAssignments/write
Microsoft.Network/virtualNetworks/subnets/read
(yalnızca kendi alt ağlarınızı ve CIDR'lerinizi tanımlıyorsanız gereklidir)
- AKS düğüm havuzuna atanan alt ağ, temsilci olarak atanan bir alt ağ olamaz.
- AKS, alt ağına Ağ Güvenlik Grupları (NSG) uygulamaz ve bu alt ağ ile ilişkili NSG'lerin hiçbirini değiştirmez. Kendi alt ağınızı sağlar ve bu alt ağ ile ilişkili NSG'ler eklerseniz, NSG'lerdeki güvenlik kurallarının düğüm CIDR aralığında trafiğe izin vermesini sağlamanız gerekir. Daha fazla bilgi için bkz . Ağ güvenlik grupları.
Sonraki Adımlar
Azure Kubernetes Service