¿Por qué sysdig-agent pods en CrashLoopBackOff en un clúster RHCOS sólo privado?

Nube privada virtual Nodos trabajadores RHCOS Sólo para particulares

Si su clúster utiliza nodos trabajadores RHCOS y no dispone de acceso saliente a Internet, los pods sysdig-agent en el espacio de nombres ibm-observe podrían entrar en CrashLoopBackOff o no iniciarse.

Los pods de sysdig-agent están en CrashLoopBackOff o no se inician en el espacio de nombres ibm-observe en un clúster privado que utiliza nodos trabajadores RHCOS.

Es posible que, tras instalar o configurar la integración de Sysdig, los pods de sysdig-agent se reinicien repetidamente y no funcionen correctamente. Cuando compruebe los registros del pod, verá errores similares a los siguientes:

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

Salida de ejemplo:

* 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

En los nodos trabajadores RHCOS, el agente de monitorización no puede confiar en las cabeceras locales del kernel porque RHCOS no las incluye. En este escenario, el agente Sysdig intenta llegar a sysdig.com para recuperar un controlador precompilado. En los clusters privados o sin acceso a Internet, este proceso falla y los pods de agentes pueden entrar en CrashLoopBackOff.

Si el controlador eBPF no está activado, ésta es una posible causa del problema. Siga estos pasos para diagnosticar y resolver el problema.

eBPF está ahora activado por defecto para las nuevas implantaciones de Sysdig. Sin embargo, si experimenta problemas en un clúster existente con trabajadores RHCOS en un entorno sólo privado, compruebe si eBPF está activado y actívelo si es necesario.

Verifique la configuración de su agente Sysdig y habilite el controlador eBPF si es necesario.

  1. Compruebe si el controlador eBPF está actualmente activado en su clúster.

    oc -n ibm-observe get daemonset/sysdig-agent -o jsonpath='{.spec.template.spec.containers[0].env[?(@.name=="SYSDIG_AGENT_DRIVER")].value}'
    
    • Si la salida muestra universal_ebpf, eBPF ya está activado. Los siguientes pasos no son necesarios, y seguirlos no causará ningún daño pero no resolverá su problema. Es posible que tenga que investigar otras posibles causas.
    • Si la salida está vacía o muestra un valor distinto de universal_ebpf, continúe con el siguiente paso para activar eBPF.
  2. Configure el controlador del agente Sysdig en universal_ebpf.

    oc -n ibm-observe set env daemonset/sysdig-agent SYSDIG_AGENT_DRIVER=universal_ebpf
    
  3. Reinicie los pods sysdig-agent.

    oc delete pods -l app=sysdig-agent -n ibm-observe
    
  4. Compruebe que se crean los pods de sustitución y vuelva al estado Running.

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

Para obtener más información sobre las limitaciones de supervisión de los nodos trabajadores RHCOS, consulte Supervisión del estado del clúster.