Prisma Cloud Compute: Problem „Nicht genügend Arbeitsspeicher“ bei Verwendung rekursiver File Integrity Management-Regeln
4650
Created On 09/09/22 14:01 PM - Last Modified 12/27/24 08:29 AM
Symptom
>>> Die CPU Auslastung steigt kontinuierlich an, wenn Twistlock aktiviert ist. Wenn wir Twistlock stoppen, normalisieren sich die CPU Diagramme wieder.
1. Symptom:
- Ohne Prisma Cloud Compute
- Startkapsel mit Untergrenze
- Pod funktioniert ohne Probleme.
- Alles ist ok.
- Mit Prisma Cloud Compute (Twistlock)
- Untergrenze-Pod starten
- Pod wird wegen fehlendem Speicher beendet.
- Pod funktioniert nicht.
2. Symptom:
- Das Kernel-Protokoll zeigt, dass die Containererstellung aufgrund unzureichender Ressourcen abgebrochen wurde.
runc create failed: unable to start container process: container init was OOM-killed (memory limit too low?)
3. Symptom:
4. Symptom:
- Wenn Sie Prozesse überprüfen, beispielsweise mit „ ps aufx “, werden Sie feststellen, dass der Crio -Prozess stark Last ist, aber auch, dass ein bestimmter Prozess namens „ fsmon “ viele Ressourcen verbraucht. Wenn Sie die PID des Prozesses ermitteln und ihn beenden, sollte sich die Ressourcennutzung wieder normalisieren.
5h Symptom:
- Fehler in der Journalctl-Ausgabe, die darauf hinweisen, dass CRI-O beim Starten von Containern fehlschlägt / erhebliche Verzögerungen aufweist:
Kubelet may be retrying requests that are timing out in CRI-O due to system load: context deadline exceeded
- insbesondere viele „Name ist reserviert“-Fehler wie die folgenden:
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"
Andere interessante Symptomprotokolle:
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
- Prisma Cloud Compute
- Cluster-Verteidiger
- Openshift/CRIO
Cause
- Die Hauptursache dieses Problems ist der fsmon -Prozess (Dateisystem ) , der viele CPU Ressourcen verbraucht und somit erhebliche Leistungseinbußen in der gesamten Clusterumgebung verursacht.
- 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
- Sie können den fsmon -Prozess beenden oder die rekursiven File Integrity Management-Regeln mit den Host-Runtime-Regeln in der Konsole löschen/reduzieren.
- Erhöhen Sie die CPU Ressourcen auf den Knoten
Additional Information
Sie können FIM so konfigurieren , dass Folgendes erkannt wird:
- Liest oder schreibt vertrauliche Dateien wie Zertifikate, Geheimnisse und Konfiguration .
- In das Dateisystem geschriebene Binärdateien.
- Ungewöhnlich installierte Software. Beispielsweise Dateien, die von anderen Programmen als apt-get in ein Dateisystem geschrieben wurden.
Weitere Informationen: Laufzeitschutz für Hosts