Block Storage for VPC 메트릭 디버깅
모니터링 대시보드에서 Block Storage for VPC 메트릭을 보려고 하면 메트릭이 채워지지 않습니다.
다음 이유 중 하나로 인해 대시보드에서 메트릭을 채우는 데 실패할 수 있습니다.
- 모니터하려는 PVC가 마운트되지 않았을 수 있습니다. 메트릭은 팟 (Pod) 에 마운트된 PVC에 대해서만 채워집니다.
- CLI에서 스토리지 지표를 수동으로 확인하여 확인할 수 있는 콘솔 관련 문제가 있을 수 있습니다.
PVC가 장착되었는지 확인합니다. 문제가 지속되면 CLI에서 메트릭을 수동으로 보고 원인이 콘솔 문제와 관련되어 있는지 판별하십시오.
-
PVC를 설명하십시오. 출력의 사용자 행이 팟 (Pod) 의 이름으로 채워지면 PVC가 마운트됩니다.
oc describe pvc <pvc_name>출력 예
Name: my-pvc Namespace: default StorageClass: ibmc-vpc-block-5iops-tier Status: Bound Volume: pvc-a11a11a1-111a-111a-a1a1-aaa111aa1a1a Labels: <none> Annotations: pv.kubernetes.io/bind-completed: yes pv.kubernetes.io/bound-by-controller: yes volume.beta.kubernetes.io/storage-provisioner: vpc.block.csi.ibm.io Finalizers: [kubernetes.io/pvc-protection] Capacity: 10Gi Access Modes: RWO VolumeMode: Filesystem Used By: my-pod-11a1a1a1a1-1a11a Events: <none> -
PVC가 팟 (Pod) 에 마운트되지 않은 경우 Block Storage for VPC설정 에 대한 단계를 검토하고 PVC를 팟 (Pod) 에 마운트하십시오. 그런 다음 메트릭을 다시 보십시오.
-
PVC가 마운트된 경우 Block Storage for VPC 메트릭을 수동으로 확인 한 후 [지원 문제 열기](/docs/openshift?topic=openshift - get-help. CLI에서 수동 확인 단계를 수행하면 메트릭을 볼 수 있지만 콘솔에서 채워지지 않는 메트릭에 대한 솔루션은 아닙니다. 그러나 메트릭을 수동으로 확인할 수 있는 경우 이는 문제를 열어야 하는 콘솔 문제가 있음을 나타냅니다.
CLI에서 수동으로 스토리지 지표 보기
스토리지 지표가 모니터링 대시보드에 표시되지 않으면 CLI에서 수동으로 볼 수 있습니다. 스토리지 메트릭의 수동 검증은 임시 해결책이며 메트릭을 보기 위한 영구 모니터링 솔루션이 아닙니다. 다음 단계를 완료한 후 대시보드가 아닌 CLI에서 메트릭을 수동으로 볼 수 있는 경우 이는 [지원 문제를 열어야]하는 콘솔 문제가 있음을 나타냅니다 (/docs/openshift?topic=openshift - get-help).
다음 단계를 완료한 후 디버깅 중에 작성한 자원을 제거해야 합니다.
-
사용자 정의
clusterRole구성을 작성하고 배치하십시오. 이 예제에서clusterRole의 이름은test-metrics-reader입니다.apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: test-metrics-reader rules: - nonResourceURLs: - "/metrics" verbs: - get - apiGroups: - "" resources: - nodes/metrics verbs: - getoc apply -f <file_name> -
서비스 계정을 작성하십시오. 이 예제에서 서비스 계정의 이름은
test-sa입니다.oc create sa test-sa -
clusterRoleBinding를clusterRole에 추가하십시오.oc create clusterrolebinding test-metrics-reader --clusterrole test-metrics-reader --serviceaccount=default:test-sa -
노드를 나열하고 지표를 수집할 노드의 이름 및 IP를 기록해 두십시오.
oc get nodes출력 예
NAME STATUS ROLES AGE VERSION 10.111.1.11 Ready <none> 1d v1.35+IKS -
yaml 파일을 작성하여 노드에 팟 (Pod) 을 배치하십시오. 작성한 서비스 계정 및 노드 IP 주소를 지정해야 합니다.
apiVersion: v1 kind: Pod metadata: name: testpod spec: nodeName: 10.111.1.111 containers: - image: nginx name: nginx serviceAccountName: test-saoc apply -f <file_name> -
포드 내에서 서비스 계정 토큰을 검색합니다.
-
팟(Pod)에 로그인하십시오.
kubectl exec testpod -it -- bash -
다음 명령을 실행하여 토큰을 가져옵니다. 출력이 없습니다.
token=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)
-
-
팟 (Pod) 에 계속 로그인되어 있는 동안 명령을 실행하여 스토리지 메트릭을 보십시오. 노드 IP 주소를 지정해야 합니다.
curl -k -H "authorization: bearer <token> https://<node_IP>:10250/metrics | grep kubelet_volume_stats -
터미널 출력에서 메트릭을 보십시오. 메트릭이 출력될 때까지 몇 분 정도 기다려야 할 수 있습니다. 여전히 메트릭을 볼 수 없는 경우 [지원 문제를 여십시오](/docs/openshift?topic=openshift - get-help.
-
메트릭 보기를 완료하고 문제가 대시보드 또는 메트릭 에이전트와 관련되어 있는지 여부를 판별한 후 이전 단계에서 작성한 구성 및 자원을 삭제하십시오.
이 단계를 건너뛰지 마십시오.
- 팟(Pod)을 종료하십시오.
exit - 팟(Pod)을 삭제하십시오.
oc delete pod testpod clusterRoleBinding을(를) 삭제하십시오.oc delete clusterrolebinding test-metrics-reader- 서비스 계정을 삭제하십시오.
oc delete sa test-sa - 클러스터 역할을 삭제하십시오.
oc delete clusterrole test-metrics-reader