12.5. 为虚拟机公开下限指标
作为管理员,您可以通过首先启用 DownwardMetrics
功能门,然后配置 DownwardMetrics
设备,来向客户虚拟机公开一组有限的主机和虚拟机(VM)指标。
用户可以使用命令行或 vm-dump-metrics 工具
来查看指标结果。
在 Red Hat Enterprise Linux (RHEL) 9 中,使用命令行查看 Downward 指标。请参阅使用命令行查看 Downward指标。
Red Hat Enterprise Linux (RHEL) 9 平台上不支持 vm-dump-metrics 工具。
12.5.1. 启用或禁用 DownwardMetrics 功能门
您可以通过执行以下操作之一启用或禁用 DownwardMetrics
功能门:
- 在默认编辑器中编辑 HyperConverged 自定义资源 (CR)
- 使用命令行
12.5.1.1. 在 YAML 文件中启用或禁用 Downward 指标功能门
要为主机虚拟机公开下限指标,您可以通过编辑 YAML 文件来启用 DownwardMetrics
功能门。
先决条件
- 您必须具有管理员特权才能启用功能门。
流程
运行以下命令,在默认编辑器中打开 HyperConverged 自定义资源 (CR):
$ oc edit hyperconverged kubevirt-hyperconverged -n openshift-cnv
选择启用或禁用 DownwardMetrics 功能门,如下所示:
要启用
DownwardMetrics
功能门,请将spec.featureGates.downwardMetrics
设置为true
。例如:apiVersion: hco.kubevirt.io/v1beta1 kind: HyperConverged metadata: name: kubevirt-hyperconverged namespace: openshift-cnv spec: featureGates: downwardMetrics: true # ...
要禁用
DownwardMetrics
功能门,请将spec.featureGates.downwardMetrics
设置为false
。例如:apiVersion: hco.kubevirt.io/v1beta1 kind: HyperConverged metadata: name: kubevirt-hyperconverged namespace: openshift-cnv spec: featureGates: downwardMetrics: false # ...
12.5.1.2. 从命令行启用或禁用 Downward 指标功能门
要为主机虚拟机公开下限指标,您可以使用命令行启用 DownwardMetrics
功能门。
先决条件
- 您必须具有管理员特权才能启用功能门。
流程
选择启用或禁用
DownwardMetrics
功能门,如下所示:运行以下命令启用
DownwardMetrics
功能门:$ oc patch hco kubevirt-hyperconverged -n openshift-cnv \ --type json -p '[{"op": "replace", "path": \ "/spec/featureGates/downwardMetrics" \ "value": true}]'
运行以下命令,禁用
DownwardMetrics
功能门:$ oc patch hco kubevirt-hyperconverged -n openshift-cnv \ --type json -p '[{"op": "replace", "path": \ "/spec/featureGates/downwardMetrics" \ "value": false}]'
12.5.2. 配置 Downward 指标设备
您可以通过创建一个包含 downwardMetrics
设备的配置文件,为主机虚拟机启用 downward 指标。添加此设备会建立指标通过 virtio-serial
端口公开。
先决条件
-
您必须首先启用
DownwardMetrics
功能门。
流程
编辑或创建包含
DownwardMetrics
设备的 YAML 文件,如下例所示:DownwardMetrics 配置文件示例
apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: fedora namespace: default spec: dataVolumeTemplates: - metadata: name: fedora-volume spec: sourceRef: kind: DataSource name: fedora namespace: openshift-virtualization-os-images storage: resources: {} storageClassName: hostpath-csi-basic instancetype: name: u1.medium preference: name: fedora running: true template: metadata: labels: app.kubernetes.io/name: headless spec: domain: devices: downwardMetrics: {} 1 subdomain: headless volumes: - dataVolume: name: fedora-volume name: rootdisk - cloudInitNoCloud: userData: | #cloud-config chpasswd: expire: false password: '<password>' 2 user: fedora name: cloudinitdisk
12.5.3. 查看 downward 指标
您可以使用以下选项之一查看 downward 指标:
- 命令行界面 (CLI)
-
vm-dump-metrics
工具
在 Red Hat Enterprise Linux (RHEL) 9 中,使用命令行查看 Downward 指标。Red Hat Enterprise Linux (RHEL) 9 平台上不支持 vm-dump-metrics 工具。
12.5.3.1. 使用命令行查看下限指标
您可以通过从客户虚拟机(VM) 内输入命令来查看 downward 指标。
流程
运行以下命令:
$ sudo sh -c 'printf "GET /metrics/XML\n\n" > /dev/virtio-ports/org.github.vhostmd.1'
$ sudo cat /dev/virtio-ports/org.github.vhostmd.1
12.5.3.2. 使用 vm-dump-metrics 工具查看 downward 指标
要查看 downward 指标,请安装 vm-dump-metrics
工具,然后使用该工具公开指标结果。
在 Red Hat Enterprise Linux (RHEL) 9 中,使用命令行查看 Downward 指标。Red Hat Enterprise Linux (RHEL) 9 平台上不支持 vm-dump-metrics 工具。
流程
运行以下命令安装
vm-dump-metrics
工具:$ sudo dnf install -y vm-dump-metrics
运行以下命令来检索指标结果:
$ sudo vm-dump-metrics
输出示例
<metrics> <metric type="string" context="host"> <name>HostName</name> <value>node01</value> [...] <metric type="int64" context="host" unit="s"> <name>Time</name> <value>1619008605</value> </metric> <metric type="string" context="host"> <name>VirtualizationVendor</name> <value>kubevirt.io</value> </metric> </metrics>