Warum sind sysdig-agent Pods in CrashLoopBackOff auf einem privaten RHCOS-Cluster?

Virtuelle private Cloud RHCOS-Arbeiter-Knoten Nur privat

Wenn Ihr Cluster RHCOS-Arbeitsknoten und keinen ausgehenden Internetzugang verwendet, können die sysdig-agent-Pods im ibm-observe-Namensraum CrashLoopBackOff aufrufen oder nicht starten.

Ihre sysdig-agent Pods befinden sich in CrashLoopBackOff oder starten nicht im Namespace ibm-observe auf einem Private-Only-Cluster, der RHCOS-Arbeitsknoten verwendet.

Es kann vorkommen, dass die sysdig-agent Pods nach der Installation oder Konfiguration der Sysdig-Integration wiederholt neu gestartet werden und nicht mehr funktionieren. Wenn Sie die Pod-Protokolle überprüfen, sehen Sie ähnliche Fehler wie die folgenden:

oc -n ibm-observe logs <sysdig-agent-pod> --previous

Beispielausgabe:

* Kernel headers not found in /host/lib/modules/5.14.0-427.105.1.el9_4.x86_64/build, continuing anyway
* Loading kernel probe
Error! Your kernel headers for kernel 5.14.0-427.105.1.el9_4.x86_64 cannot be found at /lib/modules/5.14.0-427.105.1.el9_4.x86_64/build or /lib/modules/5.14.0-427.105.1.el9_4.x86_64/source.
* Trying to download precompiled module from https://download.sysdig.com/stable/sysdig-probe-binaries/...
Download of sysdigcloud-probe for version 14.3.2 failed.
curl: (28) Failed to connect to download.sysdig.com port 443: Connection timed out
Cannot load the probe

Auf RHCOS-Arbeitsknoten kann sich der Überwachungsagent nicht auf lokale Kernel-Header verlassen, da RHCOS diese nicht enthält. In diesem Szenario versucht der Sysdig-Agent, sysdig.com zu erreichen, um einen vorkompilierten Treiber abzurufen. In reinen Privatclustern oder Clustern ohne ausgehenden Internetzugang schlägt dieser Prozess fehl und die Agent-Pods können CrashLoopBackOff aufrufen.

Wenn der Treiber eBPF nicht aktiviert ist, ist dies eine mögliche Ursache für das Problem. Befolgen Sie diese Schritte, um das Problem zu diagnostizieren und zu beheben.

eBPF ist nun standardmäßig für neue Sysdig-Einsätze aktiviert. Wenn Sie jedoch Probleme in einem bestehenden Cluster mit RHCOS-Arbeitern in einer reinen Privatumgebung haben, überprüfen Sie, ob eBPF aktiviert ist, und aktivieren Sie es, falls erforderlich.

Überprüfen Sie die Konfiguration des Sysdig-Agenten und aktivieren Sie den Treiber eBPF, falls erforderlich.

  1. Prüfen Sie, ob der Treiber eBPF derzeit auf Ihrem Cluster aktiviert ist.

    oc -n ibm-observe get daemonset/sysdig-agent -o jsonpath='{.spec.template.spec.containers[0].env[?(@.name=="SYSDIG_AGENT_DRIVER")].value}'
    
    • Wenn die Ausgabe universal_ebpf anzeigt, ist eBPF bereits aktiviert. Die nachstehenden Schritte sind nicht notwendig, und ihre Befolgung wird keinen Schaden anrichten, aber Ihr Problem nicht beheben. Möglicherweise müssen Sie andere mögliche Ursachen untersuchen.
    • Wenn die Ausgabe leer ist oder einen anderen Wert als universal_ebpf anzeigt, fahren Sie mit dem nächsten Schritt fort, um eBPF zu aktivieren.
  2. Setzen Sie den Sysdig-Agententreiber auf universal_ebpf.

    oc -n ibm-observe set env daemonset/sysdig-agent SYSDIG_AGENT_DRIVER=universal_ebpf
    
  3. Starten Sie die sysdig-agent Pods neu.

    oc delete pods -l app=sysdig-agent -n ibm-observe
    
  4. Überprüfen Sie, ob die Ersatz-Pods erstellt wurden und kehren Sie in den Zustand Running zurück.

    oc get pods -l app=sysdig-agent -n ibm-observe
    

Weitere Informationen zur Überwachung von Einschränkungen auf RHCOS-Arbeitsknoten finden Sie unter Überwachung des Clusterzustands.