除錯 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 度量值 的步驟,然後 開立支援問題。 CLI 中手動驗證的步驟可讓您檢視度量值,但不是主控台中未移入的度量值解決方案。 不過,如果您能夠手動驗證度量值,這指出有一個主控台問題必須開啟。
在 CLI 中手動檢視儲存體度量值
如果在監視儀表板中看不到您的儲存空間度量值,您可以在 CLI 中手動檢視它們。 請注意,手動驗證儲存體度量值是暫時的暫行解決方法,不是用於檢視度量值的永久監視解決方案。 完成下列步驟之後,如果您能夠在 CLI 而非儀表板中手動檢視度量值,這指出有一個主控台問題,您必須 開啟支援問題。
完成下列步驟之後,請務必移除您在除錯時所建立的資源。
-
建立並部署自訂
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 內擷取服務帳戶記號。
-
登入 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 -
檢視終端機輸出中的度量值。 您可能需要等待幾分鐘才能輸出指標。 如果您仍然無法檢視度量值,請 開啟支援問題。
-
完成檢視度量值並判斷問題是否與儀表板或度量值代理程式相關之後,請刪除您在先前步驟中建立的配置和資源。
請勿跳過此步驟。
- 結束 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