Prisma Cloud Compute : problème de mémoire insuffisante lorsque des règles de gestion de l'intégrité des fichiers récursives sont en place
4650
Created On 09/09/22 14:01 PM - Last Modified 12/27/24 08:28 AM
Symptom
>>> L'utilisation du processeur augmente constamment si le verrouillage par rotation est activé et si nous arrêtons le verrouillage par rotation, les graphiques du processeur reviennent à la normale.
1er symptôme :
- Sans Prisma Cloud Compute
- Démarrer le pod qui a une limite basse
- Le Pod fonctionne sans problème.
- Tout va bien.
- Avec Prisma Cloud Compute (Twistlock)
- Démarrer le pod à limite basse
- Pod est tué à cause d'un manque de mémoire.
- Le pod ne fonctionne pas.
2ème symptôme :
- Le journal du noyau montre que la création du conteneur est interrompue en raison de ressources insuffisantes.
runc create failed: unable to start container process: container init was OOM-killed (memory limit too low?)
3ème symptôme :
4ème symptôme :
- Si vous vérifiez les processus, par exemple avec « ps aufx », vous remarquerez que le processus crio est sous une charge importante, mais aussi qu'un processus spécifique nommé « fsmon » consomme beaucoup de ressources. Si vous récupérez le PID du processus et le tuez, l'utilisation des ressources devrait revenir à la normale.
Symptôme 5h :
- erreurs dans la sortie de journalctl indiquant que CRI-O ne parvient pas à démarrer les conteneurs / présente des retards importants :
Kubelet may be retrying requests that are timing out in CRI-O due to system load: context deadline exceeded
- en particulier beaucoup d'erreurs de type « le nom est réservé » comme les suivantes :
Aug 19 06:40:49 muc9-4wtp8-worker-b-gen9-mbxcv crio[2252]: time="2022-08-19 06:40:49.510901803Z" level=warning msg="error reserving ctr name k8s_frontoffice-analytics-domain_frontoffice-analytics-deployment-1-zz5s8_reef-an-maxi-uat_ea9c7d33-8fea-4165-a534-106ce6c33e29_17 for id 90615636aa18fdc2a17bfef076500dfd14932a7109ca8e662c45b4708f0364bf: name is reserved"
Autres journaux symptomatiques intéressants :
Aug 19 10:30:46 muc9-4wtp8-worker-b-gen9-mbxcv crio[2252]: time="2022-08-19 10:30:45.691591825Z" level=error msg="Container creation error: time="2022-08-19T10:30:42Z" level=warning msg="unable to get oom kill count" error="open /sys/fs/cgroup/memory/kubepods.slice/kubepods-burstable.slice/kubepods-burstable-podff7a0d7a_17b4_4777_9146_94fc41681318.slice/crio-fd00abb205097e9244014a63265fb0f656dab4ebd9dfe1e800d0a10ec55fc42d.scope/memory.oom_control: no such file or directory"\ntime="2022-08-19T10:30:44Z" level=error msg="runc create failed: unable to start container process: unable to apply cgroup configuration: Timeout waiting for systemd to create crio-fd00abb205097e9244014a63265fb0f656dab4ebd9dfe1e800d0a10ec55fc42d.scope"\n" id=dff10a34-f28e-4370-9fff-8e895148d11d name=/runtime.v1.RuntimeService/CreateContainer Aug 19 10:30:46 muc9-4wtp8-worker-b-gen9-mbxcv crio[2252]: time="2022-08-19 10:30:46.086315234Z" level=info msg="createCtr: deleting container ID fd00abb205097e9244014a63265fb0f656dab4ebd9dfe1e800d0a10ec55fc42d from idIndex" id=dff10a34-f28e-4370-9fff-8e895148d11d name=/runtime.v1.RuntimeService/CreateContainer
Environment
- Cloud Compute de Prisma
- Défenseur de cluster
- Openshift/CRIO
Cause
- La cause première de ce problème est le processus fsmon (processus de surveillance du système de fichiers ) qui consomme beaucoup de ressources processeur , ce qui a un impact important sur les performances de l'ensemble de l'environnement du cluster.
- In particular, if the customer has a lot of ?File Integrity? rules set up on his/her Cconsole, especially if recursive (i.e., tracking recursively an entire file-system tree like this
"path": "/bin", "recursive": true, ...), then this feature can have severe performance impact, depending on the configured rules, when tracking lots of directories recursively.
- In this case, the file system monitor needs to track and scan many files using
fsmon, naturally introducing delays for the containers creation (containers created withrunc), as these fail (or timeout as we saw above), the container runtime (crio) continues trying to spawn the containers again and again, making the system extremely busy.
Resolution
- Vous pouvez arrêter le processus fsmon ou supprimer/réduire les règles récursives de gestion de l'intégrité des fichiers avec les règles d'exécution de l'hôte dans la console.
- Augmenter les ressources processeur sur les nœuds
Additional Information
Vous pouvez configurer FIM pour détecter :
- Lit ou écrit dans des fichiers sensibles, tels que des certificats, des secrets et des fichiers de configuration .
- Binaires écrits dans le système de fichiers.
- Logiciel installé de manière anormale. Par exemple, des fichiers écrits sur un système de fichiers par des programmes autres qu'apt-get.
Pour plus d'informations : Défense d'exécution pour les hôtes