17.10. vSphere Problem Detector Operator 사용
17.10.1. vSphere Problem Detector Operator 정보
vSphere Problem Detector Operator는 스토리지와 관련된 일반적인 설치 및 잘못된 구성 문제를 위해 vSphere에 배포된 클러스터를 확인합니다.
Operator는 openshift-cluster-storage-operator
네임 스페이스에서 실행되며 Cluster Storage Operator가 vSphere에 클러스터를 배포하는 것을 탐지하면 Cluster Storage Operator에 의해 시작됩니다. vSphere Problem Detector Operator는 vSphere vCenter Server와 통신하여 클러스터의 가상 머신, 기본 데이터 저장소 및 vSphere vCenter 서버 구성에 대한 기타 정보를 확인합니다. Operator는 Cloud Credential Operator의 인증 정보를 사용하여 vSphere에 연결합니다.
Operator는 다음 일정에 따라 검사를 실행합니다.
- 검사는 8시간마다 실행됩니다.
- 검사에 실패하면 Operator는 1분, 2분, 4분, 8분 등의 간격으로 다시 검사를 실행합니다. Operator는 간격을 최대 8시간까지 두 배로 늘립니다.
- 모든 검사가 통과되면 일정이 8시간 간격으로 돌아갑니다.
Operator는 오류 후 검사 빈도를 늘리므로 실패 조건이 수정된 후 Operator에서 빠르게 성공적으로 완료를 보고할 수 있습니다. 즉시 문제 해결 정보를 위해 Operator를 수동으로 실행할 수 있습니다.
17.10.2. vSphere Problem Detector Operator 검사 실행
vSphere Problem Detector Operator 검사를 실행하기 위한 일정을 재정의하고 즉시 검사를 실행할 수 있습니다.
vSphere Problem Detector Operator는 8시간마다 검사를 자동으로 실행합니다. 그러나 Operator가 시작되면 즉시 검사를 실행합니다. Cluster Storage Operator가 시작될 때 Operator는 Cluster Storage Operator에 의해 시작하여 vSphere에서 클러스터가 실행 중인지 확인합니다. 검사를 즉시 실행하려면 vSphere Problem Detector Operator를 0
으로 스케일링하고 1
로 돌아가 vSphere Problem Detector Operator를 다시 시작할 수 있습니다.
사전 요구 사항
-
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
프로세스
Operator를
0
으로 스케일링합니다.$ oc scale deployment/vsphere-problem-detector-operator --replicas=0 \ -n openshift-cluster-storage-operator
배포가 즉시 0으로 스케일링되지 않으면 다음 명령을 실행하여 Pod가 종료될 때까지 기다릴 수 있습니다.
$ oc wait pods -l name=vsphere-problem-detector-operator \ --for=delete --timeout=5m -n openshift-cluster-storage-operator
Operator를
1
로 다시 스케일링합니다.$ oc scale deployment/vsphere-problem-detector-operator --replicas=1 \ -n openshift-cluster-storage-operator
이전 리더 잠금을 삭제하여 Cluster Storage Operator의 새 리더 선택을 가속화합니다.
$ oc delete -n openshift-cluster-storage-operator \ cm vsphere-problem-detector-lock
검증
- vSphere Problem Detector Operator에서 생성된 이벤트 또는 로그를 표시합니다. 이벤트 또는 로그에 최근 타임 스탬프가 있는지 확인합니다.
17.10.3. vSphere Problem Detector Operator에서 이벤트 보기
vSphere Problem Detector Operator가 실행되고 구성 검사를 수행한 후 명령줄 또는 OpenShift Container Platform 웹 콘솔에서 볼 수 있는 이벤트를 생성합니다.
프로세스
명령줄을 사용하여 이벤트를 보려면 다음 명령을 실행합니다.
$ oc get event -n openshift-cluster-storage-operator \ --sort-by={.metadata.creationTimestamp}
출력 예
16m Normal Started pod/vsphere-problem-detector-operator-xxxxx Started container vsphere-problem-detector 16m Normal Created pod/vsphere-problem-detector-operator-xxxxx Created container vsphere-problem-detector 16m Normal LeaderElection configmap/vsphere-problem-detector-lock vsphere-problem-detector-operator-xxxxx became leader
-
OpenShift Container Platform 웹 콘솔을 사용하여 이벤트를 보려면 다음 프로젝트 메뉴에서 홈
이벤트로 이동하여 openshift-cluster-storage-operator
를 선택합니다.
17.10.4. vSphere Problem Detector Operator에서 로그 보기
vSphere Problem Detector Operator가 실행되고 구성 검사를 수행한 후 명령줄 또는 OpenShift Container Platform 웹 콘솔에서 볼 수 있는 로그 레코드를 생성합니다.
프로세스
명령줄을 사용하여 로그를 보려면 다음 명령을 실행합니다.
$ oc logs deployment/vsphere-problem-detector-operator \ -n openshift-cluster-storage-operator
출력 예
I0108 08:32:28.445696 1 operator.go:209] ClusterInfo passed I0108 08:32:28.451029 1 datastore.go:57] CheckStorageClasses checked 1 storage classes, 0 problems found I0108 08:32:28.451047 1 operator.go:209] CheckStorageClasses passed I0108 08:32:28.452160 1 operator.go:209] CheckDefaultDatastore passed I0108 08:32:28.480648 1 operator.go:271] CheckNodeDiskUUID:<host_name> passed I0108 08:32:28.480685 1 operator.go:271] CheckNodeProviderID:<host_name> passed
OpenShift Container Platform 웹 콘솔을 사용하여 Operator 로그를 보려면 다음 단계를 수행합니다.
-
워크로드
포드로 이동합니다. -
프로젝트 메뉴에서
openshift-cluster-storage-operator
를 선택합니다 -
vsphere-problem-detector-operator
포드에 대한 링크를 클릭합니다. - 포드 세부 정보 페이지에서 로그 탭을 클릭하여 로그를 확인합니다.
-
워크로드
17.10.5. vSphere Problem Detector Operator에서 실행한 설정 검사
다음 표에서는 vSphere Problem Detector Operator가 실행하는 설정 검사를 식별합니다. 일부 검사에서는 클러스터 설정을 확인합니다. 다른 검사에서는 클러스터에서 각 노드의 설정을 확인합니다.
이름 | 설명 |
---|---|
| vSphere 설정의 기본 데이터 저장소 이름이 동적 프로비저닝에 사용할 수 있을 만큼 짧은지 확인합니다. 이 검사에 실패하는 경우 다음을 예상할 수 있습니다.
이 검사에 실패하면 기본 데이터 저장소에 대해 이름이 더 짧은 vSphere를 재구성하십시오. |
|
기본 데이터 저장소에서 볼륨을 나열할 수 있는 권한을 확인합니다. 이 권한은 볼륨을 생성하는 데 필요합니다. Operator는 이 검사가 실패하면 OpenShift Container Platform 설치 중에 지정된 vCenter 계정에 필요한 권한을 검토하십시오. |
| 다음을 확인합니다.
|
| 최근 작업 및 데이터 저장소를 나열할 수 있는 권한을 확인합니다. |
| vSphere vCenter에서 클러스터 버전 및 UUID를 수집합니다. |
이름 | 설명 |
---|---|
|
모든 vSphere 가상 머신이 이 검사에 실패하는 경우 vSphere Red Hat 지식베이스 정보 솔루션의 VM에서 'disk.EnableUUID' 매개변수를 확인하는 방법을 참조하십시오. |
|
모든 노드가 vSphere vCenter의 $ oc get nodes -o custom-columns=NAME:.metadata.name,PROVIDER_ID:.spec.providerID,UUID:.status.nodeInfo.systemUUID 이 검사에 실패하는 경우 클러스터의 각 노드의 공급자 ID 설정에 대한 정보는 vSphere 제품 설명서를 참조하십시오. |
| 노드를 실행하는 ESXi 호스트 버전을 보고합니다. |
| 노드의 가상 머신 하드웨어 버전을 보고합니다. |
17.10.6. 스토리지 클래스 구성 검사 정보
vSphere 스토리지를 사용하는 영구 볼륨의 이름은 데이터 저장소 이름 및 클러스터 ID와 관련이 있습니다.
영구 볼륨이 생성되면 systemd
는 영구 볼륨의 마운트 장치를 생성합니다. systemd
프로세스에는 영구 볼륨에 사용되는 VDMK 파일의 정규화된 경로 길이에 대한 255자 제한이 있습니다.
정규화된 경로는 systemd
및 vSphere에 대한 명명 규칙을 기반으로 합니다. 명명 규칙은 다음 패턴을 사용합니다.
/var/lib/kubelet/plugins/kubernetes.io/vsphere-volume/mounts/[<datastore>] 00000000-0000-0000-0000-000000000000/<cluster_id>-dynamic-pvc-00000000-0000-0000-0000-000000000000.vmdk
- 명명 규칙에는 255자 제한 중 205자가 필요합니다.
- 데이터 저장소 이름과 클러스터 ID는 배포에서 결정됩니다.
-
데이터 저장소 이름과 클러스터 ID는 이전 패턴으로 대체됩니다. 그러면 특수 문자를 피하기 위해
systemd-escape
명령을 사용하여 경로가 처리됩니다. 예를 들어 하이픈 문자는 이스케이프 후 4자를 사용합니다. 추출된 값은\x2d
입니다. -
systemd-escape
를 사용하여systemd
에서 VDMK 파일에 대한 정규화된 경로에 액세스할 수 있도록 한 후 경로 길이는 255자 미만이어야 합니다.
17.10.7. vSphere Problem Detector Operator의 지표
vSphere Problem Detector Operator는 OpenShift Container Platform 모니터링 스택에서 사용할 다음 지표를 노출합니다.
이름 | 설명 |
---|---|
| 누적 수의 클러스터 수준에서 vSphere Problem Detector Operator가 수행되었는지 확인합니다. 이 카운트에는 성공 및 실패가 모두 포함됩니다. |
|
vSphere Problem Detector Operator가 수행한 실패한 클러스터 수준 검사의 수입니다. 예를 들어 |
| 특정 버전이 있는 ESXi 호스트의 수입니다. 호스트가 두 개 이상의 노드를 실행하는 경우 호스트는 한 번만 계산됩니다. |
| 누적 수의 노드 수준에서 vSphere Problem Detector Operator가 수행되었는지 확인합니다. 이 카운트에는 성공 및 실패가 모두 포함됩니다. |
|
vSphere Problem Detector Operator가 수행한 실패한 노드 수준 검사의 수입니다. 예를 들어 |
| 특정 하드웨어 버전이 있는 vSphere 노드의 수입니다. |
| vSphere vCenter Server에 대한 정보입니다. |