Depurando métricas do Block Storage for VPC
Quando você tenta visualizar métricas do Block Storage for VPC no painel de monitoramento, as métricas não são preenchidas.
O preenchimento das métricas pode falhar no painel por uma das razões a seguir:
- É possível que o PVC que você deseja monitorar não esteja instalado. As métricas são preenchidas somente para PVCs montadas em um pod.
- Pode haver um problema relacionado ao console, o que pode ser verificado consultando manualmente as métricas de armazenamento na CLI.
Verifique se a PVC está montada. Se o problema persistir, visualize manualmente as métricas na CLI para determinar se a causa está relacionada a problemas com o console.
-
Descreva o PVC. Se a linha Usado por da saída for preenchida com o nome de um pod, a PVC será montada.
kubectl describe pvc <pvc_name>Exemplo de saída
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 a PVC não for montada em um pod, revise as etapas para configurar o Block Storage for VPC e monte a PVC em um pod. Em seguida, tente visualizar as métricas novamente.
-
Se o PVC estiver montado, siga as etapas para verificando manualmente as métricas do Block Storage for VPC then [abrir um problema de suporte](/docs/containers?topic=containers-get-help. As etapas para verificação manual na CLI permitem visualizar as métricas, mas não são uma solução para métricas que não são preenchidas no console. No entanto, se você conseguir verificar manualmente as métricas, isso indica que há um problema de console para o qual deve ser aberto um problema.
Visualizando manualmente as métricas de armazenamento na CLI
Se as métricas de armazenamento não estiverem visíveis no painel de monitoramento, será possível visualizar manualmente na CLI. Note que a verificação manual das métricas de armazenamento é uma solução alternativa provisória e não uma solução de monitoramento permanente para visualização de métricas. Após concluir as etapas a seguir, se você conseguir visualizar manualmente as métricas na CLI, mas não no painel, isso indica que há um problema no console, pelo qual você deve [abrir um ticket de suporte] (/docs/containers?topic=containers-get-help.
Depois de concluir as etapas a seguir, certifique-se de remover os recursos criados durante a depuração.
-
Crie e implemente uma configuração
clusterRolecustomizada. Neste exemplo, oclusterRoleé denominadotest-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: - getkubectl apply -f <file_name> -
Crie uma conta do serviço. Neste exemplo, a conta do serviço é denominada
test-sa.kubectl create sa test-sa -
Inclua um
clusterRoleBindingnoclusterRole.kubectl create clusterrolebinding test-metrics-reader --clusterrole test-metrics-reader --serviceaccount=default:test-sa -
Liste os nós e observe o nome e o IP do nó para o qual você deseja reunir métricas.
kubectl get nodesExemplo de saída
NAME STATUS ROLES AGE VERSION 10.111.1.11 Ready <none> 1d v1.36+IKS -
Crie um arquivo yaml para implementar um pod no nó. Certifique-se de especificar a conta do serviço criada e o endereço IP do nó.
apiVersion: v1 kind: Pod metadata: name: testpod spec: nodeName: 10.111.1.111 containers: - image: nginx name: nginx serviceAccountName: test-sakubectl apply -f <file_name> -
Recupere o token da conta do serviço de dentro do pod.
- Efetue login no pod.
kubectl exec testpod -it -- bash ``` 1. Execute o comando a seguir para obter o token. Note que não há saída. ```sh {: pre} token=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token) ``` -
Enquanto você ainda estiver com login efetuado no pod, execute o comando para visualizar as métricas de armazenamento. Certifique-se de especificar o endereço IP do nó.
curl -k -H "authorization: bearer <token> https://<node_IP>:10250/metrics | grep kubelet_volume_stats -
Visualize as métricas na saída do terminal. Talvez você precise esperar alguns minutos até que as métricas sejam exibidas. Se ainda não for possível visualizar métricas, [abra um problema de suporte](/docs/containers?topic=containers-get-help.
-
Depois de concluir a visualização das métricas e determinar se o problema está relacionado ao painel ou ao agente de métricas, exclua as configurações e os recursos criados nas etapas anteriores.
Não ignore esta etapa.
- Saia do pod.
exit - Exclua o pod.
kubectl delete pod testpod - Exclua o
clusterRoleBinding.kubectl delete clusterrolebinding test-metrics-reader - Exclua a conta do serviço.
kubectl delete sa test-sa - Exclua a função de cluster.
kubectl delete clusterrole test-metrics-reader