Code d’événement Openshift : 1038NODE0008
Résumé: La mémoire système dépasse la réservation
Symptômes
Cause
La mémoire réservée garantit que les processus système peuvent fonctionner même lorsque le nœud est entièrement alloué et protège contre les événements de charge applicative de mémoire insuffisante qui affectent le bon fonctionnement du nœud.
La réservation par défaut devrait être suffisante pour la plupart des configurations et doit être augmentée (https://docs.openshift.com/container-platform/latest/nodes/nodes/nodes-nodes-managing.html) lors de l’exécution de nœuds avec un grand nombre de pods (en raison du taux de modification ou à l’état stable).
Résolution
Diagnostic
Consultez le fichier systemReserved Configuration appliquée aux nœuds :
$ oc get nodes [...] $ oc debug node/[node_name] -- cat /host/etc/kubernetes/kubelet.conf [...] systemReserved : Cpu: À 500 m Mémoire: 1Gi ephemeral-storage : 1Gi [...] |
Vérifiez les ressources utilisées dans les nœuds (vérifiez les valeurs utilisées par kubelet et runtime Si vous
souhaitez effectuer une comparaison avec la configuration systemReserved valeurs) :
$ oc get --raw /api/v1/nodes/<node>/proxy/stats/summary
[...]
{
« node » : {
« 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 » : « runtime »
}
[...
]
]
}
}
[...]
|
Atténuation
Augmentez les réservations de mémoire pour résoudre le problème.
Par exemple, pour définir l’allocation de ressources pour l’agent par défaut MachineConfigPool , créez le CR suivant dans le projet openshift-config-operator:
AVERTISSEMENT : Cela déclenche un redémarrage en série des nœuds à l’aide de cette MachineConfigPool:
apiVersion : machineconfiguration.openshift.io/v1
Genre: KubeletConfig
Métadonnées:
Nom : set-allocatable
Spec:
machineConfigPoolSelector :
matchLabels :
pools.operator.machineconfiguration.openshift.io/worker : ""
kubeletConfig :
systemReserved :
Cpu: 500m # changer le CPU si nécessaire
Mémoire: 1512Mi # changer la mémoire si nécessaire |
Support
Si toutes les étapes ci-dessus ne permettent pas de résoudre le problème, contactez le support technique Dell EMC pour une procédure d’enquête plus approfondie.