Debugging für Block Storage for VPC-Metriken durchführen
Wenn Sie versuchen, Block Storage for VPC-Metriken im Überwachungsdashboard anzuzeigen, werden die Metriken nicht gefüllt.
Das Füllen von Metriken im Dashboard kann aus einem der folgenden Gründe fehlschlagen:
- Der PVC, den Sie überwachen wollen, ist möglicherweise nicht montiert. Metriken werden nur für PVCs gefüllt, die an einen Pod angehängt sind.
- Möglicherweise liegt ein konsolenbezogenes Problem vor, das durch manuelles Anzeigen der Speichermetriken in der CLI überprüft werden kann.
Überprüfen Sie, ob der PVC angehängt ist. Wenn das Problem bestehen bleibt, zeigen Sie Ihre Metriken manuell in der Befehlszeilenschnittstelle an, um zu ermitteln, ob die Ursache auf Probleme mit der Konsole zurückzuführen ist.
-
Beschreiben Sie die PVC. Wenn die Zeile Verwendet von der Ausgabe mit dem Namen eines Pods gefüllt wird, wird der PVC angehängt.
oc describe pvc <pvc_name>Beispielausgabe
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> -
Wenn der PVC nicht an einen Pod angehängt wird, überprüfen Sie die Schritte für Block Storage for VPC einrichten und hängen Sie den PVC an einen Pod an. Versuchen Sie anschließend erneut, die Metriken anzuzeigen.
-
Wenn der PVC angehängt ist, führen Sie die Schritte zum manuellen Überprüfen der Block Storage for VPC-Metriken aus und [öffnen Sie dann ein Supportproblem](/docs/openshift?topic=openshift-get-help. Die Schritte für die manuelle Überprüfung in der Befehlszeilenschnittstelle ermöglichen es Ihnen, Ihre Metriken anzuzeigen, sind jedoch keine Lösung für Metriken, die in der Konsole nicht gefüllt werden. Wenn Sie Ihre Metriken jedoch manuell überprüfen können, deutet dies darauf hin, dass ein Problem mit der Konsole vorliegt, bei dem Sie ein Problem öffnen müssen.
Speichermetriken in der Befehlszeilenschnittstelle manuell anzeigen
Wenn Ihre Speichermetriken im Monitoring-Dashboard nicht sichtbar sind, können Sie sie manuell in der Befehlszeilenschnittstelle anzeigen. Beachten Sie, dass die manuelle Überprüfung Ihrer Speichermetriken eine vorübergehende Problemumgehung und keine permanente Überwachungslösung zum Anzeigen von Metriken ist. Wenn Sie nach Abschluss der folgenden Schritte die Metriken manuell in der CLI und nicht im Dashboard anzeigen können, deutet dies darauf hin, dass ein Konsolenproblem vorliegt, für das Sie [eine Supportanfrage stellen] müssen (/docs/openshift?topic=openshift-get-help.
Nachdem Sie die folgenden Schritte ausgeführt haben, müssen Sie die Ressourcen entfernen, die Sie beim Debugging erstellt haben.
-
Erstellen und implementieren Sie eine angepasste
clusterRole-Konfiguration. In diesem Beispiel hatclusterRoleden Namentest-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> -
Erstellen Sie ein Servicekonto. In diesem Beispiel hat der Service-Account den Namen
test-sa.oc create sa test-sa -
Fügen Sie
clusterRoleBindingzumclusterRolehinzu.oc create clusterrolebinding test-metrics-reader --clusterrole test-metrics-reader --serviceaccount=default:test-sa -
Führen Sie Ihre Knoten auf und notieren Sie den Namen und die IP des Knotens, für den Sie Metriken erfassen möchten.
oc get nodesBeispielausgabe
NAME STATUS ROLES AGE VERSION 10.111.1.11 Ready <none> 1d v1.35+IKS -
Erstellen Sie eine YAML-Datei, um einen Pod auf dem Knoten zu implementieren. Stellen Sie sicher, dass Sie das von Ihnen erstellte Servicekonto und die IP-Adresse des Knotens angeben.
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> -
Rufen Sie das Servicekontotoken aus dem Pod ab.
-
Melden Sie sich beim Pod an.
kubectl exec testpod -it -- bash -
Führen Sie den folgenden Befehl aus, um das Token abzurufen. Beachten Sie, dass es keine Ausgabe gibt.
token=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)
-
-
Führen Sie den Befehl zum Anzeigen der Speichermetriken aus, während Sie noch am Pod angemeldet sind. Stellen Sie sicher, dass Sie die IP-Adresse des Knotens angeben.
curl -k -H "authorization: bearer <token> https://<node_IP>:10250/metrics | grep kubelet_volume_stats -
Zeigen Sie die Metriken in der Terminalausgabe an. Es kann sein, dass Sie einige Minuten warten müssen, bis die Metriken ausgegeben werden. Wenn Sie weiterhin keine Metriken anzeigen können, [öffnen Sie ein Support-Problem](/docs/openshift?topic=openshift-get-help.
-
Nachdem Sie die Metriken angezeigt und festgestellt haben, ob sich das Problem auf das Dashboard oder den Metrikagenten bezieht, löschen Sie die Konfigurationen und Ressourcen, die Sie in den vorherigen Schritten erstellt haben.
Überspringen Sie diesen Schritt nicht.
- Verlassen Sie den Pod.
exit - Löschen Sie den Pod.
oc delete pod testpod - Löschen Sie
clusterRoleBinding.oc delete clusterrolebinding test-metrics-reader - Löschen Sie das Servicekonto.
oc delete sa test-sa - Löschen Sie die Clusterrolle.
oc delete clusterrole test-metrics-reader