Monitorování nasazení úloh

Tento článek je součástí série článků. Začněte přehledem.

Je důležité monitorovat stav a výkon úloh Kubernetes, aby se zajistilo optimální spuštění. Azure Kubernetes Service (AKS) obsahuje několik nástrojů, které můžete použít ke kontrole stavu a výkonu nasazení, DaemonSet funkcí a služeb.

Nástroje

Je důležité určit, jestli jsou spuštěná všechna nasazení a DaemonSet funkce. Tento článek popisuje, jak určit, jestli repliky v připravených a dostupných stavech odpovídají očekávanému počtu replik pomocí:

  • Azure Portal
  • Funkce Přehledy kontejnerů služby Azure Monitor.
  • Nástroj příkazového řádku kubectl.
  • Prometheus a Grafana.

Azure Portal

Pomocí webu Azure Portal můžete ověřit stav následujících komponent ve vašich úlohách. Další informace najdete v tématu Přístup k prostředkům Kubernetes z webu Azure Portal.

Nasazení, ReplicaSet, StatefulSeta DaemonSet

Ověřte, že počet replik, které jsou v připraveném stavu, odpovídá počtu požadovaných replik. Na portálu se zobrazí:

  • Počet replik, které jsou aktuálně dostupné a připravené k poskytování provozu. Tyto repliky byly úspěšně naplánovány na pracovní uzly, dokončily proces spuštění a prošly jejich kontroly připravenosti.

  • Požadovaný počet replik určených pro nasazení nebo počet replik, které má nasazení zachovat. Kontroler nasazení Kubernetes neustále monitoruje stav nasazení a zajišťuje, aby skutečný počet replik odpovídal požadovanému číslu.

Služby a příchozí přenos dat

Ujistěte se, že stav je v pořádku pro všechny služby a příchozí přenos dat.

Úložiště

Ujistěte se, že je stav vázán pro všechny trvalé deklarace identity svazku a trvalé svazky.

Přehledy kontejnerů

Container Insights je funkce Monitorování, která poskytuje možnosti monitorování pro úlohy kontejnerů nasazené do AKS nebo spravované kubernetes s podporou Azure Arc. Tato funkce shromažďuje informace o výkonu a stavu, jako jsou metriky paměti a procesoru z kontrolerů, uzlů a kontejnerů. Zachytává také protokoly kontejnerů pro účely analýzy.

Shromážděná data můžete analyzovat pomocí různých zobrazení a předem připravených sešitů. Prozkoumejte výkon a chování různých komponent v clusteru. Díky přehledům kontejnerů můžete získat přehled o celkovém stavu úloh kontejneru, abyste mohli informovaně rozhodovat o optimalizaci jejich výkonu a řešení problémů.

Přehledy kontejnerů můžete použít k:

  • Identifikujte kritické body prostředků tím, že identifikujete kontejnery, které běží na jednotlivých uzlech, a jejich procesoru a využití paměti.

  • Identifikujte využití procesoru a paměti skupin kontejnerů a jejich kontejnerů hostovaných v instancích kontejnerů.

  • Zobrazte celkový výkon kontroleru nebo podu tak, že zjistíte, kde se kontejner nachází v kontroleru nebo podu.

  • Zkontrolujte využití prostředků úloh, které běží na hostiteli, a nesouvisejí se standardními procesy, které podporují pod.

  • Porozumíte chování clusteru v průměrném a velkém zatížení, abyste mohli identifikovat potřeby kapacity a určit maximální zatížení, které cluster dokáže udržet.

  • Získejte přístup k protokolům a metrikám živého kontejneru, které modul kontejnerů generuje, abyste mohli řešit problémy v reálném čase.

  • Nakonfigurujte upozornění, která vás proaktivně upozorní nebo zaznamená, když využití procesoru a paměti na uzlech nebo kontejnerech překročí prahové hodnoty nebo když dojde ke změně stavu v clusteru v souhrnu stavu infrastruktury nebo uzlů.

Přehledy kontejnerů na webu Azure Portal poskytují několik nástrojů, které pomáhají monitorovat a analyzovat stav a výkon clusteru AKS.

  • Cluster: Tato funkce poskytuje přehled clusteru AKS, včetně klíčových metrik, jako je využití procesoru a paměti, počty podů a uzlů a síťový provoz. Můžete získat přehled o celkovém stavu a využití prostředků clusteru.

  • Sestavy: Tato funkce poskytuje předem připravené sestavy, které můžete použít k vizualizaci a analýze různých aspektů výkonu clusteru, jako jsou využití prostředků, stav podu a přehledy kontejnerů. Tato data vám pomůžou porozumět chování a výkonu kontejnerů a úloh.

  • Uzly: Tato funkce poskytuje podrobné informace o uzlech ve vašem clusteru. Zobrazuje metriky využití procesoru a paměti, vstupně-výstupních operací disku a sítě a stav jednotlivých uzlů. Tato data můžete použít k monitorování výkonu jednotlivých uzlů, identifikaci potenciálních kritických bodů a zajištění efektivního přidělování prostředků.

  • Kontrolery: Tato funkce poskytuje přehled o kontrolerů Kubernetes ve vašem clusteru AKS. Zobrazuje informace, jako je počet instancí kontroleru, aktuální stav a stav operací kontroleru. Můžete monitorovat stav a výkon kontrolerů, které spravují nasazení úloh, služby a další prostředky.

  • Kontejnery: Tato funkce poskytuje přehled o kontejnerech, které běží v clusteru AKS. Poskytuje informace související s využitím prostředků, restartováním a událostmi životního cyklu jednotlivých kontejnerů. Tato data můžete použít k monitorování a řešení potíží s kontejnery ve vašich úlohách.

  • Živé protokoly: Funkce živých protokolů poskytuje živý stream událostí protokolu ze spuštěných kontejnerů, takže můžete protokoly kontejnerů zobrazit v reálném čase. Tato data můžete použít k efektivnímu monitorování a odstraňování potíží s aplikacemi a rychlé identifikaci a řešení problémů v kontejnerech.

Další informace naleznete v následujících zdrojích:

Nástroj příkazového řádku

Ke kontrole stavu úloh můžete použít nástroj příkazového řádku kubectl ke komunikaci s řídicí rovinou clusteru Kubernetes prostřednictvím rozhraní KUBERNEtes API.

Pody

Pokud chcete zobrazit seznam podů spuštěných ve všech oborech názvů, spusťte následující příkaz:

kubectl get pod -A

Ve výstupu příkazu sloupec READY poskytuje důležité informace o stavu připravenosti kontejnerů podů.

První číslo označuje počet kontejnerů, které jsou aktuálně v připraveném stavu. Tyto kontejnery prošly testy připravenosti a jsou připravené na zpracování příchozího provozu. Druhé číslo představuje celkový počet kontejnerů, které jsou definovány v podu bez ohledu na jejich stav připravenosti. Zahrnuje kontejnery, které jsou připravené a ty, které se stále inicializují nebo dochází k problémům.

Ujistěte se, že první číslo (připravené kontejnery) odpovídá druhému počtu (celkovým kontejnerům) podu. Pokud se liší, některé kontejnery nemusí být připravené nebo mohou nastat problémy, které jim brání v dosažení připraveného stavu.

Nasazení, StatefulSet, DaemonSeta StatefulSet

Spuštěním následujícího příkazu načtěte nasazení ve všech oborech názvů:

kubectl get deploy -A

Ve výstupu kubectl get deploy příkazu čísla ve sloupci READY označují aktuální stav připravenosti replik v nasazení.

První číslo představuje počet replik, které jsou připravené a dostupné pro obsluhu provozu. Tyto repliky se úspěšně spustily a prošly jejich kontrolami připravenosti. Druhé číslo představuje požadovaný počet replik zadaných v konfiguraci nasazení. Jedná se o cílový počet replik, které má nasazení zachovat.

Je důležité zajistit, aby první číslo odpovídalo druhému číslu. Označuje, že požadovaný počet replik je spuštěný a připravený. Jakékoli nesrovnalosti mezi těmito dvěma čísly můžou znamenat problémy se škálováním nebo připraveností, které musíte vyřešit.

Spuštěním následujícího příkazu načtěte funkce StatefulSet ve všech oborech názvů:

kubectl get statefulset -A

Spuštěním následujícího příkazu načtěte funkce DaemonSet ve všech oborech názvů:

kubectl get ds -A

Spuštěním kubectl get ds příkazu můžete ověřit, že DaemonSet je spuštěný podle očekávání. Spuštěním následujícího příkazu můžete například ověřit úspěšné nasazení agenta Container Insights:

kubectl get ds ama-logs --namespace=kube-system

Podobně pokud cluster AKS nakonfigurujete tak, aby shromažďovaly metriky Prometheus ve službě Monitor pro spravované prometheus, můžete spuštěním následujícího příkazu ověřit, že DaemonSet je správně nasazený ve fondech uzlů Linuxu:

kubectl get ds ama-metrics-node --namespace=kube-system

Tento výstup poskytuje informace o funkcích DaemonSet ve vašem clusteru. Zkontrolujte výstup a ujistěte se, že počet podů v připravených, aktuálních a požadovaných stavech je stejný. Pokud jsou stejné, požadovaný počet podů zadaných v DaemonSet konfiguraci se rovná počtu podů, které jsou aktuálně spuštěné a připravené.

Doporučujeme provést stejnou kontrolu funkcí replicaSet . K načtení ReplicaSet funkcí ve všech oborech názvů můžete použít následující příkaz:

kubectl get rs -A

Ujistěte se, že čísla v tomto výstupu jsou pro každý stav stejná, aby zamýšlený počet podů nebo replik běžel podle očekávání. Nesrovnalosti můžou znamenat potřebu dalšího šetření nebo řešení potíží pomocí jednoho z následujících příkazů.

kubectl describe: Pomocí příkazu kubectl describe můžete získat podrobné informace o prostředcích Kubernetes, jako jsou pody, nasazení a služby. Můžete získat komplexní přehled o zadaném prostředku, včetně jeho aktuálního stavu, událostí, podmínek a souvisejících metadat. Informace se načítají ze serveru rozhraní API Kubernetes. Tento příkaz je užitečný pro řešení potíží a pochopení stavu prostředku.

Můžete spustit kubectl describe pod <pod-name> , abyste získali podrobné informace o konkrétním podu, včetně jeho aktuálního stavu, událostí, popisků a kontejnerů, které jsou k němu přidružené. Výstup zobrazuje informace, jako je stav podu, události, svazky a podmínky.

protokoly kubectl: Pomocí příkazu kubectl logs můžete načíst protokoly vygenerované kontejnerem v podu. Tento příkaz je užitečný pro ladění a řešení potíží. Protokoly můžete zobrazit v reálném čase nebo načíst historické protokoly z kontejneru.

K zobrazení protokolů kontejneru můžete použít příkaz kubectl logs <pod-name> -c <container-name>. Nahraďte <pod-name> názvem podu. Nahraďte <container-name> názvem kontejneru, ze kterého chcete načíst protokoly. Pokud je v podu jenom jeden kontejner, nemusíte zadávat název kontejneru. Příznak kubectl logs můžete použít -f také k sledování protokolů v reálném čase. Tento příznak je podobný tail -f příkazu Linuxu.

události kubectl: Příkaz kubectl events můžete použít k řešení potíží, když se nasazení , DaemonSet, ReplicaSetnebo pod nespustí nebo narazí na problém během spuštění. Tento příkaz poskytuje chronologický seznam událostí přidružených k zadanému prostředku. Můžete získat přehled o tom, co mohlo způsobit problém.

Pokud chcete použít kubectl events, můžete spustit příkaz kubectl events následovaný konkrétním názvem prostředku. Nebo můžete použít selektory k filtrování událostí na základě popisků, oborů názvů nebo jiných kritérií.

Pokud například chcete načíst události související s konkrétním podem, můžete spustit kubectl events --field-selector involvedObject.name=<pod-name> --field-selector involvedObject.kind=Pod. Nahraďte <pod-name> názvem podu, který chcete prozkoumat. Výstup kubectl events příkazu zobrazí informace, jako je typ události (normální nebo upozornění), zpráva události, důvod události a časové razítko, kdy k události došlo. Tyto informace vám pomůžou určit, co způsobilo selhání nebo problém při spuštění.

Pokud máte podezření, že konkrétní prostředek, jako je nasazení nebo DaemonSetReplicaSet dochází k problémům, můžete události filtrovat pomocí selektorů. Například kubectl events --field-selector involvedObject.name=<deployment-name> --field-selector involvedObject.kind=Deployment ukazuje události související s konkrétním nasazením. Prozkoumejte události, abyste mohli shromáždit důležité podrobnosti o potenciálních chybách, chybách nebo jiných událostech, které mohly bránit správnému spuštění prostředku. Tato data vám pomůžou vyřešit a vyřešit problémy, které mají vliv na prostředek.

Monitorování v clusteru pomocí nástroje Prometheus a Grafana

Pokud nasadíte Nástroj Prometheus a Grafana do clusteru AKS, můžete získat přehledy pomocí řídicího panelu podrobností clusteru K8. Tento řídicí panel obsahuje informace shromážděné z metrik clusteru Prometheus, jako jsou využití procesoru a paměti, síťová aktivita a využití systému souborů. Zobrazuje také podrobné statistiky pro jednotlivé pody, kontejnery a systémové služby.

Pokud chcete zajistit stav a výkon nasazení, úloh, podů a kontejnerů, můžete použít funkce na řídicím panelu. Výběrem možnosti Nasazení zobrazíte počet replik pro každé nasazení a celkový počet replik. Výběrem možnosti Kontejnery zobrazíte graf, který zobrazuje spuštěné, čekající, neúspěšné a úspěšné kontejnery.

Monitorování spravované služby pro Prometheus a Azure Managed Grafana

Pomocí předem připravených řídicích panelů můžete vizualizovat a analyzovat metriky Prometheus. K tomu musíte nastavit cluster AKS tak, aby shromažďuje metriky Prometheus ve spravované službě Monitor pro Prometheus a připojili pracovní prostor Monitoru k pracovnímu prostoru Azure Managed Grafana .

Nainstalujte předem připravené řídicí panely, abyste získali komplexní přehled o výkonu a stavu clusteru Kubernetes. Podrobné pokyny k instalaci najdete v tématu Mix pro monitorování Prometheus pro Kubernetes. Řídicí panely se zřídí v zadané instanci Azure Managed Grafana ve složce Managed Prometheus . Mezi řídicí panely patří:

  • Kubernetes / Výpočetní prostředky / Cluster
  • Kubernetes / Výpočetní prostředky / Obor názvů (pody)
  • Kubernetes / Výpočetní prostředky / Uzel (pody)
  • Kubernetes / Výpočetní prostředky / Pod
  • Kubernetes / Výpočetní prostředky / Obor názvů (úlohy)
  • Kubernetes / Výpočetní prostředky / Úlohy
  • Kubernetes / Kubelet
  • Exportér uzlu / METODA USE / Uzel
  • Export uzlů / Uzly
  • Kubernetes / Výpočetní prostředky / Cluster (Windows)
  • Kubernetes / Výpočetní prostředky / Obor názvů (Windows)
  • Kubernetes / Výpočetní prostředky / Pod (Windows)
  • Kubernetes / METODA USE / Cluster (Windows)
  • Kubernetes / METODA USE / Node (Windows)

Tyto integrované řídicí panely se široce používají v opensourcové komunitě pro monitorování clusterů Kubernetes pomocí Prometheus a Grafany. Pomocí těchto řídicích panelů můžete zobrazit metriky, jako jsou využití prostředků, stav podu a síťová aktivita. Můžete také vytvořit vlastní řídicí panely, které jsou přizpůsobené vašim potřebám monitorování. Řídicí panely pomáhají efektivně monitorovat a analyzovat metriky Prometheus v clusteru AKS, které umožňují optimalizovat výkon, řešit problémy a zajistit hladký provoz úloh Kubernetes.

Pomocí řídicího panelu Kubernetes / Výpočetní prostředky / Uzly (pody) můžete zobrazit metriky pro uzly agenta Linuxu. Pro každý pod můžete vizualizovat využití procesoru, kvótu procesoru, využití paměti a kvótu paměti.

Řídicí panel Kubernetes / Výpočetní prostředky / Pod Grafana poskytuje přehledy o spotřebě prostředků a metrikách výkonu vybraného clusteru, oboru názvů a podu. Pomocí tohoto řídicího panelu můžete získat metriky související s využitím procesoru, omezováním procesoru, kvótou procesoru, využitím paměti, kvótou paměti, metrikami sítě a metrikami úložiště. Na řídicím panelu vyberte cluster AKS, obor názvů a pod ve zvoleném oboru názvů, abyste viděli následující podrobnosti:

  • Využití procesoru: Tento graf zobrazuje využití procesoru pro vybraný pod v průběhu času. Můžete si projít vzor spotřeby procesoru a identifikovat potenciální špičky nebo odchylky.

  • Omezování procesoru: Tento graf poskytuje přehled o omezování procesoru, ke kterému dochází, když pod překročí limity prostředků procesoru. Monitorujte tuto metriku, abyste mohli identifikovat oblasti, ve kterých je výkon podu omezený kvůli omezování procesoru.

  • Kvóta procesoru: Tento graf zobrazuje přidělenou kvótu procesoru pro vybraný pod. Pokud pod překročí přidělenou kvótu procesoru, může vyžadovat úpravy prostředků.

  • Využití paměti: Tento graf zobrazuje využití paměti vybraného podu. Monitorujte vzor spotřeby paměti a identifikujte případné problémy související s pamětí.

  • Kvóta paměti: Tento graf zobrazuje přidělenou kvótu paměti pro pod. Pokud pod překročí kvótu přiřazené paměti, může to znamenat potřebu optimalizace prostředků.

  • Síťové metriky: Tyto grafy zobrazují přijatou a přenášenou šířku pásma a rychlost přijatých a přenášených paketů. Tyto metriky pomáhají monitorovat využití sítě a zjišťovat potenciální kritické body sítě nebo anomálie.

  • Metriky úložiště: Tato část obsahuje informace o metrikách souvisejících s úložištěm, jako jsou vstupně-výstupní operace za sekundu (IOPS) a propustnost. Monitorováním těchto metrik můžete měřit výkon a efektivitu úložiště podů.

Pomocí řídicího panelu Kubernetes / Výpočetní prostředky / Pod Grafana můžete získat přehled o využití prostředků, výkonu a chování podů v clusteru Kubernetes. Pomocí těchto informací můžete optimalizovat přidělování prostředků, řešit problémy s výkonem a činit informovaná rozhodnutí, která zajistí hladký provoz kontejnerizovaných úloh.

Přispěvatelé

Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.

Hlavní autor:

Další přispěvatelé:

Pokud chcete zobrazit neveřejné profily LinkedIn, přihlaste se na LinkedIn.

Další kroky