Kubernetes, günümüzün dinamik ve kapsayıcılı uygulama ortamlarını yönetmek için vazgeçilmez bir araç haline gelmiştir. Ancak, bu ortamların karmaşıklığı arttıkça, Kubernetes kümesinde ağ sorunlarını belirlemek ve çözmek giderek daha zor bir hale gelir. Bu bağlamda, Azure Kubernetes Service (AKS) tarafından sunulan Ağ Gözlemlenebilirliği eklentisi, kümelerin sağlıklı ve yüksek performanslı kalmasını sağlamanın kritik bir yönünü temsil eder.
Network Observability neden önemli?
Ağ gözlemlenebilirliği, ağ trafiğiyle ilgili verileri toplayarak ve analiz ederek kümenizin performansını anlamanızı sağlar. Bu, olası sorunları erken bir aşamada tespit ederek, kesintilere veya performans düşüşlerine yol açmadan önce müdahale etme imkanı verir.
AKS’de Network monitoring addon
AKS Ağ Gözlemlenebilirliği eklentisi şu anda önizleme aşamasında olup, Cilium olmayan ve Cilium veri düzlemlerinde sorunsuz bir şekilde çalışabilen bir çözümdür. Bu eklenti, ağ sorunlarını izlemek için küme yöneticilerine, güvenlik yöneticilerine ve DevOps mühendislerine merkezi bir çözüm sunar.
Eklenti etkinleştirildiğinde, ölçümlerin toplanmasına ve Prometheus formatına dönüştürülmesine olanak tanır. Bu, ölçümlerin Grafana’da görselleştirilmesi için iki temel seçenek sunar: Azure tarafından yönetilen Prometheus ve Grafana veya BYO (Bring Your Own) Prometheus ve Grafana.
Azure tarafından yönetilen Prometheus ve Grafana: Bu seçenek, Azure tarafından sağlanan yönetilen bir hizmeti kullanır ve kullanıcıların altyapı ve bakım işlemleriyle ilgilenmeden ölçümleri yapılandırmaya ve görselleştirmeye odaklanmalarını sağlar.
BYO Prometheus ve Grafana: Bu seçenek, kullanıcıların kendi Prometheus ve Grafana örneklerini kurmalarını ve yönetmelerini gerektirir. Ağ Gözlemlenebilirliği eklentisi tarafından oluşturulan ölçümleri kazımak ve depolamak için kullanıcıların Prometheus’u yüklemesi ve yapılandırması gerekir.
Çoklu CNI Desteği ve Ölçümler Ağ Gözlemlenebilirliği eklentisi, hem Azure CNI hem de Kubenet ağ eklentilerini destekleyerek geniş bir yelpazede kullanım imkanı sunar. Şu anda eklenti, hem Linux hem de Windows platformlarında yalnızca düğüm düzeyinde ölçümleri desteklemektedir.
Ölçüm Adı | Açıklama | Etiketler | Linux | Windows |
networkobservability_forward_count | toplam iletilen paket sayısı | Yön, NodeName, Küme | Evet | Evet |
networkobservability_forward_bytes | toplam iletilen bayt sayısı | Yön, NodeName, Küme | Evet | Evet |
networkobservability_drop_count | Toplam bırakılan paket sayısı | Neden, Yön, NodeName, Küme | Evet | Evet |
networkobservability_drop_bytes | Toplam bırakılan bayt sayısı | Neden, Yön, NodeName, Küme | Evet | Evet |
networkobservability_tcp_state | TCP durumuna göre TCP etkin yuva sayısı. | Durum, NodeName, Küme | Evet | Evet |
networkobservability_tcp_connection_remote | Uzak adrese göre TCP etkin yuva sayısı. | Adres, Bağlantı Noktası, NodeName, Küme | Evet | Hayır |
networkobservability_tcp_connection_stats | TCP bağlantı istatistikleri. (örn: Gecikmeli AK’ler, TCPKeepAlive, TCPSackFailures) | İstatistik, NodeName, Küme | Evet | Evet |
networkobservability_tcp_flag_counters | TCP paketleri bayrakla sayılır. | Bayrak, NodeName, Küme | Evet | Evet |
networkobservability_ip_connection_stats | IP bağlantı istatistikleri. | İstatistik, NodeName, Küme | Evet | Hayır |
networkobservability_udp_connection_stats | UDP bağlantı istatistikleri. | İstatistik, NodeName, Küme | Evet | Hayır |
networkobservability_udp_active_sockets | UDP etkin yuva sayısı | NodeName, Küme | Evet | Hayır |
networkobservability_interface_stats | Arabirim istatistikleri. | InterfaceName, Statistic, NodeName, Cluster | Evet | Evet |
Sınırlamalar ve Ölçek
Pod düzeyi ölçümler şu anda desteklenmemektedir. Ayrıca, Azure tarafından yönetilen Prometheus ve Grafana kullanıldığında, bazı ölçek sınırlamaları uygulanabilir. Bu sınırlamalar ve nasıl yönetilecekleri hakkında daha fazla bilgi için Azure İzleyici dokümantasyonuna başvurulabilir.
AKS Ağ Gözlemlenebilirliği eklentisi, Kubernetes kümesinin ağ performansını optimize etmek ve olası sorunları erkenden tespit etmek için kritik bir araç sunar. Bu eklentinin sunduğu özellikler, küme yöneticilerinin ve DevOps mühendislerinin işini kolaylaştırarak, daha sağlıklı ve güvenilir kapsayıcı uygulama ortamları oluşturmalarına yardımcı olur.