搜索

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

download PDF

作为集群管理员,您可以为 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 仅生成警告和错误日志。这些警告和错误会在 Kata 运行时日志和带有额外的 qemuPid 字段的 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

当 QEMU 启动时,Kata 运行时会在 QEMU 启动时打印 Start logging QEMU,并在 QEMU 停止时停止日志记录 QEMU。使用 qemuPid 字段的两个日志消息之间会出现这个错误。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+"
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.