Metodtips för övervakning av Kubernetes med Azure Monitor

Den här artikeln innehåller metodtips för att övervaka hälsotillståndet och prestandan för dina Azure Kubernetes Service-kluster (AKS) och Azure Arc-aktiverade Kubernetes-kluster . Vägledningen baseras på de fem grundpelarna för arkitekturkvalitet som beskrivs i Azure Well-Architected Framework.

Tillförlitlighet

I molnet bekräftar vi att fel inträffar. Målet är att minimera effekten av en enda komponent som havererar snarare än att förhindra fel helt och hållet. Använd följande information för att på bästa sätt utnyttja Azure Monitor för att säkerställa tillförlitligheten för dina Kubernetes-kluster och övervakningsmiljön.

Checklista för design

  • Aktivera skrapning av Prometheus-mått för klustret.
  • Aktivera Container Insights för insamling av loggar och prestandadata från klustret.
  • Skapa diagnostikinställningar för att samla in kontrollplansloggar för AKS-kluster.
  • Aktivera rekommenderade Prometheus-aviseringar.
  • Se till att Log Analytics-arbetsytan har stöd för containerinsikter.

Konfigurationsrekommendationer

Rekommendation Förmån
Aktivera skrapning av Prometheus-mått för klustret. Aktivera Prometheus i klustret med Azure Monitor-hanterad tjänst för Prometheus om du inte redan har en Prometheus-miljö. Använd Azure Managed Grafana för att analysera de Prometheus-data som samlas in. Se Anpassa skrapning av Prometheus-mått i Azure Monitor-hanterad tjänst för Prometheus för att samla in ytterligare mått utöver standardkonfigurationen.
Aktivera Container Insights för insamling av loggar och prestandadata från klustret. Containerinsikter samlar in stdout-/stderr-loggar, prestandamått och Kubernetes-händelser från varje nod i klustret. Den innehåller instrumentpaneler och rapporter för analys av dessa data, inklusive tillgängligheten för dina noder och andra komponenter. Använd Log Analytics för att identifiera eventuella tillgänglighetsfel i dina insamlade loggar.
Skapa diagnostikinställningar för att samla in kontrollplansloggar för AKS-kluster. AKS implementerar kontrollplansloggar som resursloggar i Azure Monitor. Skapa en diagnostikinställning för att skicka loggarna till Log Analytics-arbetsytan så att du kan använda loggfrågor för att identifiera fel och problem som påverkar tillgängligheten.
Aktivera rekommenderade Prometheus-aviseringar. Aviseringar i Azure Monitor meddelar dig proaktivt när problem identifieras. Börja med en uppsättning rekommenderade Prometheus-aviseringsregler som identifierar de vanligaste tillgänglighets- och prestandaproblemen med klustret. Potentiellt lägga till loggsökningsaviseringar med hjälp av data som samlas in av Container Insights.
Se till att Log Analytics-arbetsytan har stöd för containerinsikter. Containerinsikter förlitar sig på en Log Analytics-arbetsyta. Se Metodtips för Azure Monitor-loggar för rekommendationer för att säkerställa arbetsytans tillförlitlighet.

Säkerhet

Säkerhet är en av de viktigaste aspekterna, oavsett arkitektur. Azure Monitor tillhandahåller funktioner för att använda både principen om lägsta behörighet och skydd på djupet. Använd följande information för att övervaka dina Kubernetes-kluster och se till att endast behöriga användare får åtkomst till insamlade data.

Checklista för design

  • Använd hanterad identitetsautentisering för klustret för att ansluta till Container Insights.
  • Överväg att använda en privat Azure-länk för klustret för att ansluta till din Azure Monitor-arbetsyta med hjälp av en privat slutpunkt.
  • Använd trafikanalys för att övervaka nätverkstrafik till och från klustret.
  • Aktivera nätverksobservabilitet.
  • Säkerställ säkerheten för Log Analytics-arbetsytan som stöder Container Insights.

Konfigurationsrekommendationer

Rekommendation Förmån
Använd hanterad identitetsautentisering för klustret för att ansluta till Container Insights. Hanterad identitetsautentisering är standard för nya kluster. Om du använder äldre autentisering bör du migrera till hanterad identitet för att ta bort den certifikatbaserade lokala autentiseringen.
Överväg att använda en privat Azure-länk för klustret för att ansluta till din Azure Monitor-arbetsyta med hjälp av en privat slutpunkt. Azure Managed Service for Prometheus lagrar sina data på en Azure Monitor-arbetsyta som använder en offentlig slutpunkt som standard. Anslut joner till offentliga slutpunkter skyddas med kryptering från slutpunkt till slutpunkt. Om du behöver en privat slutpunkt kan du använda en privat Azure-länk för att tillåta att klustret ansluter till arbetsytan via auktoriserade privata nätverk. Privat länk kan också användas för att tvinga datainmatning av arbetsytor via ExpressRoute eller ett VPN.

Mer information om hur du konfigurerar klustret för privat länk finns i Private Link för datainmatning för Managed Prometheus och Azure Monitor-arbetsytan . Mer information om hur du kör frågor mot dina data med privat länk finns i Använda privata slutpunkter för Managed Prometheus och Azure Monitor-arbetsytan .
Använd trafikanalys för att övervaka nätverkstrafik till och från klustret. Trafikanalys analyserar Azure Network Watcher NSG-flödesloggar för att ge insikter om trafikflödet i ditt Azure-moln. Använd det här verktyget för att säkerställa att det inte finns någon dataexfiltrering för klustret och för att identifiera om några onödiga offentliga IP-adresser exponeras.
Aktivera nätverksobservabilitet. Tillägg för nätverksobservabilitet för AKS ger observerbarhet i flera lager i Kubernetes-nätverksstacken. övervaka och observera åtkomst mellan tjänster i klustret (trafik öst-väst).
Säkerställ säkerheten för Log Analytics-arbetsytan som stöder Container Insights. Containerinsikter förlitar sig på en Log Analytics-arbetsyta. Se Metodtips för Azure Monitor-loggar för rekommendationer för att säkerställa säkerheten på arbetsytan.

Kostnadsoptimering

Kostnadsoptimering syftar på sätt att minska onödiga utgifter och förbättra drifteffektiviteten. Du kan avsevärt minska kostnaderna för Azure Monitor genom att förstå dina olika konfigurationsalternativ och möjligheter att minska mängden data som samlas in. Se Kostnader och användning i Azure Monitor för att förstå de olika sätt som Azure Monitor debiterar och hur du visar din månadsfaktura.

Kommentar

Se Optimera kostnader i Azure Monitor för kostnadsoptimeringsrekommendationer för alla funktioner i Azure Monitor.

Checklista för design

  • Aktivera inte Container Insights-samling med Prometheus-mått.
  • Konfigurera agentinsamling för att ändra datainsamling i Container Insights.
  • Ändra inställningar för insamling av måttdata efter Container Insights.
  • Inaktivera Container Insights-insamling av måttdata om du inte använder containerinsikter i Azure-portalen.
  • Om du inte frågar containerloggtabellen regelbundet eller använder den för aviseringar konfigurerar du den som grundläggande loggar.
  • Begränsa insamling av resursloggar som du inte behöver.
  • Använd resursspecifik loggning för AKS-resursloggar och konfigurera tabeller som grundläggande loggar.
  • Använd OpenCost för att samla in information om dina Kubernetes-kostnader.

Konfigurationsrekommendationer

Rekommendation Förmån
Aktivera inte Container Insights-samling med Prometheus-mått på Log Analytics-arbetsytan om du har aktiverat skrapning av mått med Prometheus. Förutom att skrapa Prometheus-mått från klustret med azure monitor-hanterad tjänst för Prometheus kan du konfigurera Container insights för att samla in Prometheus-mått på din Log Analytics-arbetsyta. Detta är redundant med data i Managed Prometheus och resulterar i ytterligare kostnader.
Konfigurera agenten för att ändra datainsamling i Container Insights. Analysera data som samlas in av Container Insights enligt beskrivningen i Kontrollera inmatning för att minska kostnaderna och justera konfigurationen för att stoppa insamling av data som du inte behöver.
Ändra inställningar för insamling av måttdata efter Container Insights. Mer information om hur du ändrar både hur ofta måttdata samlas in och de namnområden som samlas in av Container Insights finns i Aktivera inställningar för kostnadsoptimering .
Inaktivera Container Insights-insamling av måttdata om du inte använder containerinsikter i Azure-portalen. Containerinsikter samlar in många av samma måttvärden som Managed Prometheus. Du kan inaktivera insamling av dessa mått genom att konfigurera containerinsikter för att endast samla in loggar och händelser enligt beskrivningen i Aktivera inställningar för kostnadsoptimering i Container insights. Den här konfigurationen inaktiverar Container Insights-upplevelsen i Azure-portalen, men du kan använda Grafana för att visualisera Prometheus-mått och Log Analytics för att analysera loggdata som samlas in av Container Insights.
Om du inte frågar containerloggtabellen regelbundet eller använder den för aviseringar konfigurerar du den som grundläggande loggar. Konvertera ditt Container Insights-schema till ContainerLogV2 som är kompatibelt med Basic-loggar och kan ge betydande kostnadsbesparingar enligt beskrivningen i Kontrollera inmatning för att minska kostnaderna.
Begränsa insamling av resursloggar som du inte behöver. Kontrollplansloggar för AKS-kluster implementeras som resursloggar i Azure Monitor. Skapa en diagnostikinställning för att skicka dessa data till en Log Analytics-arbetsyta. Se Samla in kontrollplansloggar för AKS-kluster för rekommendationer om vilka kategorier du bör samla in.
Använd resursspecifik loggning för AKS-resursloggar och konfigurera tabeller som grundläggande loggar. AKS stöder antingen Azure-diagnostikläge eller resursspecifikt läge för resursloggar. Ange resursloggar för att aktivera alternativet att konfigurera tabellerna för grundläggande loggar, vilket ger en reducerad inmatningsavgift för loggar som du bara ibland frågar efter och inte använder för aviseringar.
Använd OpenCost för att samla in information om dina Kubernetes-kostnader. OpenCost är ett cncf-sandbox-projekt med öppen källkod som är leverantörsneutralt för att förstå dina Kubernetes-kostnader och stödja din förmåga att för AKS-kostnadssynlighet. Den exporterar detaljerade kostnadsdata utöver kundspecifika Azure-priser till Azure Storage för att hjälpa klusteradministratören att analysera och kategorisera kostnader.

Driftsäkerhet

Driftskvalitet avser de driftsprocesser som krävs för att hålla en tjänst igång på ett tillförlitligt sätt i produktionen. Använd följande information för att minimera driftskraven för övervakning av dina Kubernetes-kluster.

Checklista för design

  • Granska vägledningen för att övervaka alla lager i Kubernetes-miljön.
  • Använd Azure Arc-aktiverade Kubernetes för att övervaka dina kluster utanför Azure.
  • Använd Azure-hanterade tjänster för molnbaserade verktyg.
  • Integrera AKS-kluster i dina befintliga övervakningsverktyg.
  • Använd Azure Policy för att aktivera datainsamling från ditt Kubernetes-kluster.

Konfigurationsrekommendationer

Rekommendation Förmån
Granska vägledningen för att övervaka alla lager i Kubernetes-miljön. Övervaka kubernetes-klusterprestanda med containerinsikter innehåller vägledning och metodtips för övervakning av hela Kubernetes-miljön från nätverks-, kluster- och programskikten.
Använd Azure Arc-aktiverade Kubernetes för att övervaka dina kluster utanför Azure. Med Azure Arc-aktiverade Kubernetes kan dina Kubernetes-kluster som körs i andra moln övervakas med samma verktyg som dina AKS-kluster, inklusive Container Insights och Azure Monitor managed service for Prometheus.
Använd Azure-hanterade tjänster för molnbaserade verktyg. Azure Monitor-hanterad tjänst för Prometheus och Azure-hanterad Grafana har stöd för alla funktioner i de molnbaserade verktygen Prometheus och Grafana utan att behöva använda den underliggande infrastrukturen. Du kan snabbt etablera dessa verktyg och registrera dina Kubernetes-kluster med minimala omkostnader. Med de här tjänsterna kan du komma åt ett omfattande bibliotek med communityregler och instrumentpaneler för att övervaka din Kubernetes-miljö.
Integrera AKS-kluster i dina befintliga övervakningsverktyg. Om du har en befintlig investering i Prometheus och Grafana integrerar du dina AKS-kluster och Azure-hanterade tjänster i din befintliga miljö med hjälp av vägledningen i Övervaka Kubernetes-kluster med hjälp av Azure-tjänster och molnbaserade verktyg.
Använd Azure Policy för att aktivera datainsamling från ditt Kubernetes-kluster. Använd Azure Policy för att aktivera datainsamling för att aktivera Prometheus-mått, Containerinsikter och diagnostikinställningar. Detta säkerställer att alla nya kluster övervakas automatiskt och framtvingar övervakningskonfigurationen.

Prestandaeffektivitet

Prestandaeffektivitet handlar om att effektivt skala arbetsbelastningen baserat på användarnas behov. Använd följande information för att övervaka prestanda för dina Kubernetes-kluster och se till att de är konfigurerade för maximal prestanda.

Checklista för design

  • Aktivera insamling av Prometheus-mått för klustret.
  • Aktivera Container Insights för att spåra prestanda för klustret.
  • Aktivera rekommenderade Prometheus-aviseringar.

Konfigurationsrekommendationer

Rekommendation Förmån
Aktivera insamling av Prometheus-mått för klustret. Prometheus är en molnbaserad måttlösning från Cloud Native Compute Foundation och det vanligaste verktyget som används för att samla in och analysera måttdata från Kubernetes-kluster. Aktivera Prometheus i klustret med Azure Monitor-hanterad tjänst för Prometheus om du inte redan har en Prometheus-miljö. Använd Azure Managed Grafana för att analysera de Prometheus-data som samlas in.

Se Anpassa skrapning av Prometheus-mått i Azure Monitor-hanterad tjänst för Prometheus för att samla in ytterligare mått utöver standardkonfigurationen.
Aktivera Container Insights för att spåra prestanda för klustret. När du aktiverar Container Insights för ditt Kubernetes-kluster kan du använda vyer och arbetsböcker för att spåra prestanda för komponenterna i klustret. Dessa data kan överlappa med data som samlas in av Prometheus. Se Kostnadsoptimering för rekommendationer om kostnader.
Aktivera rekommenderade Prometheus-aviseringar. Aviseringar i Azure Monitor meddelar dig proaktivt när problem identifieras. Börja med en uppsättning rekommenderade Prometheus-aviseringsregler som identifierar de vanligaste tillgänglighets- och prestandaproblemen med klustret. Potentiellt lägga till loggsökningsaviseringar med hjälp av data som samlas in av Container Insights.

Gå vidare