Container

Kubenet ve Azure CNI

AKS (Azure Kubernetes Service) kurulumunda Networking yapılandırması için Kubenet ve Azure CNI olarak 2 seçeneğimiz bulunuyor. Bu yazımızda, bu konfigürasyon detaylarını ve Kubernetes Network yapılandırmasını tüm yönleri ile inceleyeceğiz.

Kubernetes Network

Kubernetes Network temel olarak, service ve podların iletişimini sağlayan ağ katmanıdır. Kubernetes network yapılandırmasında default olarak “kubenet” ile gelirken, CNI (Container Network Interface) sayesinde ihtiyaca yönelik, öne çıkan flannel, calico gibi 3. parti eklentileri de destekler. Bu eklentiler özelliklerine göre farklı bir yazının konusu olabilir ancak bugün AKS üzerinde seçenek olarak sunulan Kubenet ve Azure CNI seçiminden bahsedeceğiz.

Kubenet

Daha önce AKS ile Kubernetes Kurulum ve Deneyimi yazımızda AKS Networking ile ilgili özet bilgi paylaşmıştık. Bu nedenle tekrar olmaması amacıyla aynı bilgilere yer vermedik.

AKS kurulumunda kubenet eklentisi, cluster için varsayılan değerleri kullanan yeni bir Virtual Network oluşturur. Varsayılan değerler ile, 10.224.0.0/12 IP Network (10.224.0.0 – 10.239.255.255) kullanılabilir durumda Virtual Network oluşturur.

Azure CNI seçiminde, mevcut ya da yeni oluşturulan VNET üzerinde IP gruplarının seçimi mümkün hale geliyor.

Azure CNI mı, kubenet mi?

Ancak, doğru seçimi yapmak için sadece kullanılacak IP adresi verisi yeterli değil. Karar vermeden önce daha fazla sorunun cevabına ihtiyacımız var.  AKS üzerinde ki seçimimiz öznesinde bazı soru cevapları aşağıdadır.
  • Windows Node Pool varsa Azure CNI tercih etmelisiniz. kubenet seçimi yapılmaya çalışıldığında “Network configuration should be ‘Azure CNI’ when windows node pools are added” uyarısı otomatik olarak çıkacaktır.
  • Ekstra network policy ihtiyaçları yoksa, dev-test aşamasında ya da sadece deneme amaçlı kurulan AKS yapıları için, bu aşamada kafa karışıklığı yaratmaması adına kubenet seçimi mantıklı olacaktır. Aksi durumda, Network Policy, IP Network gibi kavramları öğrenmek/hakim olmak gerekebilir.
  • Kubenet tercihinde, Network Policy olarak Azure kullanılamaz. (Uyarı: The Azure network policy is not compatible with kubenet networking.)
  • Ortamda VNET’ler arasında Peering gibi kullanımlar olacaksa Azure CNI seçilmesi gerekiyor, aksi durumda kubelet ile default olarak gelen VNET IP adresi kullanımları overlapped uyarısı verecektir. (Address space ‘10.224.0.0/12’ overlaps with address space ‘10.224.0.0/12’ of virtual network ‘aks-vnet-XXXXX’. Virtual networks with overlapping address space cannot be peered. If you intend to peer these virtual networks, change address space ‘10.224.0.0/12’.)
  • İsimlendirmeye önem veriyorsanız Azure CNI tercih etmelisiniz. Kubenet VNET’i default olarak aks-vnet-XXX şeklinde isimlendirir.
  • kubenet çok fazla olsa da sınırlı IP adresi grubu ile hareket eder. Yapınıza bağlı olarak, daha fazla ihtiyacınız olacağını öngörüyorsanız Azure CNI tercih etmelisiniz.
  • Pod iletişimlerinizin geneli Kubernetes içerisindeyse kubenet, ancak dış yönlü erişim çok fazla ise Azure CNI tercih etmeniz önerilir (Kaynak).
Etiketler: AKS, AKS Network, Kubernetes Calico, Kubernetes Kubenet, Kubernetes Network
Bu yazıyı beğendin mi? Arkadaşlarınla paylaş!

Benzer içerikler:

Hiçbir sonuç bulunamadı.