Código de evento de OpenShift: 1038NODO0008
Résumé: La memoria del sistema supera la reserva
Symptômes
Cause
La memoria reservada garantiza que los procesos del sistema puedan funcionar incluso cuando el nodo está completamente asignado y protege contra eventos de carga de trabajo sin memoria que afectan el funcionamiento correcto del nodo.
Se espera que la reserva predeterminada sea suficiente para la mayoría de las configuraciones y se debe aumentar (https://docs.openshift.com/container-platform/latest/nodes/nodes/nodes-nodes-managing.html) cuando se ejecutan nodos con una gran cantidad de pods (ya sea debido a la tasa de cambio o en estado estable).
Résolution
Diagnóstico
Compruebe el systemReserved Configuración aplicada a los nodos:
$ oc get nodes [...] $ oc debug node/[node_name] -- cat /host/etc/kubernetes/kubelet.conf [...] systemReserved: CPU: 500m Memoria: 1Gi almacenamiento efímero: 1Gi [...] |
Compruebe los recursos utilizados en los nodos (compruebe los valores utilizados por kubelet y runtime
Si desea comparar con los configurados systemReserved valores):
$ oc get --raw /api/v1/nodes/<node>/proxy/stats/summary
[...]
{
"nodo": {
"nodeName": "cluster.node22",
"systemContainers": [
{
"CPU": {
"usageCoreNanoSeconds": 929684480915,
"usageNanoCores": 190998084
},
"memoria": {
"rssBytes": 176726016,
"usageBytes": 1397895168,
"workingSetBytes": 1050509312
},
"nombre": "Kubelet"
},
{
"CPU": {
"usageCoreNanoSeconds": 128521955903,
"usageNanoCores": 5928600
},
"memoria": {
"rssBytes": 35958784,
"usageBytes": 129671168,
"workingSetBytes": 102416384
},
"nombre": "Tiempo de ejecución"
}
[...
]
]
}
}
[...]
|
Mitigación
Aumentar las reservas de memoria para resolver el problema.
Por ejemplo, para establecer la asignación de recursos para el trabajador predeterminado MachineConfigPool , cree el siguiente CR dentro del proyecto openshift-config-operator:
PRECAUCIÓN: Esto desencadenará un reinicio en serie de los nodos mediante esta opción MachineConfigPool:
apiVersion: machineconfiguration.openshift.io/v1
Tipo: KubeletConfig
Metadatos:
Nombre: conjunto asignable
Especificación:
machineConfigPoolSelector:
matchLabels:
pools.operator.machineconfiguration.openshift.io/worker: ""
kubeletConfig:
systemReserved:
CPU: 500m # cambiar la CPU si es necesario
Memoria: 1512Mi # cambiar la memoria si es necesario |
Soporte
Si todos los pasos anteriores no pueden resolver el problema, póngase en contacto con el soporte técnico de Dell EMC para una investigación más detallada.