Openshift-Ereigniscode: 1038NODE0008
Résumé: Systemspeicher überschreitet Reservierung
Symptômes
Cause
Reservierter Arbeitsspeicher stellt sicher, dass Systemprozesse auch dann funktionieren, wenn der Node vollständig zugewiesen ist, und schützt vor Workload-Ereignissen mit unzureichendem Arbeitsspeicher, die sich auf die ordnungsgemäße Funktion des Node auswirken.
Es wird erwartet, dass die Standardreservierung für die meisten Konfigurationen ausreicht und erhöht werden sollte (https://docs.openshift.com/container-platform/latest/nodes/nodes/nodes-nodes-managing.html), wenn Nodes mit einer hohen Anzahl von Pods ausgeführt werden (entweder aufgrund der Änderungsrate oder in einem stabilen Status).
Résolution
Diagnose
Überprüfen Sie die Spalte systemReserved Auf die Nodes angewendete Konfiguration:
$ oc get nodes [...] $ oc debug node/[node_name] -- cat /host/etc/kubernetes/kubelet.conf [...] systemReserviert: Cpu: 500m Speicher: 1Gi Ephemeral-Storage: 1Gi [...] |
Überprüfen Sie die in den Nodes verwendeten Ressourcen (überprüfen Sie die von kubelet und runtime Wenn Sie
mit den konfigurierten systemReserved Werte):
$ oc get --raw /api/v1/nodes/<node>/proxy/stats/summary
[...]
{
"Knoten": {
"nodeName": "cluster.node22",
"systemContainers": [
{
"cpu": {
"usageCoreNanoSeconds": 929684480915,
"usageNanoCores": 190998084
},
"memory": {
"rssBytes": 176726016,
"usageBytes": 1397895168,
"workingSetBytes": 1050509312
},
"name": "Kubelet"
},
{
"cpu": {
"usageCoreNanoSeconds": 128521955903,
"usageNanoCores": 5928600
},
"memory": {
"rssBytes": 35958784,
"usageBytes": 129671168,
"workingSetBytes": 102416384
},
"name": "Laufzeit"
}
[...
]
]
}
}
[...]
|
Minderung
Erhöhen Sie die Speicherreservierungen, um das Problem zu beheben.
So legen Sie beispielsweise die Ressourcenzuweisung für den Standardarbeiter fest MachineConfigPool , erstellen Sie die folgende CR im Projekt openshift-config-operatorverwalten:
Warnung: Dies löst einen seriellen Neustart der Nodes aus, die diese MachineConfigPoolverwalten:
apiVersion: machineconfiguration.openshift.io/v1
Art: KubeletConfig
Metadaten:
Name: Set-Allocatable
Spec:
machineConfigPoolSelector:
matchLabels:
pools.operator.machineconfiguration.openshift.io/worker: ""
kubeletConfig:
systemReserviert:
Cpu: 500m # CPU bei Bedarf wechseln
Speicher: 1512Mi # Speicher bei Bedarf ändern |
Support
Wenn das Problem durch die oben genannten Schritte nicht behoben werden kann, wenden Sie sich für weitere Untersuchungen an den technischen Support von Dell EMC.