12.5. 가상 머신에 대한 하향식 메트릭 노출
관리자는 먼저 DownwardMetrics 기능 게이트를 활성화한 다음
장치를 구성하여 제한된 호스트 및 VM(가상 머신) 메트릭을 게스트 VM에 노출할 수 있습니다.
DownwardMetrics
사용자는 명령줄 또는 vm-dump-metrics 툴을 사용하여 메트릭
결과를 볼 수 있습니다.
RHEL(Red Hat Enterprise Linux) 9에서 명령줄을 사용하여 하향 메트릭을 확인합니다. 명령줄을 사용하여 하향 메트릭 보기를 참조하십시오.
vm-dump-metrics 툴은 RHEL(Red Hat Enterprise Linux) 9 플랫폼에서 지원되지 않습니다.
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. 명령줄에서 하향 메트릭 기능 게이트 활성화 또는 비활성화
호스트 가상 머신에 대한 하향식 메트릭을 노출하려면 명령줄을 사용하여 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 Metrics 장치가 포함된 구성 파일을 생성하여 호스트 VM에 대한 하향식
메트릭을 캡처할 수 있습니다. 이 장치를 추가하면 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 메트릭을 볼 수 있습니다.
- CLI(명령줄 인터페이스)
-
vm-dump-metrics
툴
RHEL(Red Hat Enterprise Linux) 9에서 명령줄을 사용하여 하향 메트릭을 확인합니다. vm-dump-metrics 툴은 RHEL(Red Hat Enterprise Linux) 9 플랫폼에서 지원되지 않습니다.
12.5.3.1. 명령줄을 사용하여 하향식 메트릭 보기
게스트 가상 머신(VM) 내부에서 명령을 입력하여 하향식 메트릭을 볼 수 있습니다.
프로세스
다음 명령을 실행합니다.
$ 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 툴을 사용하여 하향식 지표 보기
하향식 지표를 보려면 vm-dump-metrics
툴을 설치한 다음 툴을 사용하여 지표 결과를 노출합니다.
RHEL(Red Hat Enterprise Linux) 9에서 명령줄을 사용하여 하향 메트릭을 확인합니다. vm-dump-metrics 툴은 RHEL(Red Hat Enterprise Linux) 9 플랫폼에서 지원되지 않습니다.
프로세스
다음 명령을 실행하여
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>