This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.13.12. OpenShift Virtualization 중요 경고
OpenShift Virtualization 중요 경고는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
OpenShift Virtualization에는 문제가 발생하는 경우를 알려주는 경고가 있습니다. 심각한 경고에는 즉각적인 주의가 필요합니다.
각 경고에는 문제에 대한 해당 설명, 경고 발생 이유, 문제 해결 프로세스 및 경고 해결 단계가 있습니다.
13.12.1. 네트워크 경고
네트워크 경고는 OpenShift Virtualization Network Operator의 문제에 대한 정보를 제공합니다.
13.12.1.1. KubeMacPoolDown alert
설명
KubeMacPool 구성 요소는 MAC 주소를 할당하고 MAC 주소 충돌을 방지합니다.
이유
KubeMacPool-manager Pod가 다운되면 VirtualMachine
오브젝트 생성이 실패합니다.
문제 해결
Kubemacpool-manager Pod 네임스페이스 및 이름을 확인합니다.
export KMP_NAMESPACE="$(oc get pod -A --no-headers -l control-plane=mac-controller-manager | awk '{print $1}')"
Copy to clipboardCopied$ export KMP_NAMESPACE="$(oc get pod -A --no-headers -l control-plane=mac-controller-manager | awk '{print $1}')"
export KMP_NAME="$(oc get pod -A --no-headers -l control-plane=mac-controller-manager | awk '{print $2}')"
Copy to clipboardCopied$ export KMP_NAME="$(oc get pod -A --no-headers -l control-plane=mac-controller-manager | awk '{print $2}')"
Kubemacpool-manager Pod 설명 및 로그를 확인하여 문제의 원인을 확인합니다.
oc describe pod -n $KMP_NAMESPACE $KMP_NAME
Copy to clipboardCopied$ oc describe pod -n $KMP_NAMESPACE $KMP_NAME
oc logs -n $KMP_NAMESPACE $KMP_NAME
Copy to clipboardCopied$ oc logs -n $KMP_NAMESPACE $KMP_NAME
해결
지원 문제를 열고 문제 해결 프로세스에 수집된 정보를 제공합니다.
13.12.2. SSP 경고
SSP 경고는 OpenShift Virtualization SSP Operator의 문제에 대한 정보를 제공합니다.
13.12.2.1. SSPFailingToReconcile alert
설명
SSP Operator의 Pod는 시작되었지만 Pod의 조정 주기가 일관되게 실패합니다. 이 오류에는 템플릿 유효성 검사기를 배포하지 못하거나 공통 템플릿을 배포하지 못하는 리소스 업데이트 실패가 포함됩니다.
이유
SSP Operator를 조정하지 못하면 종속 구성 요소 배포 실패, 구성 요소 변경 사항 조정에 실패하거나 둘 다 실패합니다. 또한 공통 템플릿 및 템플릿 유효성 검증기를 재설정하여 업데이트합니다.
문제 해결
ssp-operator Pod의 로그에 오류가 있는지 확인합니다.
export NAMESPACE="$(oc get deployment -A | grep ssp-operator | awk '{print $1}')"
Copy to clipboardCopied$ export NAMESPACE="$(oc get deployment -A | grep ssp-operator | awk '{print $1}')"
oc -n $NAMESPACE describe pods -l control-plane=ssp-operator
Copy to clipboardCopied$ oc -n $NAMESPACE describe pods -l control-plane=ssp-operator
oc -n $NAMESPACE logs --tail=-1 -l control-plane=ssp-operator
Copy to clipboardCopied$ oc -n $NAMESPACE logs --tail=-1 -l control-plane=ssp-operator
템플릿 유효성 검증기가 실행 중인지 확인합니다. 템플릿 유효성 검증기가 작동하지 않으면 Pod의 로그에 오류가 있는지 확인합니다.
export NAMESPACE="$($ oc get deployment -A | grep ssp-operator | awk '{print $1}')"
Copy to clipboardCopied$ export NAMESPACE="$($ oc get deployment -A | grep ssp-operator | awk '{print $1}')"
oc -n $NAMESPACE get pods -l name=virt-template-validator
Copy to clipboardCopied$ oc -n $NAMESPACE get pods -l name=virt-template-validator
oc -n $NAMESPACE describe pods -l name=virt-template-validator
Copy to clipboardCopied$ oc -n $NAMESPACE describe pods -l name=virt-template-validator
oc -n $NAMESPACE logs --tail=-1 -l name=virt-template-validator
Copy to clipboardCopied$ oc -n $NAMESPACE logs --tail=-1 -l name=virt-template-validator
해결
지원 문제를 열고 문제 해결 프로세스에 수집된 정보를 제공합니다.
13.12.2.2. SSPOperatorDown 경고
설명
SSP Operator는 공통 템플릿과 템플릿 유효성 검증기를 배포하고 조정합니다.
이유
SSP Operator가 다운되면 종속 구성 요소 배포 실패, 구성 요소 변경 사항 조정에 실패하거나 둘 다 실패합니다. 또한 공통 템플릿 및 템플릿 유효성 검증기를 재설정하여 업데이트합니다.
문제 해결
ssp-operator의 Pod 네임스페이스를 확인합니다.
export NAMESPACE="$(oc get deployment -A | grep ssp-operator | awk '{print $1}')"
Copy to clipboardCopied$ export NAMESPACE="$(oc get deployment -A | grep ssp-operator | awk '{print $1}')"
ssp-operator의 Pod가 현재 다운되었는지 확인합니다.
oc -n $NAMESPACE get pods -l control-plane=ssp-operator
Copy to clipboardCopied$ oc -n $NAMESPACE get pods -l control-plane=ssp-operator
ssp-operator의 Pod 설명 및 로그를 확인합니다.
oc -n $NAMESPACE describe pods -l control-plane=ssp-operator
Copy to clipboardCopied$ oc -n $NAMESPACE describe pods -l control-plane=ssp-operator
oc -n $NAMESPACE logs --tail=-1 -l control-plane=ssp-operator
Copy to clipboardCopied$ oc -n $NAMESPACE logs --tail=-1 -l control-plane=ssp-operator
해결
지원 문제를 열고 문제 해결 프로세스에 수집된 정보를 제공합니다.
13.12.2.3. SSPTemplateValidatorDown alert
설명
템플릿 유효성 검증기를 통해 VM(가상 머신)이 할당된 템플릿을 위반하지 않는지 확인합니다.
이유
모든 템플릿 유효성 검사기 Pod가 다운되면 템플릿 유효성 검사기가 할당된 템플릿에 대해 VM의 유효성을 검사하지 못합니다.
문제 해결
ssp-operator Pod 및 virt-template-validator Pod의 네임스페이스를 확인합니다.
export NAMESPACE_SSP="$(oc get deployment -A | grep ssp-operator | awk '{print $1}')"
Copy to clipboardCopied$ export NAMESPACE_SSP="$(oc get deployment -A | grep ssp-operator | awk '{print $1}')"
export NAMESPACE="$(oc get deployment -A | grep virt-template-validator | awk '{print $1}')"
Copy to clipboardCopied$ export NAMESPACE="$(oc get deployment -A | grep virt-template-validator | awk '{print $1}')"
virt-template-validator의 Pod가 현재 종료되었는지 확인합니다.
oc -n $NAMESPACE get pods -l name=virt-template-validator
Copy to clipboardCopied$ oc -n $NAMESPACE get pods -l name=virt-template-validator
Pod 설명 및 ssp-operator 및 virt-template-validator의 로그를 확인합니다.
oc -n $NAMESPACE_SSP describe pods -l name=ssp-operator
Copy to clipboardCopied$ oc -n $NAMESPACE_SSP describe pods -l name=ssp-operator
oc -n $NAMESPACE_SSP logs --tail=-1 -l name=ssp-operator
Copy to clipboardCopied$ oc -n $NAMESPACE_SSP logs --tail=-1 -l name=ssp-operator
oc -n $NAMESPACE describe pods -l name=virt-template-validator
Copy to clipboardCopied$ oc -n $NAMESPACE describe pods -l name=virt-template-validator
oc -n $NAMESPACE logs --tail=-1 -l name=virt-template-validator
Copy to clipboardCopied$ oc -n $NAMESPACE logs --tail=-1 -l name=virt-template-validator
해결
지원 문제를 열고 문제 해결 프로세스에 수집된 정보를 제공합니다.
13.12.3. 가상화 경고
가상화 경고는 OpenShift Virtualization Virt Operator의 문제에 대한 정보를 제공합니다.
13.12.3.1. NoLeadingVirtOperator alert
설명
지난 10분 동안 하나 이상의 virt-operator Pod가 Ready
상태인 경우에도 virt-operator Pod에 리더 리스가 포함되지 않습니다. 경고는 작동 중인 virt-operator Pod가 없음을 나타냅니다.
이유
virt-operator는 OpenShift Container Platform 클러스터에서 활성화된 첫 번째 Kubernetes Operator입니다. 주요 기능은 다음과 같습니다.
- 설치
- Live-update
- 클러스터의 실시간 업그레이드
- virt-controller, virt-handler, virt-launcher와 같은 최상위 컨트롤러의 라이프사이클 모니터링
- 최상위 컨트롤러 조정 관리
또한 virt-operator는 인증서 교체 및 일부 인프라 관리와 같은 클러스터 전체 작업을 담당합니다.
virt-operator 배포에는 운영 virt-operator Pod를 나타내는 리더 리스가 한 명의 리더 Pod가 있는 두 개의 Pod의 기본 복제본이 있습니다.
이 경고는 클러스터 수준에서 오류가 있음을 나타냅니다. 컨트롤러의 인증 교체, 업그레이드 및 조정과 같은 중요한 클러스터 전체의 관리 기능을 일시적으로 사용할 수 없을 수 있습니다.
문제 해결
Pod 로그에서 virt-operator Pod의 리더 상태를 확인합니다. Started leading
및 acquire leader
가 포함된 로그 메시지는 지정된 virt-operator Pod의 리더 상태를 나타냅니다.
또한 다음 명령을 사용하여 실행 중인 virt-operator Pod 및 Pod의 상태가 있는지 항상 확인합니다.
export NAMESPACE="$(oc get kubevirt -A -o custom-columns="":.metadata.namespace)"
$ export NAMESPACE="$(oc get kubevirt -A -o custom-columns="":.metadata.namespace)"
Copy to clipboardCopiedoc -n $NAMESPACE get pods -l kubevirt.io=virt-operator
$ oc -n $NAMESPACE get pods -l kubevirt.io=virt-operator
Copy to clipboardCopiedoc -n $NAMESPACE logs <pod-name>
$ oc -n $NAMESPACE logs <pod-name>
Copy to clipboardCopiedoc -n $NAMESPACE describe pod <pod-name>
$ oc -n $NAMESPACE describe pod <pod-name>
Copy to clipboardCopied리더 Pod 예:
oc -n $NAMESPACE logs <pod-name> |grep lead
$ oc -n $NAMESPACE logs <pod-name> |grep lead
Copy to clipboardCopied출력 예
{"component":"virt-operator","level":"info","msg":"Attempting to acquire leader status","pos":"application.go:400","timestamp":"2021-11-30T12:15:18.635387Z"} I1130 12:15:18.635452 1 leaderelection.go:243] attempting to acquire leader lease <namespace>/virt-operator... I1130 12:15:19.216582 1 leaderelection.go:253] successfully acquired lease <namespace>/virt-operator
{"component":"virt-operator","level":"info","msg":"Attempting to acquire leader status","pos":"application.go:400","timestamp":"2021-11-30T12:15:18.635387Z"}
I1130 12:15:18.635452 1 leaderelection.go:243] attempting to acquire leader lease <namespace>/virt-operator...
I1130 12:15:19.216582 1 leaderelection.go:253] successfully acquired lease <namespace>/virt-operator
Copy to clipboardCopied{"component":"virt-operator","level":"info","msg":"Started leading","pos":"application.go:385","timestamp":"2021-11-30T12:15:19.216836Z"}
{"component":"virt-operator","level":"info","msg":"Started leading","pos":"application.go:385","timestamp":"2021-11-30T12:15:19.216836Z"}
Copy to clipboardCopied비leader Pod의 예:
oc -n $NAMESPACE logs <pod-name> |grep lead
$ oc -n $NAMESPACE logs <pod-name> |grep lead
Copy to clipboardCopied출력 예
{"component":"virt-operator","level":"info","msg":"Attempting to acquire leader status","pos":"application.go:400","timestamp":"2021-11-30T12:15:20.533696Z"} I1130 12:15:20.533792 1 leaderelection.go:243] attempting to acquire leader lease <namespace>/virt-operator...
{"component":"virt-operator","level":"info","msg":"Attempting to acquire leader status","pos":"application.go:400","timestamp":"2021-11-30T12:15:20.533696Z"}
I1130 12:15:20.533792 1 leaderelection.go:243] attempting to acquire leader lease <namespace>/virt-operator...
Copy to clipboardCopied해결
하나 이상의 virt-operator Pod가 Ready
상태에 있어도 virt-operator Pod가 리더 리스를 유지하지 않는 데는 몇 가지 이유가 있습니다. 근본 원인을 식별하고 적절한 조치를 취해야 합니다.
또는 지원 문제를 열고 문제 해결 프로세스에 수집된 정보를 제공합니다.
13.12.3.2. NoReadyVirtController alert
설명
virt-controller는 VMI(가상 머신 인스턴스)를 모니터링합니다. virt-controller는 VMI 오브젝트와 연결된 Pod의 라이프사이클을 생성하고 관리하여 관련 Pod도 관리합니다.
VMI 오브젝트는 항상 라이프사이클 동안 Pod와 연결합니다. 그러나 VMI 마이그레이션으로 인해 Pod 인스턴스가 시간이 지남에 따라 변경될 수 있습니다.
이 경고는 5분 동안 준비되지 않은 virt-controllers를 탐지할 때 발생합니다.
이유
virt-controller가 실패하면 VM 라이프사이클 관리가 완전히 실패합니다. 라이프사이클 관리 작업에는 새 VMI를 시작하거나 기존 VMI 종료가 포함됩니다.
문제 해결
사용 가능한 복제본 및 조건에 대해 virt-controller의 vdeployment 상태를 확인합니다.
oc -n $NAMESPACE get deployment virt-controller -o yaml
Copy to clipboardCopied$ oc -n $NAMESPACE get deployment virt-controller -o yaml
virt-controller Pod가 있는지 확인하고 상태를 확인합니다.
get pods -n $NAMESPACE |grep virt-controller
Copy to clipboardCopiedget pods -n $NAMESPACE |grep virt-controller
virt-controller Pod의 이벤트를 확인합니다.
oc -n $NAMESPACE describe pods <virt-controller pod>
Copy to clipboardCopied$ oc -n $NAMESPACE describe pods <virt-controller pod>
virt-controller Pod의 로그를 확인합니다.
oc -n $NAMESPACE logs <virt-controller pod>
Copy to clipboardCopied$ oc -n $NAMESPACE logs <virt-controller pod>
노드가
NotReady
상태에 있는 경우와 같이 노드에 문제가 있는지 확인합니다.oc get nodes
Copy to clipboardCopied$ oc get nodes
해결
virt-controller Pod가 Ready
상태가 아닌 이유는 여러 가지가 있습니다. 근본 원인을 식별하고 적절한 조치를 취해야 합니다.
또는 지원 문제를 열고 문제 해결 프로세스에 수집된 정보를 제공합니다.
13.12.3.3. NoReadyVirtOperator alert
설명
지난 10분 동안 Ready
상태에서 virt-operator Pod를 탐지할 수 없습니다. virt-operator 배포에는 두 개의 Pod의 기본 복제본이 있습니다.
이유
virt-operator는 OpenShift Container Platform 클러스터에서 활성화된 첫 번째 Kubernetes Operator입니다. 주요 기능은 다음과 같습니다.
- 설치
- Live-update
- 클러스터의 실시간 업그레이드
- virt-controller, virt-handler, virt-launcher와 같은 최상위 컨트롤러의 라이프사이클 모니터링
- 최상위 컨트롤러 조정 관리
또한 virt-operator는 인증서 교체 및 일부 인프라 관리와 같은 클러스터 전체 작업을 담당합니다.
virt-operator는 클러스터의 가상 머신을 직접 처리하지 않습니다. virt-operator의 고가용성은 사용자 정의 워크로드에 영향을 미치지 않습니다.
이 경고는 클러스터 수준에서 오류가 있음을 나타냅니다. 컨트롤러의 인증 교체, 업그레이드 및 조정과 같은 중요한 클러스터 전체의 관리 기능을 일시적으로 사용할 수 없습니다.
문제 해결
사용 가능한 복제본 및 조건이 있는지 virt-operator의 배포 상태를 확인합니다.
oc -n $NAMESPACE get deployment virt-operator -o yaml
Copy to clipboardCopied$ oc -n $NAMESPACE get deployment virt-operator -o yaml
virt-controller Pod의 이벤트를 확인합니다.
oc -n $NAMESPACE describe pods <virt-operator pod>
Copy to clipboardCopied$ oc -n $NAMESPACE describe pods <virt-operator pod>
virt-operator Pod의 로그를 확인합니다.
oc -n $NAMESPACE logs <virt-operator pod>
Copy to clipboardCopied$ oc -n $NAMESPACE logs <virt-operator pod>
NotReady
상태에 있는 경우와 같이 컨트롤 플레인 및 마스터의 노드에 문제가 있는지 확인합니다.oc get nodes
Copy to clipboardCopied$ oc get nodes
해결
virt-operator Pod가 Ready
상태가 아닌 이유는 여러 가지가 있습니다. 근본 원인을 식별하고 적절한 조치를 취해야 합니다.
또는 지원 문제를 열고 문제 해결 프로세스에 수집된 정보를 제공합니다.
13.12.3.4. VirtAPIDown 경고
설명
모든 OpenShift Container Platform API 서버가 다운되었습니다.
이유
모든 OpenShift Container Platform API 서버가 다운되면 OpenShift Container Platform 엔티티에 대한 API 호출이 발생하지 않습니다.
문제 해결
환경 변수
NAMESPACE
를 수정합니다.export NAMESPACE="$(oc get kubevirt -A -o custom-columns="":.metadata.namespace)"
Copy to clipboardCopied$ export NAMESPACE="$(oc get kubevirt -A -o custom-columns="":.metadata.namespace)"
실행 중인 virt-api Pod가 있는지 확인합니다.
oc -n $NAMESPACE get pods -l kubevirt.io=virt-api
Copy to clipboardCopied$ oc -n $NAMESPACE get pods -l kubevirt.io=virt-api
-
oc logs
및oc describe
를 사용하여 Pod의 상태를 확인합니다. virt-api 배포 상태를 확인합니다. 이러한 명령을 사용하여 관련 이벤트에 대해 알아보고 이미지 가져오기, 충돌 Pod 또는 기타 유사한 문제에 문제가 있는지 확인합니다.
oc -n $NAMESPACE get deployment virt-api -o yaml
Copy to clipboardCopied$ oc -n $NAMESPACE get deployment virt-api -o yaml
oc -n $NAMESPACE describe deployment virt-api
Copy to clipboardCopied$ oc -n $NAMESPACE describe deployment virt-api
노드가
NotReady
상태에 있는 경우와 같이 노드에 문제가 있는지 확인합니다.oc get nodes
Copy to clipboardCopied$ oc get nodes
해결
다음과 같은 몇 가지 이유로 virt-api Pod가 다운될 수 있습니다. 근본 원인을 식별하고 적절한 조치를 취해야 합니다.
또는 지원 문제를 열고 문제 해결 프로세스에 수집된 정보를 제공합니다.
13.12.3.5. VirtApiRESTErrorsBurst alert
설명
REST 호출 중 80% 이상이 지난 5분 동안 virt-api에서 실패합니다.
이유
virt-api에 대한 REST 호출의 매우 높은 속도가 높으면 응답 속도가 느리거나, API 호출 속도가 느려지거나 API 호출을 완전히 해제할 수 있습니다.
문제 해결
환경 변수
NAMESPACE
를 수정합니다.export NAMESPACE="$(oc get kubevirt -A -o custom-columns="":.metadata.namespace)"
Copy to clipboardCopied$ export NAMESPACE="$(oc get kubevirt -A -o custom-columns="":.metadata.namespace)"
실행 중인 virt-api Pod 수를 확인합니다.
oc -n $NAMESPACE get pods -l kubevirt.io=virt-api
Copy to clipboardCopied$ oc -n $NAMESPACE get pods -l kubevirt.io=virt-api
-
oc logs
및oc describe
를 사용하여 Pod의 상태를 확인합니다. virt-api 배포 상태를 확인하여 자세한 내용을 확인하십시오. 이러한 명령은 관련 이벤트를 제공하고 이미지 가져오기 또는 충돌 Pod에 문제가 있는지 확인합니다.
oc -n $NAMESPACE get deployment virt-api -o yaml
Copy to clipboardCopied$ oc -n $NAMESPACE get deployment virt-api -o yaml
oc -n $NAMESPACE describe deployment virt-api
Copy to clipboardCopied$ oc -n $NAMESPACE describe deployment virt-api
노드가 오버로드되었거나
NotReady
상태에 없는 경우와 같이 노드에 문제가 있는지 확인합니다.oc get nodes
Copy to clipboardCopied$ oc get nodes
해결
실패한 REST 호출 속도가 높은 이유는 여러 가지가 있습니다. 근본 원인을 식별하고 적절한 조치를 취해야 합니다.
- 노드 리소스 소진
- 클러스터의 메모리가 충분하지 않음
- 노드 다운
- 스케줄러를 100% 사용할 수 없는 경우와 같이 API 서버 과부하)
- 네트워킹 문제
또는 지원 문제를 열고 문제 해결 프로세스에 수집된 정보를 제공합니다.
13.12.3.6. VirtControllerDown alert
설명
지난 5분 동안 virt-controllers 탐지가 발생하지 않으면 virt-controller 배포에는 기본 두 개의 Pod가 있습니다.
이유
virt-controller가 실패하면 새 VMI 시작 또는 기존 VMI 종료와 같은 VM 라이프사이클 관리 작업이 완전히 실패합니다.
문제 해결
환경 변수
NAMESPACE
를 수정합니다.export NAMESPACE="$(oc get kubevirt -A -o custom-columns="":.metadata.namespace)"
Copy to clipboardCopied$ export NAMESPACE="$(oc get kubevirt -A -o custom-columns="":.metadata.namespace)"
virt-controller 배포의 상태를 확인합니다.
oc get deployment -n $NAMESPACE virt-controller -o yaml
Copy to clipboardCopied$ oc get deployment -n $NAMESPACE virt-controller -o yaml
virt-controller Pod의 이벤트를 확인합니다.
oc -n $NAMESPACE describe pods <virt-controller pod>
Copy to clipboardCopied$ oc -n $NAMESPACE describe pods <virt-controller pod>
virt-controller Pod의 로그를 확인합니다.
oc -n $NAMESPACE logs <virt-controller pod>
Copy to clipboardCopied$ oc -n $NAMESPACE logs <virt-controller pod>
관리자 Pod의 로그를 확인하여 virt-controller Pod 생성에 실패하는 이유를 확인합니다.
oc get logs <virt-controller-pod>
Copy to clipboardCopied$ oc get logs <virt-controller-pod>
로그의 virt-controller Pod 이름의 예는 virt-controller-7888c64d66-dzc9p
입니다. 그러나 virt-controller를 실행하는 Pod가 여러 개 있을 수 있습니다.
해결
virt-controller를 실행하지 않는 몇 가지 알려진 이유가 있습니다. 가능한 이유 목록에서 근본 원인을 확인하고 적절한 조치를 취합니다.
- 노드 리소스 소진
- 클러스터의 메모리가 충분하지 않음
- 노드 다운
- 스케줄러를 100% 사용할 수 없는 경우와 같이 API 서버 과부하)
- 네트워킹 문제
또는 지원 문제를 열고 문제 해결 프로세스에 수집된 정보를 제공합니다.
13.12.3.7. VirtControllerRESTErrorsBurst alert
설명
REST 호출 중 80% 이상이 지난 5분 동안 virt-controller에서 실패했습니다.
이유
virt-controller가 API 서버에 완전히 연결될 수 있습니다. 이러한 손실은 실행 중인 워크로드에는 영향을 미치지 않지만 상태 업데이트 및 마이그레이션과 같은 작업이 발생할 수 없습니다.
문제 해결
virt-controller REST 호출 실패와 관련된 일반적인 오류 유형은 다음 두 가지입니다.
- API 서버 과부하로 인해 시간 초과가 발생합니다. API 서버 지표와 응답 시간 및 전체 호출과 같은 세부 정보를 확인합니다.
virt-controller Pod가 API 서버에 연결할 수 없습니다. 일반적인 원인은 다음과 같습니다.
- 노드의 DNS 문제
- 네트워킹 연결 문제
해결
virt-controller 로그를 확인하여 virt-controller pod가 API 서버에 연결할 수 없는지 확인합니다. 이 경우 Pod를 삭제하여 강제로 재시작합니다.
또한 노드 리소스가 소진되었는지 또는 클러스터에 메모리가 부족하여 연결에 실패하는지 확인합니다.
이 문제는 일반적으로 이 경고 범위를 벗어나는 DNS 또는 CNI 문제와 관련이 있습니다.
또는 지원 문제를 열고 문제 해결 프로세스에 수집된 정보를 제공합니다.
13.12.3.8. VirtHandlerRESTErrorsBurst alert
설명
REST 호출 중 80% 이상이 지난 5분 동안 virt-handler에서 실패했습니다.
이유
virt-handler에서 API 서버에 대한 연결을 손실했습니다. 영향을 받는 노드에서 워크로드를 실행하지만 상태 업데이트는 마이그레이션과 같은 전파 및 작업을 수행할 수 없습니다.
문제 해결
virt-operator REST 호출 실패와 관련된 두 가지 일반적인 오류 유형이 있습니다.
- API 서버 과부하로 인해 시간 초과가 발생합니다. API 서버 지표와 응답 시간 및 전체 호출과 같은 세부 정보를 확인합니다.
virt-operator Pod가 API 서버에 연결할 수 없습니다. 일반적인 원인은 다음과 같습니다.
- 노드의 DNS 문제
- 네트워킹 연결 문제
해결
virt-handler가 API 서버에 연결할 수 없는 경우 Pod를 삭제하여 강제로 재시작합니다. 이 문제는 일반적으로 이 경고 범위를 벗어나는 DNS 또는 CNI 문제와 관련이 있습니다. 근본 원인을 식별하고 적절한 조치를 취해야 합니다.
또는 지원 문제를 열고 문제 해결 프로세스에 수집된 정보를 제공합니다.
13.12.3.9. VirtOperatorDown alert
설명
이 경고는 지난 10분 동안 virt-operator Pod가 Running
상태가 아닌 경우 발생합니다. virt-operator 배포에는 두 개의 Pod의 기본 복제본이 있습니다.
이유
virt-operator는 OpenShift Container Platform 클러스터에서 활성화된 첫 번째 Kubernetes Operator입니다. 주요 기능은 다음과 같습니다.
- 설치
- Live-update
- 클러스터의 실시간 업그레이드
- virt-controller, virt-handler, virt-launcher와 같은 최상위 컨트롤러의 라이프사이클 모니터링
- 최상위 컨트롤러 조정 관리
또한 virt-operator는 인증서 교체 및 일부 인프라 관리와 같은 클러스터 전체 작업을 담당합니다.
virt-operator는 클러스터의 가상 머신을 직접 처리하지 않습니다. virt-operator의 고가용성은 사용자 정의 워크로드에 영향을 미치지 않습니다.
이 경고는 클러스터 수준에서 오류가 있음을 나타냅니다. 컨트롤러의 인증 교체, 업그레이드 및 조정과 같은 중요한 클러스터 전체의 관리 기능을 일시적으로 사용할 수 없습니다.
문제 해결
환경 변수
NAMESPACE
를 수정합니다.export NAMESPACE="$(oc get kubevirt -A -o custom-columns="":.metadata.namespace)"
Copy to clipboardCopied$ export NAMESPACE="$(oc get kubevirt -A -o custom-columns="":.metadata.namespace)"
virt-operator 배포의 상태를 확인합니다.
oc get deployment -n $NAMESPACE virt-operator -o yaml
Copy to clipboardCopied$ oc get deployment -n $NAMESPACE virt-operator -o yaml
virt-operator Pod의 이벤트를 확인합니다.
oc -n $NAMESPACE describe pods <virt-operator pod>
Copy to clipboardCopied$ oc -n $NAMESPACE describe pods <virt-operator pod>
virt-operator Pod의 로그를 확인합니다.
oc -n $NAMESPACE logs <virt-operator pod>
Copy to clipboardCopied$ oc -n $NAMESPACE logs <virt-operator pod>
관리자 Pod의 로그를 확인하여 virt-operator Pod 생성에 실패하는 이유를 확인합니다.
oc get logs <virt-operator-pod>
Copy to clipboardCopied$ oc get logs <virt-operator-pod>
로그의 virt-operator Pod 이름의 예는 virt-operator-7888c64d66-dzc9p
입니다. 그러나 virt-operator를 실행하는 Pod가 여러 개 있을 수 있습니다.
해결
virt-operator 실행 중이 발생하지 않는 몇 가지 알려진 이유가 있습니다. 가능한 이유 목록에서 근본 원인을 확인하고 적절한 조치를 취합니다.
- 노드 리소스 소진
- 클러스터의 메모리가 충분하지 않음
- 노드 다운
- 스케줄러를 100% 사용할 수 없는 경우와 같이 API 서버 과부하)
- 네트워킹 문제
또는 지원 문제를 열고 문제 해결 프로세스에 수집된 정보를 제공합니다.
13.12.3.10. VirtOperatorRESTErrorsBurst alert
설명
REST 호출 중 80% 이상이 지난 5분 동안 virt-operator에서 실패했습니다.
이유
virt-operator에서 API 서버에 대한 연결이 끊어졌습니다. 업그레이드 및 컨트롤러 조정과 같은 클러스터 수준 작업이 작동하지 않습니다. VM 및 VMI와 같은 고객 워크로드에는 영향을 미치지 않습니다.
문제 해결
virt-operator REST 호출 실패와 관련된 두 가지 일반적인 오류 유형이 있습니다.
- API 서버 과부하로 인해 시간 초과가 발생합니다. API 서버 지표 및 응답 시간 및 전체 호출과 같은 세부 정보를 확인합니다.
virt-operator Pod가 API 서버에 연결할 수 없습니다. 일반적인 원인은 네트워크 연결 문제 및 노드의 DNS 문제입니다. virt-operator 로그를 확인하여 Pod가 API 서버에 연결할 수 있는지 확인합니다.
export NAMESPACE="$(oc get kubevirt -A -o custom-columns="":.metadata.namespace)"
Copy to clipboardCopied$ export NAMESPACE="$(oc get kubevirt -A -o custom-columns="":.metadata.namespace)"
oc -n $NAMESPACE get pods -l kubevirt.io=virt-operator
Copy to clipboardCopied$ oc -n $NAMESPACE get pods -l kubevirt.io=virt-operator
oc -n $NAMESPACE logs <pod-name>
Copy to clipboardCopied$ oc -n $NAMESPACE logs <pod-name>
oc -n $NAMESPACE describe pod <pod-name>
Copy to clipboardCopied$ oc -n $NAMESPACE describe pod <pod-name>
해결
virt-operator가 API 서버에 연결할 수 없는 경우 Pod를 삭제하여 강제로 재시작합니다. 이 문제는 일반적으로 이 경고 범위를 벗어나는 DNS 또는 CNI 문제와 관련이 있습니다. 근본 원인을 식별하고 적절한 조치를 취해야 합니다.
또는 지원 문제를 열고 문제 해결 프로세스에 수집된 정보를 제공합니다.