Najlepsze rozwiązania dotyczące monitorowania rozwiązania Kubernetes za pomocą usługi Azure Monitor

Ten artykuł zawiera najlepsze rozwiązania dotyczące monitorowania kondycji i wydajności klastrów Kubernetes Service (AKS) i Kubernetes z obsługą usługi Azure Arc. Wskazówki są oparte na pięciu filarach doskonałości architektury opisanej w temacie Azure Well-Architected Framework.

Niezawodność

W chmurze potwierdzamy, że występują błędy. Zamiast próbować całkowicie zapobiegać awariom, celem jest minimalizacja wpływu awarii pojedynczego składnika. Skorzystaj z poniższych informacji, aby najlepiej wykorzystać usługę Azure Monitor, aby zapewnić niezawodność klastrów Kubernetes i środowiska monitorowania.

Lista kontrolna projektu

  • Włącz złomowanie metryk rozwiązania Prometheus dla klastra.
  • Włącz usługę Container Insights na potrzeby zbierania dzienników i danych wydajności z klastra.
  • Utwórz ustawienia diagnostyczne w celu zbierania dzienników płaszczyzny sterowania dla klastrów usługi AKS.
  • Włącz zalecane alerty Prometheus.
  • Upewnij się, że dostępność obszaru roboczego usługi Log Analytics obsługuje szczegółowe informacje o kontenerze.

Zalecenia dotyczące konfiguracji

Zalecenie Korzyści
Włącz złomowanie metryk rozwiązania Prometheus dla klastra. Włącz rozwiązanie Prometheus w klastrze za pomocą usługi zarządzanej Azure Monitor dla rozwiązania Prometheus , jeśli nie masz jeszcze środowiska Prometheus. Użyj narzędzia Azure Managed Grafana do analizowania zebranych danych rozwiązania Prometheus. Zobacz Dostosowywanie złomowania metryk Rozwiązania Prometheus w usłudze zarządzanej Azure Monitor dla rozwiązania Prometheus, aby zebrać dodatkowe metryki poza konfiguracją domyślną.
Włącz usługę Container Insights na potrzeby zbierania dzienników i danych wydajności z klastra. Usługa Container Insights zbiera dzienniki stdout/stderr, metryki wydajności i zdarzenia kubernetes z każdego węzła w klastrze. Udostępnia pulpity nawigacyjne i raporty do analizowania tych danych, w tym dostępność węzłów i innych składników. Użyj usługi Log Analytics , aby zidentyfikować wszelkie błędy dostępności w zebranych dziennikach.
Utwórz ustawienia diagnostyczne w celu zbierania dzienników płaszczyzny sterowania dla klastrów usługi AKS. Usługa AKS implementuje dzienniki płaszczyzn sterowania jako dzienniki zasobów w usłudze Azure Monitor. Utwórz ustawienie diagnostyczne, aby wysyłać te dzienniki do obszaru roboczego usługi Log Analytics, aby można było używać zapytań dziennika do identyfikowania błędów i problemów wpływających na dostępność.
Włącz zalecane alerty Prometheus. Alerty w usłudze Azure Monitor aktywnie powiadamiają o wykryciu problemów. Zacznij od zestawu zalecanych reguł alertów Rozwiązania Prometheus, które wykrywają najczęstsze problemy z dostępnością i wydajnością klastra. Potencjalnie dodaj alerty przeszukiwania dzienników przy użyciu danych zebranych przez usługę Container Insights.
Upewnij się, że dostępność obszaru roboczego usługi Log Analytics obsługuje szczegółowe informacje o kontenerze. Szczegółowe informacje o kontenerze opierają się na obszarze roboczym usługi Log Analytics. Zobacz Najlepsze rozwiązania dotyczące dzienników usługi Azure Monitor, aby uzyskać zalecenia, aby zapewnić niezawodność obszaru roboczego.

Zabezpieczenia

Bezpieczeństwo to jeden z najważniejszych aspektów każdej architektury. Usługa Azure Monitor udostępnia funkcje do stosować zarówno zasadę najniższych uprawnień, jak i ochronę w głębi systemu. Skorzystaj z poniższych informacji, aby monitorować klastry Kubernetes i zapewnić, że tylko autoryzowani użytkownicy uzyskują dostęp do zebranych danych.

Lista kontrolna projektu

  • Użyj uwierzytelniania tożsamości zarządzanej dla klastra, aby nawiązać połączenie z usługą Container Insights.
  • Rozważ użycie łącza prywatnego platformy Azure dla klastra w celu nawiązania połączenia z obszarem roboczym usługi Azure Monitor przy użyciu prywatnego punktu końcowego.
  • Użyj analizy ruchu, aby monitorować ruch sieciowy do i z klastra.
  • Włącz możliwość obserwowania sieci.
  • Upewnij się, że bezpieczeństwo obszaru roboczego usługi Log Analytics obsługuje szczegółowe informacje o kontenerze.

Zalecenia dotyczące konfiguracji

Zalecenie Korzyści
Użyj uwierzytelniania tożsamości zarządzanej dla klastra, aby nawiązać połączenie z usługą Container Insights. Uwierzytelnianie tożsamości zarządzanej jest ustawieniem domyślnym dla nowych klastrów. Jeśli używasz starszego uwierzytelniania, należy przeprowadzić migrację do tożsamości zarządzanej, aby usunąć lokalne uwierzytelnianie oparte na certyfikatach.
Rozważ użycie łącza prywatnego platformy Azure dla klastra w celu nawiązania połączenia z obszarem roboczym usługi Azure Monitor przy użyciu prywatnego punktu końcowego. Usługa zarządzana platformy Azure dla rozwiązania Prometheus przechowuje swoje dane w obszarze roboczym usługi Azure Monitor, który domyślnie używa publicznego punktu końcowego. Połączenie do publicznych punktów końcowych są zabezpieczone za pomocą kompleksowego szyfrowania. Jeśli potrzebujesz prywatnego punktu końcowego, możesz użyć łącza prywatnego platformy Azure, aby zezwolić klastrowi na łączenie się z obszarem roboczym za pośrednictwem autoryzowanych sieci prywatnych. Za pomocą łącza prywatnego można również wymusić pozyskiwanie danych obszaru roboczego za pośrednictwem usługi ExpressRoute lub sieci VPN.

Aby uzyskać szczegółowe informacje na temat konfigurowania klastra na potrzeby łącza prywatnego, zobacz Usługa Private Link na potrzeby pozyskiwania danych dla zarządzanego rozwiązania Prometheus i obszaru roboczego usługi Azure Monitor. Aby uzyskać szczegółowe informacje na temat wykonywania zapytań dotyczących danych przy użyciu łącza prywatnego, zobacz Use private endpoints for Managed Prometheus and Azure Monitor workspace (Używanie prywatnych punktów końcowych dla zarządzanego rozwiązania Prometheus i obszaru roboczego usługi Azure Monitor).
Użyj analizy ruchu, aby monitorować ruch sieciowy do i z klastra. Analiza ruchu analizuje dzienniki przepływu sieciowej grupy zabezpieczeń usługi Azure Network Watcher, aby zapewnić wgląd w przepływ ruchu w chmurze platformy Azure. Użyj tego narzędzia, aby upewnić się, że nie ma eksfiltracji danych dla klastra i wykrywać, czy są uwidocznione niepotrzebne publiczne adresy IP.
Włącz możliwość obserwowania sieci. Dodatek do obserwacji sieci dla usługi AKS zapewnia wgląd w wiele warstw w stosie sieci Kubernetes. monitorowanie i obserwowanie dostępu między usługami w klastrze (ruch wschodnio-zachodni).
Upewnij się, że bezpieczeństwo obszaru roboczego usługi Log Analytics obsługuje szczegółowe informacje o kontenerze. Szczegółowe informacje o kontenerze opierają się na obszarze roboczym usługi Log Analytics. Zobacz Najlepsze rozwiązania dotyczące dzienników usługi Azure Monitor, aby uzyskać zalecenia, aby zapewnić bezpieczeństwo obszaru roboczego.

Optymalizacja kosztów

Optymalizacja kosztów odnosi się do sposobów zmniejszenia niepotrzebnych wydatków i poprawy wydajności operacyjnej. Możesz znacznie obniżyć koszt usługi Azure Monitor, poznając różne opcje konfiguracji i możliwości zmniejszenia ilości zbieranych danych. Zobacz Koszty i użycie usługi Azure Monitor, aby poznać różne sposoby wyświetlania opłat za usługę Azure Monitor i sposobu wyświetlania miesięcznego rachunku.

Uwaga

Zobacz Optymalizowanie kosztów w usłudze Azure Monitor , aby uzyskać zalecenia dotyczące optymalizacji kosztów we wszystkich funkcjach usługi Azure Monitor.

Lista kontrolna projektu

  • Nie włączaj zbierania metryk rozwiązania Prometheus w usłudze Container Insights.
  • Konfigurowanie zbierania agentów w celu modyfikowania zbierania danych w usłudze Container Insights.
  • Zmodyfikuj ustawienia zbierania danych metryk według usługi Container Insights.
  • Wyłącz zbieranie danych metryk w usłudze Container Insights, jeśli nie używasz środowiska usługi Container Insights w witrynie Azure Portal.
  • Jeśli nie wysyłasz regularnie zapytań do tabeli dzienników kontenerów ani nie używasz jej do alertów, skonfiguruj ją jako dzienniki podstawowe.
  • Ogranicz zbieranie dzienników zasobów, których nie potrzebujesz.
  • Użyj rejestrowania specyficznego dla zasobów dla dzienników zasobów usługi AKS i skonfiguruj tabele jako podstawowe dzienniki.
  • Użyj narzędzia OpenCost, aby zebrać szczegółowe informacje o kosztach platformy Kubernetes.

Zalecenia dotyczące konfiguracji

Zalecenie Korzyści
Nie włączaj zbierania metryk usługi Container Insights w usłudze Prometheus w obszarze roboczym usługi Log Analytics, jeśli włączono złomowanie metryk za pomocą rozwiązania Prometheus. Oprócz złomowania metryk rozwiązania Prometheus z klastra przy użyciu usługi zarządzanej Azure Monitor dla rozwiązania Prometheus można skonfigurować szczegółowe informacje o kontenerze w celu zbierania metryk rozwiązania Prometheus w obszarze roboczym usługi Log Analytics. Jest to nadmiarowe z danymi w zarządzanym rozwiązaniu Prometheus i spowoduje dodatkowe koszty.
Konfigurowanie agenta w celu modyfikowania zbierania danych w usłudze Container Insights. Przeanalizuj dane zebrane przez usługę Container Insights zgodnie z opisem w temacie Kontrolowanie pozyskiwania, aby zmniejszyć koszty i dostosować konfigurację, aby zatrzymać zbieranie danych, których nie potrzebujesz.
Zmodyfikuj ustawienia zbierania danych metryk według usługi Container Insights. Zobacz Włączanie ustawień optymalizacji kosztów, aby uzyskać szczegółowe informacje na temat modyfikowania zarówno częstotliwości zbierania danych metryk, jak i przestrzeni nazw zbieranych przez usługę Container Insights.
Wyłącz zbieranie danych metryk w usłudze Container Insights, jeśli nie używasz środowiska usługi Container Insights w witrynie Azure Portal. Usługa Container Insights zbiera wiele z tych samych wartości metryk co zarządzany prometheus. Zbieranie tych metryk można wyłączyć, konfigurując szczegółowe informacje o kontenerze w celu zbierania tylko dzienników i zdarzeń zgodnie z opisem w temacie Włączanie ustawień optymalizacji kosztów w usłudze Container Insights. Ta konfiguracja wyłącza środowisko usługi Container Insights w witrynie Azure Portal, ale można użyć narzędzia Grafana do wizualizacji metryk rozwiązania Prometheus i usługi Log Analytics w celu analizowania danych dzienników zebranych przez usługę Container Insights.
Jeśli nie wysyłasz regularnie zapytań do tabeli dzienników kontenerów ani nie używasz jej do alertów, skonfiguruj ją jako dzienniki podstawowe. Przekonwertuj schemat usługi Container Insights na containerLogV2 , który jest zgodny z dziennikami podstawowymi i może zapewnić znaczne oszczędności kosztów zgodnie z opisem w temacie Kontrolowanie pozyskiwania w celu zmniejszenia kosztów.
Ogranicz zbieranie dzienników zasobów, których nie potrzebujesz. Dzienniki płaszczyzny sterowania dla klastrów usługi AKS są implementowane jako dzienniki zasobów w usłudze Azure Monitor. Utwórz ustawienie diagnostyczne, aby wysłać te dane do obszaru roboczego usługi Log Analytics. Zobacz Zbieranie dzienników płaszczyzny sterowania dla klastrów usługi AKS, aby uzyskać zalecenia dotyczące kategorii, które należy zebrać.
Użyj rejestrowania specyficznego dla zasobów dla dzienników zasobów usługi AKS i skonfiguruj tabele jako podstawowe dzienniki. Usługa AKS obsługuje tryb diagnostyki platformy Azure lub tryb specyficzny dla zasobów dla dzienników zasobów. Określ dzienniki zasobów, aby włączyć opcję konfigurowania tabel dla dzienników podstawowych, które zapewniają obniżoną opłatę za pozyskiwanie dzienników tylko od czasu do czasu wykonywania zapytań i nie są używane do zgłaszania alertów.
Użyj narzędzia OpenCost, aby zebrać szczegółowe informacje o kosztach platformy Kubernetes. OpenCost to projekt piaskownicy typu open source neutralny dla dostawcy, który pozwala zrozumieć koszty platformy Kubernetes i zapewnić widoczność kosztów usługi AKS. Eksportuje szczegółowe dane dotyczące kosztów oprócz cen platformy Azure specyficznych dla klienta do usługi Azure Storage, aby pomóc administratorowi klastra w analizowaniu i kategoryzowaniu kosztów.

Doskonałość operacyjna

Doskonałość operacyjna odnosi się do procesów operacyjnych wymaganych do niezawodnego działania usługi w środowisku produkcyjnym. Skorzystaj z poniższych informacji, aby zminimalizować wymagania operacyjne dotyczące monitorowania klastrów Kubernetes.

Lista kontrolna projektu

  • Zapoznaj się ze wskazówkami dotyczącymi monitorowania wszystkich warstw środowiska Kubernetes.
  • Użyj platformy Kubernetes z obsługą usługi Azure Arc, aby monitorować klastry spoza platformy Azure.
  • Użyj usług zarządzanych platformy Azure dla narzędzi natywnych dla chmury.
  • Integrowanie klastrów usługi AKS z istniejącymi narzędziami do monitorowania.
  • Użyj usługi Azure Policy, aby włączyć zbieranie danych z klastra Kubernetes.

Zalecenia dotyczące konfiguracji

Zalecenie Korzyści
Zapoznaj się ze wskazówkami dotyczącymi monitorowania wszystkich warstw środowiska Kubernetes. Monitorowanie wydajności klastra Kubernetes za pomocą usługi Container Insights zawiera wskazówki i najlepsze rozwiązania dotyczące monitorowania całego środowiska Kubernetes z warstw sieci, klastra i aplikacji.
Użyj platformy Kubernetes z obsługą usługi Azure Arc, aby monitorować klastry spoza platformy Azure. Platforma Kubernetes z włączoną usługą Azure Arc umożliwia monitorowanie klastrów Kubernetes działających w innych chmurach przy użyciu tych samych narzędzi co klastry usługi AKS, w tym analizy kontenerów i usługi zarządzanej Azure Monitor dla rozwiązania Prometheus.
Użyj usług zarządzanych platformy Azure dla narzędzi natywnych dla chmury. Zarządzana usługa Azure Monitor dla rozwiązań Prometheus i Azure Managed Grafana obsługuje wszystkie funkcje narzędzi natywnych dla chmury Prometheus i Grafana bez konieczności obsługi podstawowej infrastruktury. Możesz szybko aprowizować te narzędzia i dołączać klastry Kubernetes przy minimalnym nakładzie pracy. Te usługi umożliwiają dostęp do obszernej biblioteki reguł społeczności i pulpitów nawigacyjnych w celu monitorowania środowiska Kubernetes.
Integrowanie klastrów usługi AKS z istniejącymi narzędziami do monitorowania. Jeśli masz istniejącą inwestycję w rozwiązania Prometheus i Grafana, zintegruj klastry AKS i usługi zarządzane platformy Azure z istniejącym środowiskiem, korzystając ze wskazówek w temacie Monitorowanie klastrów Kubernetes przy użyciu usług platformy Azure i narzędzi natywnych dla chmury.
Użyj usługi Azure Policy, aby włączyć zbieranie danych z klastra Kubernetes. Użyj usługi Azure Policy , aby włączyć zbieranie danych na potrzeby włączania metryk rozwiązania Prometheus, szczegółowych informacji o kontenerze i ustawień diagnostycznych. Dzięki temu wszystkie nowe klastry są automatycznie monitorowane i wymuszają konfigurację monitorowania.

Efektywność wydajności

Efektywność wydajności to możliwość skalowania obciążenia w celu zaspokojenia zapotrzebowania użytkowników w wydajny sposób. Skorzystaj z poniższych informacji, aby monitorować wydajność klastrów Kubernetes i upewnić się, że są skonfigurowane pod kątem maksymalnej wydajności.

Lista kontrolna projektu

  • Włącz zbieranie metryk rozwiązania Prometheus dla klastra.
  • Włącz usługę Container Insights, aby śledzić wydajność klastra.
  • Włącz zalecane alerty Prometheus.

Zalecenia dotyczące konfiguracji

Zalecenie Korzyści
Włącz zbieranie metryk rozwiązania Prometheus dla klastra. Prometheus to natywne dla chmury rozwiązanie metryk z natywnej bazy danych obliczeniowych w chmurze i najbardziej typowe narzędzie używane do zbierania i analizowania danych metryk z klastrów Kubernetes. Włącz rozwiązanie Prometheus w klastrze za pomocą usługi zarządzanej Azure Monitor dla rozwiązania Prometheus , jeśli nie masz jeszcze środowiska Prometheus. Użyj narzędzia Azure Managed Grafana do analizowania zebranych danych rozwiązania Prometheus.

Zobacz Dostosowywanie złomowania metryk Rozwiązania Prometheus w usłudze zarządzanej Azure Monitor dla rozwiązania Prometheus, aby zebrać dodatkowe metryki poza konfiguracją domyślną.
Włącz usługę Container Insights, aby śledzić wydajność klastra. Po włączeniu usługi Container Insights dla klastra Kubernetes można użyć widoków i skoroszytów , aby śledzić wydajność składników klastra. Te dane mogą nakładać się na dane zebrane przez firmę Prometheus. Zobacz Optymalizacja kosztów, aby uzyskać zalecenia dotyczące kosztów.
Włącz zalecane alerty Prometheus. Alerty w usłudze Azure Monitor aktywnie powiadamiają o wykryciu problemów. Zacznij od zestawu zalecanych reguł alertów Rozwiązania Prometheus, które wykrywają najczęstsze problemy z dostępnością i wydajnością klastra. Potencjalnie dodaj alerty przeszukiwania dzienników przy użyciu danych zebranych przez usługę Container Insights.

Następny krok