なぜ CrashLoopBackOff の sysdig-agent ポッドがプライベート専用の RHCOS クラスタにあるのですか?

仮想プライベートクラウド RHCOSワーカーノード プライベートのみ

クラスタがRHCOSワーカーノードを使用し、アウトバウンドのインターネットアクセスがない場合、 ibm-observe 名前空間の sysdig-agent ポッドが CrashLoopBackOff 、または起動に失敗する可能性があります。

sysdig-agent のポッドが CrashLoopBackOff にあるか、RHCOS ワーカーノードを使用するプライベート専用クラスタの ibm-observe 名前空間で起動に失敗しています。

Sysdig統合をインストールまたは設定した後、 sysdig-agent ポッドが再起動を繰り返し、健全な状態にならないことがあります。 ポッドのログをチェックすると、以下のようなエラーが表示される:

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

出力例:

* 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

RHCOSワーカーノードでは、RHCOSがローカルカーネルヘッ ダーを含まないため、監視エージェントはローカルカーネルヘッ ダーに依存することができない。 このシナリオでは、Sysdigエージェントは sysdig.com 、コンパイル済みのドライバーを取得しようとする。 プライベート専用クラスタ、またはアウトバウンド・インターネット・アクセスのないクラスタでは、この処理は失敗し、エージェント・ポッドは CrashLoopBackOff に入ることができます。

eBPF ドライバが有効になっていない場合、この問題が発生する可能性があります。 以下の手順に従って問題を診断し、解決してください。

eBPF がデフォルトで有効になりました。 ただし、プライベート専用環境のRHCOSワーカーを持つ既存のクラスタで問題が発生している場合は、 eBPF が有効になっているかどうかを確認し、必要に応じて有効にしてください。

Sysdig エージェントの設定を確認し、必要に応じて eBPF ドライバを有効にします。

  1. クラスタ上で eBPF ドライバが現在有効になっているかどうかを確認します。

    oc -n ibm-observe get daemonset/sysdig-agent -o jsonpath='{.spec.template.spec.containers[0].env[?(@.name=="SYSDIG_AGENT_DRIVER")].value}'
    
    • 出力が universal_ebpf を示している場合、 eBPF はすでに有効になっている。 以下のステップは必要ではないし、それに従っても害はないが、問題は解決しない。 他の可能性のある原因を調査する必要があるかもしれない。
    • 出力が空であるか、 universal_ebpf 以外の値を示している場合は、次のステップに進み、 eBPF を有効にする。
  2. Sysdig エージェント・ドライバを universal_ebpf に設定する。

    oc -n ibm-observe set env daemonset/sysdig-agent SYSDIG_AGENT_DRIVER=universal_ebpf
    
  3. sysdig-agent ポッドを再起動する。

    oc delete pods -l app=sysdig-agent -n ibm-observe
    
  4. 交換用のポッドが作成され、 Running の状態に戻ったことを確認する。

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

RHCOSワーカーノードの制限の監視の詳細については、 クラスタの健全性の監視を 参照してください。