14.2. 查看 OpenShift Virtualization 日志

您可以使用 web 控制台或 oc CLI 查看 OpenShift Virtualization 组件和虚拟机的日志。您可以从 virt-launcher pod 检索虚拟机日志。要控制日志详细程度,请编辑 HyperConverged 自定义资源。

14.2.1. 使用 CLI 查看 OpenShift Virtualization 日志

通过编辑 HyperConverged 自定义资源(CR) 来配置 OpenShift Virtualization 组件的日志详细程度。然后,使用 oc CLI 工具查看组件 pod 的日志。

步骤

  1. 要为特定组件设置日志详细程度,请运行以下命令在默认文本编辑器中打开 HyperConverged CR:

    $ oc edit hyperconverged kubevirt-hyperconverged -n openshift-cnv
  2. 通过编辑 spec.logVerbosityConfig 小节,为一个或多个组件设置日志级别。例如:

    apiVersion: hco.kubevirt.io/v1beta1
    kind: HyperConverged
    metadata:
      name: kubevirt-hyperconverged
    spec:
      logVerbosityConfig:
        kubevirt:
          virtAPI: 5 1
          virtController: 4
          virtHandler: 3
          virtLauncher: 2
          virtOperator: 6
    1
    日志详细程度值必须是范围 1-9 中的一个整数,其中较高的数字表示更详细的日志。在本例中,如果优先级级别为 5 或更高版本,则 virtAPI 组件日志会公开。
  3. 通过保存并退出编辑器来应用您的更改。
  4. 运行以下命令,查看 OpenShift Virtualization 命名空间中的 pod 列表:

    $ oc get pods -n openshift-cnv

    例 14.1. 输出示例

    NAME                               READY   STATUS    RESTARTS   AGE
    disks-images-provider-7gqbc        1/1     Running   0          32m
    disks-images-provider-vg4kx        1/1     Running   0          32m
    virt-api-57fcc4497b-7qfmc          1/1     Running   0          31m
    virt-api-57fcc4497b-tx9nc          1/1     Running   0          31m
    virt-controller-76c784655f-7fp6m   1/1     Running   0          30m
    virt-controller-76c784655f-f4pbd   1/1     Running   0          30m
    virt-handler-2m86x                 1/1     Running   0          30m
    virt-handler-9qs6z                 1/1     Running   0          30m
    virt-operator-7ccfdbf65f-q5snk     1/1     Running   0          32m
    virt-operator-7ccfdbf65f-vllz8     1/1     Running   0          32m
  5. 要查看组件 pod 的日志,请运行以下命令:

    $ oc logs -n openshift-cnv <pod_name>

    例如:

    $ oc logs -n openshift-cnv virt-handler-2m86x
    注意

    如果 pod 无法启动,您可以使用 --previous 选项查看最后一次尝试的日志。

    要实时监控日志输出,请使用 -f 选项。

    例 14.2. 输出示例

    {"component":"virt-handler","level":"info","msg":"set verbosity to 2","pos":"virt-handler.go:453","timestamp":"2022-04-17T08:58:37.373695Z"}
    {"component":"virt-handler","level":"info","msg":"set verbosity to 2","pos":"virt-handler.go:453","timestamp":"2022-04-17T08:58:37.373726Z"}
    {"component":"virt-handler","level":"info","msg":"setting rate limiter to 5 QPS and 10 Burst","pos":"virt-handler.go:462","timestamp":"2022-04-17T08:58:37.373782Z"}
    {"component":"virt-handler","level":"info","msg":"CPU features of a minimum baseline CPU model: map[apic:true clflush:true cmov:true cx16:true cx8:true de:true fpu:true fxsr:true lahf_lm:true lm:true mca:true mce:true mmx:true msr:true mtrr:true nx:true pae:true pat:true pge:true pni:true pse:true pse36:true sep:true sse:true sse2:true sse4.1:true ssse3:true syscall:true tsc:true]","pos":"cpu_plugin.go:96","timestamp":"2022-04-17T08:58:37.390221Z"}
    {"component":"virt-handler","level":"warning","msg":"host model mode is expected to contain only one model","pos":"cpu_plugin.go:103","timestamp":"2022-04-17T08:58:37.390263Z"}
    {"component":"virt-handler","level":"info","msg":"node-labeller is running","pos":"node_labeller.go:94","timestamp":"2022-04-17T08:58:37.391011Z"}

14.2.2. 在 web 控制台中查看虚拟机日志

从关联的虚拟机启动程序 Pod 中获取虚拟机日志。

步骤

  1. 在 OpenShift Container Platform 控制台中,从侧边菜单中点 VirtualizationVirtualMachines
  2. 选择虚拟机以打开 VirtualMachine 详情页面。
  3. Details 标签页。
  4. Pod 部分中的 virt-launcher-<name> pod 以打开 Pod 详情页面。
  5. Logs 选项卡,以查看 pod 日志。

14.2.3. 常见错误消息

OpenShift Virtualization 日志中可能会出现以下出错信息:

ErrImagePullImagePullBackOff
表示引用镜像的部署配置或问题。