Débogage des mesures Block Storage for VPC
Lorsque vous tentez d'afficher les mesures Block Storage for VPC dans le tableau de bord de surveillance, les mesures ne sont pas renseignées.
Les indicateurs risquent d'échouer dans le tableau de bord pour l'une des raisons suivantes :
- Le PVC que vous voulez surveiller n'est peut-être pas monté. Les indicateurs sont uniquement renseigné pour les PVC montés sur un pod.
- Il peut s'agir d'un problème lié à la console, qui peut être vérifié en affichant manuellement les mesures de stockage dans l'interface CLI.
Vérifiez que le PVC est monté. Si le problème persiste, affichez manuellement vos indicateurs dans l'interface de ligne de commande pour déterminer si la cause est liée à des problèmes avec la console.
-
Décrivez l'objet PVC. Si la ligne Utilisé par de la sortie est remplie avec le nom d'un pod, le PVC est monté.
oc describe pvc <pvc_name>Exemple de sortie
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> -
Si le PVC n'est pas monté sur un pod, consultez les étapes pour la configuration de Block Storage for VPC et montez le PVC sur un pod. Essayez ensuite de visualiser à nouveau les mesures.
-
Si la réservation de volume persistant est montée, suivez les étapes de vérification manuelle des métriques Block Storage for VPC, puis [ouvrez un problème de support](/docs/openshift?topic=openshift-get-help. Les étapes de vérification manuelle dans l'interface de ligne de commande vous permettent d'afficher vos indicateurs, mais ne sont pas une solution pour les mesures qui ne sont pas renseignées dans la console. Toutefois, si vous êtes en mesure de vérifier manuellement vos mesures, cela indique qu'il existe une question de console pour laquelle vous devez ouvrir un problème.
Affichage manuel des mesures de stockage dans l'interface de ligne de commande
Si vos mesures de stockage ne sont pas visibles dans le tableau de bord de surveillance, vous pouvez les afficher manuellement dans l'interface de ligne de commande. Notez que la vérification manuelle de vos mesures de stockage est une solution temporaire et non une solution de surveillance permanente pour l'affichage des mesures. Après avoir effectué les étapes suivantes, si vous êtes en mesure de visualiser manuellement les métriques dans le CLI et non dans le tableau de bord, cela indique qu'il y a un problème de console pour lequel vous devez [ouvrir un problème de support] (/docs/openshift?topic=openshift-get-help.
Une fois que vous avez terminé les étapes suivantes, veillez à supprimer les ressources que vous avez créées lors du débogage.
-
Créez et déployez une configuration
clusterRolepersonnalisée. Dans cet exemple,clusterRoleest nommé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> -
Créez un compte de service. Dans cet exemple, le compte de service est nommé
test-sa.oc create sa test-sa -
Ajoutez un
clusterRoleBindingàclusterRole.oc create clusterrolebinding test-metrics-reader --clusterrole test-metrics-reader --serviceaccount=default:test-sa -
Répertoriez vos nœuds et notez le nom et l'adresse IP du noeud pour lequel vous souhaitez collecter des mesures.
oc get nodesExemple de sortie
NAME STATUS ROLES AGE VERSION 10.111.1.11 Ready <none> 1d v1.35+IKS -
Créez un fichier yaml pour déployer un pod sur le noeud. Veillez à indiquer le compte de service que vous avez créé et l'adresse IP du noeud.
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> -
Extrayez le jeton de compte de service de l'intérieur du pod.
-
Connectez-vous au pod.
kubectl exec testpod -it -- bash -
Exécutez la commande suivante pour obtenir le jeton. Notez qu'il n'y a pas de sortie.
token=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)
-
-
Lorsque vous êtes encore connecté au pod, exécutez la commande pour afficher les mesures de stockage. Veillez à indiquer l'adresse IP du noeud.
curl -k -H "authorization: bearer <token> https://<node_IP>:10250/metrics | grep kubelet_volume_stats -
Affichez les mesures dans la sortie du terminal. Il se peut que vous deviez attendre plusieurs minutes avant que les mesures ne soient affichées. Si vous ne parvenez toujours pas à afficher les métriques, [ouvrez un problème de support](/docs/openshift?topic=openshift-get-help.
-
Une fois que vous avez fini d'afficher les indicateurs et que vous avez déterminé si le problème est lié au tableau de bord ou à l'agent de mesure, supprimez les configurations et les ressources que vous avez créées dans les étapes précédentes.
N'ignorez pas cette étape.
- Quittez le pod.
exit - Supprimez le pod.
oc delete pod testpod - Supprimez le
clusterRoleBinding.oc delete clusterrolebinding test-metrics-reader - Supprimez le compte de service.
oc delete sa test-sa - Supprimez le rôle de cluster.
oc delete clusterrole test-metrics-reader