Por que os pods sysdig-agent estão em CrashLoopBackOff em um cluster RHCOS somente privado?

Nuvem privada virtual Nós de trabalho do RHCOS Somente privado

Se o seu cluster usar nós de trabalho RHCOS e nenhum acesso à Internet de saída, os pods sysdig-agent no namespace ibm-observe poderão entrar em CrashLoopBackOff ou não conseguir iniciar.

Seus pods sysdig-agent estão em CrashLoopBackOff ou não conseguem iniciar no namespace ibm-observe em um cluster somente privado que usa nós de trabalho RHCOS.

Você pode ver os pods do sysdig-agent reiniciarem repetidamente e não conseguirem se tornar íntegros depois de instalar ou configurar a integração do Sysdig. Ao verificar os logs do pod, você verá erros semelhantes aos seguintes:

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

Saída de exemplo:

* 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

Nos nós de trabalho do RHCOS, o agente de monitoramento não pode confiar nos cabeçalhos locais do kernel porque o RHCOS não os inclui. Nesse cenário, o agente Sysdig tenta acessar o site sysdig.com para recuperar um driver pré-compilado. Em clusters somente privados ou clusters sem acesso à Internet de saída, esse processo falha e os pods do agente podem entrar em CrashLoopBackOff.

Se o driver eBPF não estiver ativado, essa é uma possível causa do problema. Siga estas etapas para diagnosticar e resolver o problema.

eBPF agora está ativado por padrão para novas implantações do Sysdig. No entanto, se estiver tendo problemas em um cluster existente com trabalhadores do RHCOS em um ambiente somente privado, verifique se o eBPF está ativado e ative-o, se necessário.

Verifique a configuração do agente Sysdig e ative o driver eBPF, se necessário.

  1. Verifique se o driver eBPF está ativado no momento em seu cluster.

    oc -n ibm-observe get daemonset/sysdig-agent -o jsonpath='{.spec.template.spec.containers[0].env[?(@.name=="SYSDIG_AGENT_DRIVER")].value}'
    
    • Se a saída mostrar universal_ebpf, eBPF já está ativado. As etapas abaixo não são necessárias, e segui-las não causará nenhum dano, mas não resolverá seu problema. Talvez seja necessário investigar outras possíveis causas.
    • Se a saída estiver vazia ou mostrar um valor diferente de universal_ebpf, prossiga para a próxima etapa para habilitar eBPF.
  2. Defina o driver do agente Sysdig como universal_ebpf.

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

    oc delete pods -l app=sysdig-agent -n ibm-observe
    
  4. Verifique se os pods de substituição foram criados e retorne ao estado Running.

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

Para obter mais informações sobre limitações de monitoramento nos nós de trabalho do RHCOS, consulte Monitoramento da integridade do cluster.