Co to jest możliwość obserwowania sieci kontenerów?
Obserwacja sieci kontenerów to funkcja pakietu Advanced Container Networking Services . Udostępnia ona narzędzia do monitorowania i diagnostyki następnego poziomu, zapewniając niezrównany wgląd w konteneryzowane obciążenia. Te narzędzia umożliwiają łatwe ustalenie i rozwiązywanie problemów z siecią, zapewniając optymalną wydajność aplikacji.
Możliwość obserwacji sieci kontenerów jest zgodna ze wszystkimi obciążeniami systemu Linux bezproblemowo integracją z usługą Hubble niezależnie od tego, czy podstawowa płaszczyzna danych to Cilium, czy nie cilium (oba są obsługiwane) zapewniając elastyczność potrzeb związanych z siecią kontenerów.
Uwaga
W przypadku scenariuszy płaszczyzny danych Cilium funkcja obserwacji sieci kontenerów jest dostępna od platformy Kubernetes w wersji 1.29. Możliwość obserwowania sieci kontenerów jest obsługiwana we wszystkich dystrybucjach systemu Linux, w tym w systemie Azure Linux, począwszy od wersji 2.0.
Funkcje obserwowania sieci kontenerów
Funkcja obserwacji sieci kontenerów oferuje następujące możliwości monitorowania problemów związanych z siecią w klastrze:
Metryki na poziomie węzła: zrozumienie kondycji sieci kontenera na poziomie węzła ma kluczowe znaczenie dla utrzymania optymalnej wydajności aplikacji. Te metryki zapewniają wgląd w wolumin ruchu, porzucone pakiety, liczbę połączeń itp. według węzła. Metryki są przechowywane w formacie Prometheus, a w związku z tym można je wyświetlić w narzędziu Grafana.
Metryki hubble (metryki dns i metryki na poziomie zasobnika): te metryki prometheus obejmują informacje o zasobniku źródłowym i docelowym, które umożliwiają wskazanie problemów związanych z siecią na poziomie szczegółowym. Metryki obejmują wolumin ruchu, porzucone pakiety, resetowanie protokołu TCP, przepływy pakietów L4/L7 itp. Istnieją również metryki DNS (obecnie tylko w przypadku płaszczyzn danych innych niż cilium), obejmujące błędy DNS i brakujące odpowiedzi żądań DNS.
Dzienniki przepływu usługi Hubble: dzienniki przepływu zapewniają głęboki wgląd w aktywność sieciową klastra. Wszystkie komunikaty do i z zasobników są rejestrowane, co umożliwia badanie problemów z łącznością w czasie. Dzienniki przepływu pomagają odpowiedzieć na pytania, takie jak: czy serwer otrzymał żądanie klienta? Jakie jest opóźnienie między żądaniem klienta a odpowiedzią serwera?
Interfejs wiersza polecenia hubble: interfejs wiersza polecenia hubble może pobierać dzienniki przepływu w całym klastrze z możliwością dostosowywania filtrowania i formatowania.
Interfejs użytkownika hubble'a: Interfejs użytkownika hubble'a to przyjazny dla użytkownika interfejs przeglądarki do eksplorowania aktywności sieci klastra. Tworzy wykres połączenia z usługą na podstawie dzienników przepływu i wyświetla dzienniki przepływu dla wybranej przestrzeni nazw. Użytkownicy są odpowiedzialni za aprowizowanie infrastruktury wymaganej do uruchamiania interfejsu użytkownika Hubble i zarządzanie nią.
Najważniejsze korzyści wynikające z obserwacji sieci kontenerów
CNI-Agnostic: obsługiwane we wszystkich wariantach usługi Azure CNI, w tym kubenet.
Cilium i Non-Cilium: zapewnia jednolite, bezproblemowe środowisko zarówno na płaszczyznach danych Cilium, jak i bez cilium.
Możliwość obserwacji sieci opartej na eBPF: wykorzystuje eBPF (rozszerzony filtr pakietów Berkeley) w celu zapewnienia wydajności i skalowalności w celu zidentyfikowania potencjalnych wąskich gardeł i problemów z przeciążeniem przed ich wpływem na wydajność aplikacji. Uzyskaj wgląd w kluczowe wskaźniki kondycji sieci, w tym wielkość ruchu, porzucone pakiety i informacje o połączeniu.
Szczegółowy wgląd w aktywność sieci: dowiedz się, jak aplikacje komunikują się ze sobą za pośrednictwem szczegółowych dzienników przepływu sieci.
Uproszczone opcje magazynowania metryk i wizualizacji: wybierz między:
- Usługa Azure Managed Prometheus i Grafana: platforma Azure zarządza infrastrukturą i konserwacją, umożliwiając użytkownikom skupienie się na konfigurowaniu metryk i wizualizowania metryk.
- Bring Your Own (BYO) Prometheus i Grafana: użytkownicy wdrażają i konfigurują własne wystąpienia oraz zarządzają podstawową infrastrukturą.
Metryki
Metryki na poziomie węzła
Następujące metryki są agregowane na węzeł. Wszystkie metryki obejmują etykiety:
cluster
instance
(Nazwa węzła)
W przypadku scenariuszy płaszczyzny danych Cilium funkcja Obserwacja sieci kontenerów udostępnia metryki tylko dla systemu Linux, system Windows nie jest obecnie obsługiwany. Cilium uwidacznia kilka metryk, w tym następujące metryki używane przez funkcję obserwacji sieci kontenerów.
Nazwa metryki | opis | Dodatkowe etykiety | Linux | Windows |
---|---|---|---|---|
cilium_forward_count_total | Łączna liczba przekazanych pakietów | direction |
✅ | ❌ |
cilium_forward_bytes_total | Łączna liczba przekazanych bajtów | direction |
✅ | ❌ |
cilium_drop_count_total | Łączna liczba porzuconych pakietów | direction , reason |
✅ | ❌ |
cilium_drop_bytes_total | Łączna liczba porzuconych bajtów | direction , reason |
✅ | ❌ |
Metryki na poziomie zasobnika (metryki hubble)
Następujące metryki są agregowane na zasobnik (informacje o węźle są zachowywane). Wszystkie metryki obejmują etykiety:
cluster
instance
(Nazwa węzła)source
lubdestination
W przypadku ruchu wychodzącego będzie dostępna etykieta source
z przestrzenią nazw/nazwą zasobnika źródłowego.
W przypadku ruchu przychodzącego zostanie wyświetlona etykieta destination
z docelową przestrzenią nazw zasobnika/nazwą.
Nazwa metryki | opis | Dodatkowe etykiety | Linux | Windows |
---|---|---|---|---|
hubble_dns_queries_total | Łączna liczba żądań DNS według zapytania | source lub destination , query ( qtypes typ zapytania) |
✅ | ❌ |
hubble_dns_responses_total | Łączna liczba odpowiedzi DNS według zapytania/odpowiedzi | source lub destination , query ( qtypes typ zapytania), rcode (kod zwrotny), ips_returned (liczba adresów IP) |
✅ | ❌ |
hubble_drop_total | Łączna liczba porzuconych pakietów | source lub destination , , protocol reason |
✅ | ❌ |
hubble_tcp_flags_total | Łączna liczba pakietów TCP według flagi. | source lub destination , flag |
✅ | ❌ |
hubble_flows_processed_total | Łączna liczba przetworzonych przepływów sieciowych (ruch L4/L7) | source lub destination , protocol , verdict , , , type subtype |
✅ | ❌ |
Ograniczenia
- Metryki na poziomie zasobnika są dostępne tylko w systemie Linux.
- Płaszczyzna danych Cilium jest obsługiwana od platformy Kubernetes w wersji 1.29.
- Etykiety metryk mogą mieć subtelne różnice między klastrami Cilium i non-Cilium.
- W przypadku klastrów opartych na cilium metryki DNS są dostępne tylko dla zasobników, które mają skonfigurowane zasady sieci cilium (CNP) w swoich klastrach.
- Dzienniki przepływu nie są obecnie dostępne w chmurze rozerwanej powietrzem.
- Przekaźnik Hubble może ulec awarii, jeśli jeden z agentów węzła hubble ulegnie awarii i może spowodować przerwy w działaniu interfejsu wiersza polecenia hubble'a.
Skaluj
Zarządzane przez platformę Azure rozwiązania Prometheus i Grafana nakładają ograniczenia skali specyficzne dla usługi. Aby uzyskać więcej informacji, zobacz Scrape Prometheus metrics at scale in Azure Monitor (Złomowanie metryk Prometheus na dużą skalę w usłudze Azure Monitor).
Cennik
Ważne
Advanced Container Networking Services to płatna oferta. Aby uzyskać więcej informacji na temat cen, zobacz Advanced Container Networking Services — cennik.
Następne kroki
- Aby utworzyć klaster usługi AKS z obserwacją sieci kontenerów, zobacz Konfigurowanie możliwości obserwowania sieci kontenerów dla usługi Azure Kubernetes Service (AKS).
Azure Kubernetes Service