7.3. OpenShift Sandboxed Containers のデバッグログの有効化
クラスター管理者は、OpenShift Sandboxed Containers のより詳細なレベルのログを収集できます。KataConfig
CR の logLevel
フィールドを変更することで、ロギングを強化することもできます。これにより、OpenShift Sandboxed Containers を実行しているワーカーノードの CRI-O ランタイムの log_level
が変更されます。
手順
-
既存の
KataConfig
CR のlogLevel
フィールドをdebug
に変更します。
$ oc patch kataconfig <name_of_kataconfig_file> --type merge --patch '{"spec":{"logLevel":"debug"}}'
このコマンドを実行するときは、KataConfig
CR の名前を参照します。これは、OpenShift Sandboxed Containers のセットアップ時に CR を作成するために使用した名前です。
検証
すべてのワーカーノードが更新されて
UPDATED
フィールドがTrue
になるまで、kata-oc
マシン設定プールを監視します。$ oc get mcp kata-oc
出力例
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE kata-oc rendered-kata-oc-169 False True False 3 1 1 0 9h
CRI-O で
log_level
が更新されたことを確認します。マシン設定プールのノードに対して
oc debug
セッションを開き、chroot /host
を実行します。$ oc debug node/<node_name>
sh-4.4# chroot /host
crio.conf
ファイルの変更を確認します。sh-4.4# crio config | egrep 'log_level
出力例
log_level = "debug"
7.3.1. OpenShift Sandboxed Containers のデバッグログの表示
クラスター管理者は、OpenShift Sandboxed Containers の強化されたデバッグログを使用して、問題のトラブルシューティングを行うことができます。各ノードのログは、ノードジャーナルに出力されます。
次の OpenShift Sandboxed Containers コンポーネントのログを確認できます。
- Kata エージェント
-
Kata ランタイム (
containerd-shim-kata-v2
) - virtiofsd
QEMU は警告ログとエラーログのみを生成します。これらの警告とエラーは、追加の qemuPid
フィールドとともに Kata ランタイムログと CRI-O ログの両方でノードジャーナルに出力されます。
QEMU ログの例
Mar 11 11:57:28 openshift-worker-0 kata[2241647]: time="2023-03-11T11:57:28.587116986Z" level=info msg="Start logging QEMU (qemuPid=2241693)" name=containerd-shim-v2 pid=2241647 sandbox=d1d4d68efc35e5ccb4331af73da459c13f46269b512774aa6bde7da34db48987 source=virtcontainers/hypervisor subsystem=qemu Mar 11 11:57:28 openshift-worker-0 kata[2241647]: time="2023-03-11T11:57:28.607339014Z" level=error msg="qemu-kvm: -machine q35,accel=kvm,kernel_irqchip=split,foo: Expected '=' after parameter 'foo'" name=containerd-shim-v2 pid=2241647 qemuPid=2241693 sandbox=d1d4d68efc35e5ccb4331af73da459c13f46269b512774aa6bde7da34db48987 source=virtcontainers/hypervisor subsystem=qemu Mar 11 11:57:28 openshift-worker-0 kata[2241647]: time="2023-03-11T11:57:28.60890737Z" level=info msg="Stop logging QEMU (qemuPid=2241693)" name=containerd-shim-v2 pid=2241647 sandbox=d1d4d68efc35e5ccb4331af73da459c13f46269b512774aa6bde7da34db48987 source=virtcontainers/hypervisor subsystem=qemu
Kata ランタイムは、QEMU が起動すると Start logging QEMU
を出力し、QEMU が停止すると Stop Logging QEMU
を出力します。エラーは、qemuPid
フィールドが含まれる、これら 2 つのログメッセージの間に表示されます。QEMU からの実際のエラーメッセージは赤色で表示されます。
QEMU ゲストのコンソールはノードジャーナルにも出力されます。ゲストコンソールログを Kata エージェントログと一緒に表示できます。
前提条件
-
OpenShift CLI (
oc
) がインストールされている。 -
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。
手順
Kata エージェントのログとゲストコンソールのログを確認するには、次のコマンドを実行します。
$ oc debug node/<nodename> -- journalctl -D /host/var/log/journal -t kata -g “reading guest console”
kata ランタイムログを確認するには、次を実行します。
$ oc debug node/<nodename> -- journalctl -D /host/var/log/journal -t kata
virtiofsd ログを確認するには、次を実行します。
$ oc debug node/<nodename> -- journalctl -D /host/var/log/journal -t virtiofsd
QEMU ログを確認するには、次を実行します。
$ oc debug node/<nodename> -- journalctl -D /host/var/log/journal -t kata -g "qemuPid=\d+"