12.8.3. 为 OpenShift Virtualization 使用 must-gather 工具
您可以使用 OpenShift Virtualization 镜像运行 must-gather
命令来收集与 OpenShift Virtualization 资源相关的数据。
默认数据收集包含以下资源信息:
- OpenShift Virtualization Operator 命名空间,包括子对象
- OpenShift Virtualization 自定义资源定义
- 包含虚拟机的命名空间
- 基本虚拟机定义
流程
运行以下命令来收集有关 OpenShift Virtualization 的数据:
$ oc adm must-gather --image-stream=openshift/must-gather \ --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel8:v{HCOVersion}
12.8.3.1. must-gather 工具选项
您可以为以下选项指定脚本和环境变量的组合:
- 从命名空间中收集详细虚拟机(VM)信息
- 收集指定虚拟机的详细信息
- 收集镜像和镜像流信息
-
限制
must-gather
工具使用的最大并行进程数
12.8.3.1.1. 参数
环境变量
您可以为兼容脚本指定环境变量。
NS=<namespace_name>
-
从您指定的命名空间中收集虚拟机信息,包括
virt-launcher
Pod 详情。为所有命名空间收集VirtualMachine
和VirtualMachineInstance
CR 数据。 VM=<vm_name>
-
收集特定虚拟机的详情。要使用这个选项,还必须使用
NS
环境变量指定命名空间。 PROS=<number_of_processes>
修改
must-gather
工具使用的最大并行进程数。默认值为5
。重要使用太多的并行进程可能会导致性能问题。不建议增加并行进程的最大数量。
脚本
每个脚本都仅与某些环境变量组合兼容。
gather_vms_details
-
收集属于 OpenShift Virtualization 资源的虚拟机日志文件、虚拟机定义和命名空间(及其子对象)。如果您在指定命名空间或虚拟机的情况下使用这个参数,
must-gather
工具会为集群中的所有虚拟机收集这个数据。这个脚本与所有环境变量兼容,但如果使用VM
变量,您必须指定一个命名空间。 gather
-
使用默认
must-gather
脚本,从所有命名空间中收集集群数据,且仅包含基本的虚拟机信息。此脚本只与PROS
变量兼容。 gather_images
-
收集镜像和镜像流自定义资源信息。此脚本只与
PROS
变量兼容。
12.8.3.1.2. 使用和示例
环境变量是可选的。您可以自行运行脚本,也可以使用一个或多个兼容的环境变量。
脚本 | 兼容环境变量 |
---|---|
|
|
|
|
|
|
要自定义 must-gather
收集的数据,您可以将双短划线(--
)附加到命令中,后跟一个空格和一个或多个兼容参数。
语法
$ oc adm must-gather \ --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel8:v2.5.8 \ -- <environment_variable_1> <environment_variable_2> <script_name>
详细虚拟机信息
以下命令在 mynamespace
命名空间中收集 my-vm
虚拟机的详细虚拟机信息:
$ oc adm must-gather \
--image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel8:v2.5.8 \
-- NS=mynamespace VM=my-vm gather_vms_details 1
- 1
- 如果使用
VM
环境变量,则NS
环境变量是必需的。
默认数据收集仅限于三个并行进程
以下命令使用最多三个并行进程收集默认的 must-gather
信息:
$ oc adm must-gather \ --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel8:v2.5.8 \ -- PROS=3 gather
镜像和镜像流信息
以下命令从集群收集镜像和镜像流信息:
$ oc adm must-gather \ --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel8:v2.5.8 \ -- gather_images