7.3. 为 OpenShift 沙盒容器启用调试日志

作为集群管理员,您可以为 OpenShift 沙盒容器收集更详细的日志级别。您还可以通过更改 KataConfig CR 中的 logLevel 字段来增强日志记录。这会更改运行 OpenShift 沙盒容器的 worker 节点的 CRI-O 运行时中的 log_level

流程

  1. 将现有 KataConfig CR 中的 logLevel 字段更改为 debug
$ oc patch kataconfig <name_of_kataconfig_file> --type merge --patch '{"spec":{"logLevel":"debug"}}'
注意

运行此命令时,引用 KataConfig CR 的名称。这是设置 OpenShift 沙盒容器时用于创建 CR 的名称。

验证

  1. 监控 kata-oc 机器配置池,直到 UPDATED 字段显示为 True,这意味着所有 worker 节点都已更新:

    $ 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

  2. 验证 log_level 是否在 CRI-O 中更新:

    1. 打开到机器配置池中节点的 oc debug 会话,并运行 chroot /host

      $ oc debug node/<node_name>
      sh-4.4# chroot /host
    2. 验证 crio.conf 文件中的更改:

      sh-4.4# crio config | egrep 'log_level

      输出示例

      log_level = "debug"

7.3.1. 查看 OpenShift 沙盒容器的调试日志

集群管理员可以使用 OpenShift 沙盒容器增强的调试日志来排除问题。每个节点的日志会输出到节点日志中。

您可以查看以下 OpenShift 沙盒容器组件的日志:

  • Kata 代理
  • Kata runtime (containerd-shim-kata-v2)
  • virtiofsd

QEMU 的日志不会打印到节点日志。但是,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