Sdílet prostřednictvím


Použití událostí Kubernetes k řešení potíží ve službě Azure Kubernetes Service (AKS)

V tomto článku se dozvíte, jak pomocí událostí Kubernetes monitorovat a řešit problémy v clusterech Azure Kubernetes Service (AKS).

Co jsou události Kubernetes?

Události jsou jedním z nejvýznamnějších zdrojů pro monitorování a řešení potíží v Kubernetes. Zaznamenávají a zaznamenávají informace o životním cyklu různých objektů Kubernetes, jako jsou pody, uzly, služby a nasazení. Monitorováním událostí můžete získat přehled o aktivitách clusteru, identifikovat problémy a efektivně řešit problémy.

Události Kubernetes se v průběhu životního cyklu clusteru neuchovávají, protože neexistuje žádný mechanismus uchovávání informací. Události jsou k dispozici pouze po dobu jedné hodiny po vygenerování události. Pokud chcete ukládat události po delší časové období, povolte přehledy kontejnerů.

Objekty událostí Kubernetes

V následující tabulce jsou uvedeny některé klíčové objekty událostí Kubernetes:

Název pole Popis
typ Typ je založen na závažnosti události:
Upozornění událostí signalizují potenciálně problematické situace, jako je například opakované selhání podu nebo nedostatek prostředků uzlu. Vyžadují pozornost, ale nemusí vést k okamžitému selhání.
Normální události představují rutinní operace, jako je naplánování podu nebo vertikální navýšení kapacity nasazení. Obvykle označují dobré chování clusteru.
důvod Důvod, proč byla událost vygenerována. Například FailedScheduling nebo CrashLoopBackoff.
zpráva Zpráva čitelná pro člověka, která popisuje událost.
názvový prostor Obor názvů objektu Kubernetes, ke kterému je událost přidružena.
firstSeen Časové razítko, kdy byla událost poprvé pozorována.
lastSeen Časové razítko posledního pozorování události
reportingController Název kontroleru, který ohlásil událost. Například kubernetes.io/kubelet.
objekt Název objektu Kubernetes, ke kterému je událost přidružená.

Další informace najdete v oficiální dokumentaci k Kubernetes.

Zobrazení událostí Kubernetes

Pomocí příkazu vypište všechny události v clusteru kubectl get events .

Za předpokladu, že je váš cluster už vytvořený a dostupný (podle požadavků na dokumentaci), získejte přihlašovací údaje (mějte na paměti --overwrite-existing , že příznak je nastavený tak, aby se zabránilo chybám kubeconfig):

az aks get-credentials --resource-group $RESOURCE_GROUP --name $AKS_CLUSTER --overwrite-existing

Teď vypište všechny události v clusteru:

kubectl get events

Výsledky:

LAST SEEN   TYPE      REASON              OBJECT                      MESSAGE
xxm         Normal    Scheduled           pod/my-pod-xxxxx            Successfully assigned default/my-pod-xxxxx to aks-nodepoolxx-xxxxxxx-vmss000000
xxm         Normal    Pulled              pod/my-pod-xxxxx            Container image "nginx" already present on machine
xxm         Normal    Created             pod/my-pod-xxxxx            Created container nginx
xxm         Normal    Started             pod/my-pod-xxxxx            Started container nginx
...

Nejprve vyhledejte název podu a pak pomocí příkazu prohlédněte události konkrétního podu kubectl describe pod .

Vypište pody v aktuálním oboru názvů:

kubectl get pods

Výsledky:

NAME                             READY   STATUS    RESTARTS   AGE
my-pod-xxxxx                     1/1     Running   0          xxm
nginx-deployment-xxxxx           1/1     Running   0          xxm
...

Nahraďte <pod-name> níže skutečným názvem podu. Pro automatizaci je tady příklad prvního podu v seznamu:

POD_NAME=$(kubectl get pods -o jsonpath="{.items[0].metadata.name}")
kubectl describe pod $POD_NAME

Osvědčené postupy pro řešení potíží s událostmi

Filtrování událostí podle relevance

V clusteru AKS můžete mít spuštěné různé obory názvů a služby. Filtrováníudálostch

K filtrování událostí v rámci výchozího oboru názvů můžete použít například následující příkaz:

kubectl get events --namespace default

Automatizace oznámení událostí

Pokud chcete zajistit včasnou reakci na kritické události v clusteru AKS, nastavte automatizovaná oznámení. Azure nabízí integraci se službami monitorování a upozorňování, jako je Azure Monitor. Výstrahy můžete nakonfigurovat tak, aby se aktivovaly na základě konkrétních vzorů událostí. Tímto způsobem jste okamžitě informováni o zásadních problémech, které vyžadují pozornost.

Pravidelné kontroly událostí

Zvykněte si pravidelně kontrolovat události v clusteru AKS. Tento proaktivní přístup vám může pomoct identifikovat trendy, zachytit potenciální problémy včas a zabránit eskalaci. Díky tomu, že budete mít přehled o událostech, můžete udržovat stabilitu a výkon aplikací.

Další kroky

Teď, když rozumíte událostem Kubernetes, můžete pokračovat ve sledování a pozorovatelnosti povolením přehledů kontejnerů.