Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Csomópont-problémaérzékelő (NPD) egy nyílt forráskód Kubernetes-összetevő, amely észleli a csomópontokkal kapcsolatos problémákat és jelentéseket róluk. Rendszeralapú szolgáltatásként fut a fürt minden csomópontján, és összegyűjti a különböző metrikákat és rendszerinformációkat, például a processzorhasználatot, a lemezhasználatot és a hálózati kapcsolatot. Ha hibát észlel, eseményeket és/vagy csomóponti feltételeket hoz létre. Az Azure Kubernetes Service (AKS) NPD használatával figyeli és kezeli az Azure-felhőplatformon futó Kubernetes-fürtök csomópontjait. Az AKS Linux-bővítmény alapértelmezés szerint engedélyezi az NPD-t.
Feljegyzés
Az NPD-re történő frissítés független a csomópont lemezképétől és a Kubernetes verziófrissítési folyamatától. Ha egy csomópontkészlet nem kifogástalan állapotú (vagyis sikertelen állapotban van), a rendszer nem telepíti az új NPD-verziókat.
Csomópontfeltételek
A csomópontfeltételek állandó problémát jeleznek, amely miatt a csomópont elérhetetlenné válik. Az AKS az NPD következő csomópontfeltételeit használja a csomóponton lévő állandó problémák feltárásához. Az NPD a megfelelő Kubernetes-eseményeket is kibocsátja.
| Probléma démontípusa | Csomópont állapota | Ok | Számítási típus |
|---|---|---|---|
| EgyediPluginFigyelő | Fájlrendszer-sérülés-probléma | FájlrendszerSérülésÉszlelve | Általános cél |
| EgyediPluginFigyelő | KubeletProbléma | KubeletIsDown | Általános cél |
| EgyediPluginFigyelő | Konténer Futásidejű Probléma | Konténerfelderítés leállt | Általános cél |
| EgyediPluginFigyelő | VM esemény ütemezve | VM esemény ütemezve | Általános cél |
| EgyediPluginFigyelő | FrequentUnregisterNetDevice | Hálózati eszköz leiratkoztatása | Általános cél |
| EgyediPluginFigyelő | GyakoriKubeletÚjraindítás | GyakoriKubeletÚjraindítás | Általános cél |
| EgyediPluginFigyelő | Containerd Alkalmazás Gyakori Újraindítása | Containerd Alkalmazás Gyakori Újraindítása | Általános cél |
| EgyediPluginFigyelő | GyakoriDockerÚjraindítás | GyakoriDockerÚjraindítás | Általános cél |
| EgyediPluginFigyelő | GPUHiányzik | A megfigyelt GPU-szám nem egyezik a várt GPU-számval | Csak GPU |
| EgyediPluginFigyelő | NVLink Állapot Inaktív | NVLink Állapot Inaktív | Csak GPU |
| EgyediPluginFigyelő | XIDErrors | A kernelnaplóban található XID-hibák | Csak GPU |
| EgyediPluginFigyelő | IBLinkFlapping | Időszakos InfiniBand-eszközkapcsolat | Csak GPU |
| EgyediPluginFigyelő | GPUClockThrottling | Problémás GPU óraszabályozás észlelhető | Csak GPU |
| EgyediPluginFigyelő | UnhealthyNvidiaDevicePlugin | Az NVIDIA eszköz beépülő modul szolgáltatása nem aktív | Csak GPU (felügyelt GPU) |
| Rendszernaplófigyelő | KernelDeadlock | DockerHung | Általános cél |
| Rendszernaplófigyelő | CsakOlvashatóFájlrendszer | A fájlrendszer csak olvasható | Általános cél |
Feljegyzés
A GPU only csomópontfeltételek az AKS által felügyelt GPU-illesztőprogramokat használó összes GPU-csomópontkészletre vonatkoznak (a csomópontkészleteket nem --gpu-driver none-el hozták létre). A GPU only (managed GPU) feltételek csak olyan csomópontkészletekre vonatkoznak, amelyek teljes mértékben felügyelt GPU-élményt engedélyeznek. A GPU állapotmonitorozása szabványos GPU - és MIG-kompatibilis GPU-csomópontkészleteken támogatott.
esemény
Az NPD releváns információkkal rendelkező eseményeket bocsát ki a mögöttes problémák diagnosztizálásához.
| Probléma démontípusa | Ok | Gyakoriság | Leírás | Tevékenység |
|---|---|---|---|---|
| EgyediPluginFigyelő | Kijárat blokkolva | 30 perc | Ez az esemény a külső végpontokhoz való kapcsolódást ellenőrzi | Ellenőrizze, hogy egy tűzfal vagy NSG blokkolja-e a végpont elérését, amely meg van jelölve |
| EgyediPluginFigyelő | FájlrendszerSérülésÉszlelve | 5 perc | Ez ellenőrzi a docker által felszínre hozott fájlrendszer-sérülést | |
| EgyediPluginFigyelő | KubeletIsDown | 30-as évek | Ez ellenőrzi, hogy a Kubelet szolgáltatás fut-e és kifogástalan állapotban van-e | |
| EgyediPluginFigyelő | Konténerfelderítés leállt | 30-as évek | Ez az esemény ellenőrzi, hogy a tároló futtatókörnyezete, például: a tároló fut-e és kifogástalan állapotban van-e | |
| EgyediPluginFigyelő | Ütemezett lefagyás | 1 perc | Ez az esemény ellenőrzi, hogy a csomóponton van-e ütemezve Leállítási Esemény. További https://aka.ms/aks/scheduledevents információk keresése | |
| EgyediPluginFigyelő | Ütemezett újraindítás | 1 perc | Ez az esemény ellenőrzi, hogy egy újraindítási esemény van-e ütemezve a csomóponton További https://aka.ms/aks/scheduledevents információ keresése | |
| EgyediPluginFigyelő | Ütemezett újratelepítés | 1 perc | Ez az esemény ellenőrzi, hogy van-e ütemezve újratelepítési esemény a csomóponton. További https://aka.ms/aks/scheduledevents információk keresése | |
| EgyediPluginFigyelő | Ütemezett megszüntetés | 1 perc | Ez az esemény ellenőrzi, hogy a csomóponton van-e ütemezve egy megszakítási esemény. További https://aka.ms/aks/scheduledevents információk keresése | |
| EgyediPluginFigyelő | Előre ütemezett | 2s | Ez az esemény ellenőrzi, hogy van-e előzményesemény ütemezve a csomóponton. További https://aka.ms/aks/scheduledevents információk keresése | |
| EgyediPluginFigyelő | DNSProblem | |||
| Rendszernaplófigyelő | OOMKilling | |||
| Rendszernaplófigyelő | TaskHung | |||
| Rendszernaplófigyelő | Hálózati eszköz leiratkoztatása | |||
| Rendszernaplófigyelő | KernelOops | |||
| Rendszernaplófigyelő | Nem lehet csatlakozni a DockerSockethoz | |||
| Rendszernaplófigyelő | KubeletRPCDeadlineExceeded | |||
| Rendszernaplófigyelő | KubeletRPCNoSuchContainer | |||
| Rendszernaplófigyelő | CNICannotStatFS | |||
| Rendszernaplófigyelő | PLEGegészségtelen | |||
| Rendszernaplófigyelő | KubeletStart | |||
| Rendszernaplófigyelő | DockerStart | |||
| Rendszernaplófigyelő | ContainerdStart |
Bizonyos esetekben az AKS automatikusan kordonozza és üríti a csomópontot a számítási feladatok megszakadásának minimalizálása érdekében. További információ az eseményekről és műveletekről: Node autodrain.
Kijárat blokkolva
Az EgressBlocked által ellenőrzött végpontok listája alább látható
Feljegyzés
A konkrét végpontok a fürt típusától és az üzemelési helytől függnek (nyilvános felhők vs. leválasztott felhők). A kimenő hozzáférés dokumentációját itt tekintheti meg. A dokumentáció nyilvános felhőkhöz készült
| Típus | példa | Feljegyzés |
|---|---|---|
| MCR | https://mcr.microsoft.com | |
| Microsoft Entra ID | https://login.microsoftonline.com |
|
| Resource Manager | https://management.azure.com | |
| Csomagok | https://packages.microsoft.com | |
| Kube Bináris | https://acs-mirror.azureedge.net/acs-mirror/healthz https://packages.aks.azure.com/acs-mirror/healthz |
A csomópont feltételeinek és eseményeinek ellenőrzése
A parancs használatával
kubectl describe nodeellenőrizze a csomópont feltételeit és eseményeit.kubectl describe node my-aks-nodeA kimenetnek a következő sűrített kimenethez hasonlóan kell kinéznie:
... ... Conditions: Type Status LastHeartbeatTime LastTransitionTime Reason Message ---- ------ ----------------- ------------------ ------ ------- VMEventScheduled False Thu, 01 Jun 2023 19:14:25 +0000 Thu, 01 Jun 2023 03:57:41 +0000 NoVMEventScheduled VM has no scheduled event FrequentContainerdRestart False Thu, 01 Jun 2023 19:14:25 +0000 Thu, 01 Jun 2023 03:57:41 +0000 NoFrequentContainerdRestart containerd is functioning properly FrequentDockerRestart False Thu, 01 Jun 2023 19:14:25 +0000 Thu, 01 Jun 2023 03:57:41 +0000 NoFrequentDockerRestart docker is functioning properly FilesystemCorruptionProblem False Thu, 01 Jun 2023 19:14:25 +0000 Thu, 01 Jun 2023 03:57:41 +0000 FilesystemIsOK Filesystem is healthy FrequentUnregisterNetDevice False Thu, 01 Jun 2023 19:14:25 +0000 Thu, 01 Jun 2023 03:57:41 +0000 NoFrequentUnregisterNetDevice node is functioning properly ContainerRuntimeProblem False Thu, 01 Jun 2023 19:14:25 +0000 Thu, 01 Jun 2023 03:57:40 +0000 ContainerRuntimeIsUp container runtime service is up KernelDeadlock False Thu, 01 Jun 2023 19:14:25 +0000 Thu, 01 Jun 2023 03:57:41 +0000 KernelHasNoDeadlock kernel has no deadlock FrequentKubeletRestart False Thu, 01 Jun 2023 19:14:25 +0000 Thu, 01 Jun 2023 03:57:41 +0000 NoFrequentKubeletRestart kubelet is functioning properly KubeletProblem False Thu, 01 Jun 2023 19:14:25 +0000 Thu, 01 Jun 2023 03:57:41 +0000 KubeletIsUp kubelet service is up ReadonlyFilesystem False Thu, 01 Jun 2023 19:14:25 +0000 Thu, 01 Jun 2023 03:57:41 +0000 FilesystemIsNotReadOnly Filesystem is not read-only NetworkUnavailable False Thu, 01 Jun 2023 03:58:39 +0000 Thu, 01 Jun 2023 03:58:39 +0000 RouteCreated RouteController created a route MemoryPressure True Thu, 01 Jun 2023 19:16:50 +0000 Thu, 01 Jun 2023 19:16:50 +0000 KubeletHasInsufficientMemory kubelet has insufficient memory available DiskPressure False Thu, 01 Jun 2023 19:16:50 +0000 Thu, 01 Jun 2023 03:57:22 +0000 KubeletHasNoDiskPressure kubelet has no disk pressure PIDPressure False Thu, 01 Jun 2023 19:16:50 +0000 Thu, 01 Jun 2023 03:57:22 +0000 KubeletHasSufficientPID kubelet has sufficient PID available Ready True Thu, 01 Jun 2023 19:16:50 +0000 Thu, 01 Jun 2023 03:57:23 +0000 KubeletReady kubelet is posting ready status. AppArmor enabled ... ... ... Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal NodeHasSufficientMemory 94s (x176 over 15h) kubelet Node aks-agentpool-40622340-vmss000009 status is now: NodeHasSufficientMemory
Ezek az események a Container Insightsban is elérhetők a KubeEventsen keresztül.
Mérőszámok
Az NPD prometheus-metrikákat is elérhetővé tesz a csomópontproblémák alapján, amelyeket figyeléshez és riasztáshoz használhat. Ezek a metrikák a Csomópont IP-címének 20257-ös portján vannak közzétéve, és a Prometheus lekaparhatja őket.
Az alábbi YAML-példa egy olyan scrape konfigurációt mutat be, amelyet a DaemonSetként használt Azure Managed Prometheus-bővítménnyel használhat:
kind: ConfigMap
apiVersion: v1
metadata:
name: ama-metrics-prometheus-config-node
namespace: kube-system
data:
prometheus-config: |-
global:
scrape_interval: 1m
scrape_configs:
- job_name: node-problem-detector
scrape_interval: 1m
scheme: http
metrics_path: /metrics
relabel_configs:
- source_labels: [__metrics_path__]
regex: (.*)
target_label: metrics_path
- source_labels: [__address__]
replacement: '$NODE_NAME'
target_label: instance
static_configs:
- targets: ['$NODE_IP:20257']
Az alábbi példa a lekaparott metrikákat mutatja be:
problem_gauge{reason="UnregisterNetDevice",type="FrequentUnregisterNetDevice"} 0
problem_gauge{reason="VMEventScheduled",type="VMEventScheduled"} 0
Következő lépések
További információ az NPD-ről: kubernetes/node-problem-detector.