Debug delle metriche Block Storage for VPC
Quando si cerca di visualizzare le metriche di Block Storage for VPC nel dashboard di monitoraggio, le metriche non vengono visualizzate.
Le metriche potrebbero non essere popolate nel dashboard per uno dei seguenti motivi:
- La PVC che si desidera monitorare potrebbe non essere montata. Le metriche vengono popolate solo per i PVC montati su un pod.
- Potrebbe esserci un problema correlato alla console, che può essere verificato visualizzando manualmente le metriche di archiviazione nella CLI.
Verificare che il PVC sia montato. Se il problema persiste, visualizza manualmente le tue metriche nella CLI per determinare se la causa è correlata ai problemi con la console.
-
Descrivi il PVC. Se la riga Utilizzata da dell'output è popolata con il nome di un pod, la PVC viene montata.
oc describe pvc <pvc_name>Output di esempio
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> -
Se la PVC non è montata in un pod, esamina la procedura per configurare Block Storage for VPC e monta la PVC in un pod. Quindi provare a visualizzare nuovamente le metriche.
-
Se la PVC è montata, attieniti alla procedura per la verifica manuale delle metriche Block Storage for VPC, quindi [apri un problema di supporto](/docs/openshift?topic=openshift - get - help. I passi per la verifica manuale nella CLI ti consentono di visualizzare le tue metriche, ma non sono una soluzione per le metriche che non popolano la console. Tuttavia, se si è in grado di verificare manualmente le metriche, ciò indica che esiste un problema di console per cui è necessario aprire un problema.
Visualizzazione manuale delle metriche di archiviazione nella CLI
Se le tue metriche di archiviazione non sono visibili nel dashboard di monitoraggio, puoi visualizzarle manualmente nella CLI. Si noti che la verifica manuale delle metriche di archiviazione è una soluzione temporanea e non una soluzione di monitoraggio permanente per la visualizzazione delle metriche. Dopo aver completato la seguente procedura, se è possibile visualizzare manualmente le metriche nella CLI e non nel dashboard, ciò indica che si è verificato un problema della console per cui è necessario [aprire un problema di supporto](/docs/openshift?topic=openshift - get - help.
Dopo aver completato la seguente procedura, assicurarsi di rimuovere le risorse create durante il debug.
-
Creare e distribuire una configurazione
clusterRolepersonalizzata. In questo esempio,clusterRoleè denominatotest-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> -
Crea un account di servizio. In questo esempio, l'account di servizio viene denominato
test-sa.oc create sa test-sa -
Aggiungere un
clusterRoleBindingaclusterRole.oc create clusterrolebinding test-metrics-reader --clusterrole test-metrics-reader --serviceaccount=default:test-sa -
Elenca i tuoi nodi e prendi nota del nome e dell'IP del nodo per cui desideri raccogliere le metriche.
oc get nodesOutput di esempio
NAME STATUS ROLES AGE VERSION 10.111.1.11 Ready <none> 1d v1.35+IKS -
Crea un file yaml per distribuire un pod sul nodo. Assicurati di specificare l'account di servizio che hai creato e l'indirizzo IP del nodo.
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> -
Richiama il token dell'account di servizi dall'interno del pod.
-
Accedere al pod.
kubectl exec testpod -it -- bash -
Eseguite il seguente comando per ottenere il token. Notare che non è presente alcun output.
token=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)
-
-
Mentre sei ancora collegato al pod, esegui il comando per visualizzare la metrica di archiviazione. Accertarsi di specificare l'indirizzo IP del nodo.
curl -k -H "authorization: bearer <token> https://<node_IP>:10250/metrics | grep kubelet_volume_stats -
Visualizzare le metriche nell'output del terminale. Potrebbe essere necessario attendere diversi minuti per l'output delle metriche. Se non riesci ancora a visualizzare le metriche, [apri un problema di assistenza](/docs/openshift?topic=openshift - get - help.
-
Dopo aver terminato la visualizzazione delle metriche e aver determinato se il problema è correlato al dashboard o all'agent delle metriche, eliminare le configurazioni e le risorse create nei passi precedenti.
Non saltare questo passo.
- Esci dal pod.
exit - Elimina il pod.
oc delete pod testpod - Eliminare il
clusterRoleBinding.oc delete clusterrolebinding test-metrics-reader - Eliminare l'account di servizio.
oc delete sa test-sa - Eliminare il ruolo cluster.
oc delete clusterrole test-metrics-reader