Contribuisci a migliorare questa pagina
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Per contribuire a questa guida per l'utente, scegli il GitHub link Modifica questa pagina nel riquadro destro di ogni pagina.
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Rileva i problemi di integrità dei nodi con l'agente di monitoraggio dei nodi EKS
Questo argomento descrive in dettaglio i problemi di integrità dei nodi rilevati dall'agente di monitoraggio dei nodi EKS, come tali problemi vengono rilevati sotto forma di condizioni o eventi del nodo e come configurare l'agente di monitoraggio dei nodi.
L'agente di monitoraggio dei nodi EKS può essere utilizzato con o senza la riparazione automatica dei nodi EKS. Per ulteriori informazioni sulla riparazione automatica dei nodi EKS, vedereRipara automaticamente i nodi nei cluster EKS.
Il codice sorgente dell'agente di monitoraggio dei nodi EKS è pubblicato GitHub nel repository aws/ eks-node-monitoring-agent
Problemi di integrità dei nodi
Le tabelle seguenti descrivono i problemi di integrità dei nodi che possono essere rilevati dall’agente di monitoraggio dei nodi. Esistono due tipi di problemi:
-
Condizione: un problema del terminale che richiede un’azione di riparazione come la sostituzione o il riavvio dell’istanza. Quando la riparazione automatica è abilitata, Amazon EKS eseguirà un’azione di riparazione, sostituendo o riavviando il nodo. Per ulteriori informazioni, consulta Condizioni dei nodi.
-
Evento: un problema temporaneo o una configurazione non ottimale del nodo. Non sarà effettuata alcuna operazione di riparazione automatica. Per ulteriori informazioni, consulta Eventi dei nodi.
AcceleratedHardware problemi di salute dei nodi
La condizione di monitoraggio riguarda AcceleratedHardwareReady per i problemi riportati nella tabella seguente con una gravità pari a “Condizione”. Gli eventi e le condizioni nella tabella seguente riguardano i problemi di salute dei nodi relativi a NVIDIA e Neuron.
| Name | Gravità | Description | Azione di riparazione |
|---|---|---|---|
|
DCGMDiagnosticFallimento |
Condizione |
Un caso di test della suite di test della diagnostica attiva DCGM non è riuscito. |
Nessuno |
|
DCGMError |
Condizione |
La connessione al processo host DCGM è stata interrotta o non è stato possibile stabilirla. |
Nessuno |
|
DCGMFieldErrore [Codice] |
Event |
DCGM ha rilevato un deterioramento della GPU tramite un identificatore di campo. |
Nessuno |
|
DCGMHealthCodice [Codice] |
Event |
Un controllo sanitario DCGM non è riuscito in modo non fatale. |
Nessuno |
|
DCGMHealthCodice [Codice] |
Condizione |
Un controllo sanitario DCGM non è riuscito in modo fatale. |
Nessuno |
|
Un neurone DMAError |
Condizione |
Un motore DMA ha rilevato un errore irreversibile. |
Replace (Sostituisci) |
|
Errore HBMUncorrectable neuronale |
Condizione |
Un HBM ha riscontrato un errore non correggibile e ha prodotto risultati errati. |
Replace (Sostituisci) |
|
Errore NCUncorrectable neuronale |
Condizione |
È stato rilevato un errore di memoria non correggibile di Neuron Core. |
Replace (Sostituisci) |
|
Errore SRAMUncorrectable neuronale |
Condizione |
Una SRAM su chip ha rilevato un errore di parità e ha prodotto risultati errati. |
Replace (Sostituisci) |
|
NvidiaDeviceCountMismatch |
Event |
Il numero di dispositivi GPUs visibili tramite NVML non è coerente con il numero di dispositivi NVIDIA sul file system. |
Nessuno |
|
NvidiaDoubleBitError |
Condizione |
Un errore a doppio bit è stato prodotto dal driver della GPU. |
Replace (Sostituisci) |
|
Nvidia NCCLError |
Event |
Si è verificato un errore di sicurezza nella libreria NVIDIA Collective Communications (). |
Nessuno |
|
Errore Nvidia NVLink |
Condizione |
NVLink gli errori sono stati segnalati dal driver della GPU. |
Replace (Sostituisci) |
|
Errore Nvidia PCIe |
Event |
PCIe i replay sono stati attivati per ripristinare gli errori di trasmissione. |
Nessuno |
|
NvidiaPageRetirement |
Event |
Il driver della GPU ha contrassegnato una pagina di memoria come ritirata. Ciò può verificarsi se si riscontra un singolo errore a doppio bit o due errori a singolo bit nello stesso indirizzo. |
Nessuno |
|
NvidiaPowerError |
Event |
L'utilizzo dell'energia ha GPUs superato le soglie consentite. |
Nessuno |
|
NvidiaThermalError |
Event |
Stato termico del superamento delle soglie consentite GPUs . |
Nessuno |
|
Errore nvidiaXID [Code] |
Condizione |
Si è verificato un errore critico della GPU. |
Sostituisci o riavvia |
|
NvidiaXID[Code]Warning |
Event |
Si è verificato un errore non critico della GPU. |
Nessuno |
Codici di errore NVIDIA XID
L'agente di monitoraggio dei nodi rileva gli errori NVIDIA XID dai log del kernel della GPU. Gli errori XID si dividono in due categorie:
-
Codici XID noti: errori critici che impostano una condizione del nodo (
AcceleratedHardwareReady=False) e attivano la riparazione automatica quando abilitati. Il formato del codice motivo èNvidiaXID[Code]Error. I noti codici XID rilevati dall'agente di monitoraggio dei nodi EKS potrebbero non rappresentare l'elenco completo dei codici XID NVIDIA che richiedono azioni di riparazione. -
Codici XID sconosciuti: registrati solo come eventi Kubernetes. Questi non attivano la riparazione dell'auto. Il formato del codice motivo è
NvidiaXID[Code]Warning. Per verificare gli errori XID sconosciuti, controllate i log del kernel con.dmesg | grep -i nvrm
Per ulteriori informazioni sugli errori XID, consulta Errori Xid
La tabella seguente elenca i codici XID più diffusi, il loro significato e l'azione di riparazione dei nodi predefinita, se abilitata.
| Codice XID | Description | Azione di riparazione |
|---|---|---|
|
13 |
Eccezione del motore grafico: si è verificato un errore del motore grafico della GPU, in genere causato da problemi software o bug del driver. |
Riavvio |
|
31 |
Errore nella pagina di memoria della GPU: un'applicazione ha tentato di accedere alla memoria della GPU che non è mappata o accessibile. |
Riavvio |
|
48 |
Errore ECC a doppio bit: si è verificato un errore a doppio bit non correggibile nella memoria della GPU, che indica un potenziale degrado dell'hardware. |
Riavvio |
|
63 |
Evento di rimappatura della memoria GPU: il driver GPU ha rimappato una parte della memoria GPU a causa di errori rilevati. Questo problema è spesso recuperabile. |
Riavviare |
|
64 |
Errore di rimappatura della memoria della GPU: la GPU non è riuscita a rimappare la memoria difettosa, il che indica problemi hardware. |
Riavvio |
|
74 |
NVLink Errore: si è verificato un errore nell' NVLink interconnessione ad alta velocità tra. GPUs |
Replace (Sostituisci) |
|
79 |
La GPU è caduta dal bus: la GPU non è più accessibile tramite PCIe, il che in genere indica un guasto hardware o un problema di alimentazione. |
Replace (Sostituisci) |
|
94 |
Errore di memoria contenuta: si è verificato un errore di memoria ma era contenuto e non ha influito sulle altre applicazioni. |
Riavvio |
|
95 |
Errore di memoria non contenuta: si è verificato un errore di memoria che potrebbe aver influito su altre applicazioni o sulla memoria di sistema. |
Riavvio |
|
119 |
Timeout GSP RPC: la comunicazione con il processore di sistema GPU è scaduta, probabilmente a causa di problemi del firmware. |
Replace (Sostituisci) |
|
120 |
Errore GSP: si è verificato un errore nel processore di sistema GPU. |
Replace (Sostituisci) |
|
121 |
Errore C2C: si è verificato un errore nell' chip-to-chipinterconnessione (utilizzata in multi-die). GPUs |
Replace (Sostituisci) |
|
140 |
Errore ECC non recuperato: un errore ECC è sfuggito al contenimento e potrebbe aver danneggiato i dati. |
Replace (Sostituisci) |
Per visualizzare le condizioni correnti del nodo relative allo stato della GPU, esegui il comando seguente.
kubectl get nodes -o custom-columns='NAME:.metadata.name,ACCELERATOR_READY:.status.conditions[?(@.type=="AcceleratedHardwareReady")].status,REASON:.status.conditions[?(@.type=="AcceleratedHardwareReady")].reason'
Per visualizzare gli eventi relativi a XID sul tuo cluster, esegui uno dei seguenti comandi.
kubectl get events | grep -i "NvidiaXID"
ContainerRuntime problemi di salute dei nodi
La condizione di monitoraggio riguarda ContainerRuntimeReady per i problemi riportati nella tabella seguente con una gravità pari a “Condizione”.
| Name | Gravità | Description | Azione di riparazione |
|---|---|---|---|
|
ContainerRuntimeFailed |
Event |
Il runtime del container non è riuscito a creare un container, probabilmente correlato a eventuali problemi segnalati se si verificano ripetutamente. |
Nessuno |
|
DeprecatedContainerdConfiguration |
Event |
Un'immagine del contenitore che utilizza il manifesto dell'immagine obsoleta versione 2, schema 1, è stata recentemente inserita nel nodo. |
Nessuno |
|
KubeletFailed |
Event |
Il kubelet è entrato in uno stato di errore. |
Nessuno |
|
LivenessProbeFailures |
Event |
È stato rilevato un errore della sonda liveness, che potrebbe indicare problemi nel codice dell’applicazione o nei valori di timeout insufficienti se si verificano ripetutamente. |
Nessuno |
|
PodStuckTerminating |
Condizione |
Un pod è o è rimasto bloccato nella terminazione per un periodo di tempo eccessivo, il che può essere causato da errori CRI che impediscono la progressione dello stato del pod. |
Replace (Sostituisci) |
|
ReadinessProbeFailures |
Event |
È stato rilevato un errore della sonda di preparazione, che potrebbe indicare problemi nel codice dell’applicazione o nei valori di timeout insufficienti se si verificano ripetutamente. |
Nessuno |
|
[Nome] RepeatedRestart |
Event |
Un'unità systemd si riavvia frequentemente. |
Nessuno |
|
ServiceFailedToStart |
Event |
Impossibile avviare un’unità systemd. |
Nessuno |
Problemi di integrità dei nodi del kernel
La condizione di monitoraggio riguarda KernelReady per i problemi riportati nella tabella seguente con una gravità pari a “Condizione”.
| Name | Gravità | Description | Azione di riparazione |
|---|---|---|---|
|
AppBlocked |
Event |
L’attività è stata bloccata per un lungo periodo di tempo dalla pianificazione, in genere a causa del blocco in ingresso o in uscita. |
Nessuno |
|
AppCrash |
Event |
Un’applicazione sul nodo si è bloccata. |
Nessuno |
|
ApproachingKernelPidMax |
Event |
Il numero di processi si sta avvicinando al numero massimo di PIDs processi disponibili per l' |
Nessuno |
|
ApproachingMaxOpenFiles |
Event |
Il numero di file aperti è simile al numero massimo di file aperti possibili date le impostazioni correnti del kernel, dopodiché l’apertura di nuovi file avrà esito negativo. |
Nessuno |
|
ConntrackExceededKernel |
Event |
Il rilevamento delle connessioni ha superato il valore massimo per il kernel e non è stato possibile stabilire nuove connessioni, il che può causare la perdita di pacchetti. |
Nessuno |
|
ExcessiveZombieProcesses |
Event |
I processi che non possono essere recuperati completamente si accumulano in gran numero, il che indica problemi di applicazione e può portare al raggiungimento dei limiti dei processi di sistema. |
Nessuno |
|
ForkFailedOutOfPIDs |
Condizione |
Una chiamata fork o exec non è riuscita a causa dell'esaurimento del processo IDs o della memoria del sistema, che può essere causato da processi zombi o dall'esaurimento della memoria fisica. |
Replace (Sostituisci) |
|
KernelBug |
Event |
Un bug del kernel è stato rilevato e segnalato dal kernel Linux stesso, sebbene a volte ciò può essere causato da nodi con un elevato utilizzo della CPU o della memoria, con conseguente ritardo nell’elaborazione degli eventi. |
Nessuno |
|
LargeEnvironment |
Event |
Il numero di variabili di ambiente per questo processo è maggiore del previsto, potenzialmente causato da molti servizi |
Nessuno |
|
RapidCron |
Event |
Un cron job è eseguito più velocemente di ogni cinque minuti su questo nodo, il che può influire sulle prestazioni se il processo consuma risorse significative. |
Nessuno |
|
SoftLockup |
Event |
La CPU si è bloccata per un periodo di tempo specificato. |
Nessuno |
Problemi di integrità dei nodi di rete
La condizione di monitoraggio riguarda NetworkingReady per i problemi riportati nella tabella seguente con una gravità pari a “Condizione”.
| Name | Gravità | Description | Azione di riparazione |
|---|---|---|---|
|
BandwidthInExceeded |
Event |
I pacchetti accodati o rilasciati perché la larghezza di banda aggregata in ingresso ha superato il valore massimo per l’istanza. |
Nessuno |
|
BandwidthOutExceeded |
Event |
I pacchetti sono stati accodati o rilasciati perché la larghezza di banda aggregata in uscita ha superato il valore massimo per l’istanza. |
Nessuno |
|
ConntrackExceeded |
Event |
Il rilevamento delle connessioni ha superato il valore massimo per l’istanza e non è stato possibile stabilire nuove connessioni, il che può determinare la perdita di pacchetti. |
Nessuno |
|
EFAErrorParametro |
Event |
Le metriche dei driver EFA mostrano che esiste un'interfaccia con la riduzione delle prestazioni. |
Nessuno |
|
IPAMDInconsistentStato |
Event |
Lo stato del checkpoint IPAMD su disco non riflette il runtime del contenitore. IPs |
Nessuno |
|
IPAMDNoIPs |
Event |
IPAMD ha esaurito gli indirizzi IP. |
Nessuno |
|
IPAMDNotPronto |
Condizione |
IPAMD non riesce a connettersi al server API. |
Replace (Sostituisci) |
|
IPAMDNotCorrere |
Condizione |
Il processo CNI di Amazon VPC non è stato trovato in esecuzione. |
Replace (Sostituisci) |
|
IPAMDRepeatedlyRiavvia |
Event |
Si sono verificati più riavvii del servizio IPAMD. |
Nessuno |
|
InterfaceNotRunning |
Condizione |
Questa interfaccia sembra non essere in esecuzione o ci sono problemi di rete. |
Replace (Sostituisci) |
|
InterfaceNotUp |
Condizione |
Questa interfaccia sembra non essere avviata o ci sono problemi di rete. |
Replace (Sostituisci) |
|
KubeProxyNotReady |
Event |
Kube-proxy non è riuscito a controllare o elencare le risorse. |
Nessuno |
|
LinkLocalExceeded |
Event |
I pacchetti sono stati accodati o rilasciati perché il PPS del traffico verso i servizi proxy locali ha superato il valore massimo per l’interfaccia di rete. |
Nessuno |
|
MACAddressPolicyMisconfigured |
Event |
La configurazione del link systemd-networkd ha un valore errato. |
Nessuno |
|
MissingDefaultRoutes |
Event |
Mancano le regole di routing predefinite. |
Nessuno |
|
Mancante IPRoutes |
Event |
Mancano alcune rotte per Pod IPs. |
Nessuno |
|
Mancante IPRules |
Event |
Mancano delle regole per Pod IPs. |
Nessuno |
|
MissingLoopbackInterface |
Condizione |
L’interfaccia di loopback non è presente in questa istanza, il che causa l’interruzione dei servizi a seconda della connettività locale. |
Replace (Sostituisci) |
|
NetworkSysctl |
Event |
Le |
Nessuno |
|
PPSExceeded |
Event |
I pacchetti sono stati accodati o rilasciati perché il PPS bidirezionale ha superato il valore massimo per l’istanza. |
Nessuno |
|
PortConflict |
Event |
Se un Pod utilizza HostPort, può scrivere |
Nessuno |
|
UnexpectedRejectRule |
Event |
È stata rilevata una |
Nessuno |
Problemi di integrità dei nodi di storage
La condizione di monitoraggio riguarda StorageReady per i problemi riportati nella tabella seguente con una gravità pari a “Condizione”.
| Name | Gravità | Description | Azione di riparazione |
|---|---|---|---|
|
EBSInstanceIOPSExceeded |
Event |
È stato superato il numero massimo di IOPS per l'istanza. |
Nessuno |
|
EBSInstanceThroughputExceeded |
Event |
Il throughput massimo per l'istanza è stato superato. |
Nessuno |
|
EBSVolumeIOPSExceeded |
Event |
È stato superato il numero massimo di IOPS per un determinato volume EBS. |
Nessuno |
|
EBSVolumeThroughputExceeded |
Event |
È stato superato il throughput massimo per un determinato volume Amazon EBS. |
Nessuno |
|
EtcHostsMountFailed |
Event |
Il montaggio del kubelet generato |
Nessuno |
|
IODelays |
Event |
Ritardo di ingresso o uscita rilevato in un processo, che potrebbe indicare un approvvigionamento input-output insufficiente, se eccessivo. |
Nessuno |
|
KubeletDiskUsageSlow |
Event |
Segnala |
Nessuno |
|
XFSSmallAverageClusterSize |
Event |
La dimensione media del cluster XFS è piccola, il che indica un'eccessiva frammentazione dello spazio libero. Ciò può impedire la creazione di file nonostante gli inode disponibili o lo spazio libero. |
Nessuno |
Configura l'agente di monitoraggio del nodo
L'agente di monitoraggio dei nodi EKS viene distribuito come DaemonSet. Quando lo distribuisci come componente aggiuntivo EKS, puoi personalizzare l'installazione con i seguenti valori di configurazione. Per le configurazioni predefinite, fate riferimento alla tabella Helm dell'agente di monitoraggio dei nodi EKS.
| Opzione di configurazione | Description |
|---|---|
|
|
Richiesta di risorse CPU per l'agente di monitoraggio. |
|
|
Richiesta di risorse di memoria per l'agente di monitoraggio. |
|
|
Limite di risorse della CPU per l'agente di monitoraggio. |
|
|
Limite di risorse di memoria per l'agente di monitoraggio. |
|
|
Tolleranze per la pianificazione dell'agente di monitoraggio sui nodi contaminati. |
|
|
Argomenti aggiuntivi della riga di comando da passare all'agente di monitoraggio. |
Nota
È possibile configurare hostname-override e verbosity utilizzare i componenti aggiuntivi EKS o l'installazione di Helm. monitoringAgent.additionalArgs Al momento non è possibile personalizzare l'agente di monitoraggio del nodo probe-address (8002) o metrics-address (8003) tramite args aggiuntivi con componenti aggiuntivi EKS o l'installazione di Helm.
L'agente di monitoraggio del nodo include un componente server NVIDIA DCGM (Data Center GPU Manager) () per il monitoraggio di NVIDIA. nv-hostengine GPUs Questo componente funziona solo su nodi che sono tipi di istanze GPU NVIDIA, come mostrato nel grafico Helm dell'nodeAffinityagente.
Quando si implementa l'agente di monitoraggio dei nodi EKS come componente aggiuntivo EKS, è possibile personalizzare l'installazione NVIDIA DCGM con i seguenti valori di configurazione.
| Opzione di configurazione | Description |
|---|---|
|
|
Richiesta di risorse CPU per l'agente DCGM. |
|
|
Richiesta di risorse di memoria per l'agente DCGM. |
|
|
Limite di risorse CPU per l'agente DCGM. |
|
|
Limite di risorse di memoria per l'agente DCGM. |
|
|
Tolleranze per la pianificazione dell'agente DCGM sui nodi contaminati. |
È possibile utilizzare i seguenti comandi AWS CLI per ottenere informazioni utili sulle versioni e sullo schema del componente aggiuntivo EKS dell'agente di monitoraggio dei nodi EKS.
Scarica l'ultima versione del componente aggiuntivo dell'agente per la tua versione di Kubernetes. Sostituiscila 1.35 con la tua versione di Kubernetes.
aws eks describe-addon-versions \ --addon-name eks-node-monitoring-agent \ --kubernetes-version 1.35 \ --query='addons[].addonVersions[].addonVersion'
Scarica lo schema del componente aggiuntivo dell'agente supportato nei componenti aggiuntivi EKS. Sostituiscilo v1.5.1-eksbuild.1 con la tua versione per agenti.
aws eks describe-addon-configuration \ --addon-name eks-node-monitoring-agent \ --addon-version v1.5.1-eksbuild.1