Wie man

Führen Sie die Ceph-Toolbox für Rook auf Kubernetes / OpenShift aus

Führen Sie die Ceph-Toolbox für Rook auf Kubernetes / OpenShift aus

Wie kann ich Ceph-Befehle auf einem Rook Ceph-Cluster ausführen, der in Kubernetes / OpenShift ausgeführt wird??. Wenn Sie Ceph auf Kubernetes mit rook verwenden, benötigen Sie eine Zugriffsmöglichkeit ceph Befehlszeilentool zur Behebung von Problemen, wenn sie auftreten. Rook ist CNCF-zertifiziert, produktionsbereit, Open-Source Cloud-native Speicherlösung für Kubernetes. Es erleichtert die Verwaltung für Datei-, Block- und Objektspeicher.

Das Rook-ceph-Toolbox ist ein Pod mit gängigen Tools zum Debuggen und Testen von Ceph. Sie können Ceph direkt konfigurieren, wenn Sie Rook auf Kubernetes ausführen. Dies wird erreicht, indem die CLI von Ceph aus dem Rook-Ceph-Toolbox-Pod verwendet wird. Im Toolbox-Container können Sie Ceph-Konfigurationen ändern, Manager-Module aktivieren, Benutzer und Pools erstellen und vieles mehr.

Ceph Toolbox auf Kubernetes ausführen

Die Rook-Toolbox kann als Bereitstellung in einem Kubernetes-Cluster ausgeführt werden. Nachdem Sie sichergestellt haben, dass Sie über einen laufenden Kubernetes-Cluster mit bereitgestelltem Rook verfügen, starten Sie die rook-ceph-tools pod.

Toolbox-Bereitstellungsdatei erstellen:

$ vim-Toolbox.jaml

Fügen Sie der Datei die folgenden Daten hinzu:

apiVersion: apps/v1 Art: Bereitstellungsmetadaten: Name: rook-ceph-tools-Namespace: rook-ceph-Labels: app: rook-ceph-tools-Spezifikation: Repliken: 1 Selektor: matchLabels: app: rook-ceph-tools-Vorlage: Metadaten : Labels: app: rook-ceph-tools spec: dnsPolicy: ClusterFirstWithHostNet container: - name: rook-ceph-tools image: rook/ceph:master Befehl: ["/tini"] args: ["-g", "- -", "/usr/local/bin/toolbox.sh"] imagePullPolicy: IfNotPresent env: - name: ROOK_ADMIN_SECRET valueFrom: secretKeyRef: name: rook-ceph-mon key: admin-secret volumeMounts: - mountPath: /etc/ceph name: ceph-config - name: mon-endpoint-volume mountPath: /etc/rook volume: - name: mon-endpoint-volume configMap: name: rook-ceph-mon-endpoints items: - key: data path: mon-endpoints - name: ceph-config emptyDir:  tolerations: - Schlüssel: "Knoten.Kubernetes.io/unreachable"-Operator: "Exists"-Effekt: "NoExecute"-TolerationSeconds: 5

Nachdem Sie die Datei gespeichert haben, starten Sie den rook-ceph-tools-Pod:

kubectl create -f Toolbox.jaml

Warten Sie, bis der Toolbox-Pod seinen Container heruntergeladen hat und in den Ausführungszustand gelangt:

kubectl -n rook-ceph pod abrufen -l "app=rook-ceph-tools"

Sobald der rook-ceph-tools-Pod ausgeführt wird, können Sie sich mit ihm verbinden mit:

kubectl -n rook-ceph exec -it $(kubectl -n rook-ceph get pod -l "app=rook-ceph-tools" -o jsonpath=".artikel[0].Metadaten.name") bash

Wenn Sie mit der Toolbox fertig sind, können Sie die Bereitstellung entfernen:

kubectl -n rook-ceph delete Bereitstellung rook-ceph-tools

Ausführen von Ceph Toolbox auf OpenShift Container Storage (OCS) v4.2+

Wenn Sie OpenShift Container Storage ausführen, der Rook . verwendet. Aktivieren Sie zuerst Ceph Tools, indem Sie den folgenden Befehl ausführen.

oc patch OCSInitialization ocsinit -n openshift-storage --type json --patch '[ "op": "replace", "path": "/spec/enableCephTools", "value": true ]'

Erstellen Sie eine neue Datei:

$ vi-Toolbox.jaml

Fügen Sie der erstellten Datei die folgenden Inhalte hinzu.

apiVersion: apps/v1 Art: Bereitstellungsmetadaten: Name: rook-ceph-tools-Namespace: openshift-storage-Labels: app: rook-ceph-tools-Spezifikation: Repliken: 1 Selektor: matchLabels: app: rook-ceph-tools-Vorlage: Metadaten : Labels: App: rook-ceph-tools Spezifikation: dnsPolicy: ClusterFirstWithHostNet Container: - Name: rook-ceph-tools Image: Registry image.roter Hut.io/ocs4/rook-ceph-rhel8-operator:neuester Befehl: ["/tini"] Argumente: ["-g", "--", "/usr/local/bin/toolbox.sh"] imagePullPolicy: IfNotPresent env: - name: ROOK_ADMIN_SECRET valueFrom: secretKeyRef: name: rook-ceph-mon key: admin-secret securityContext: privilegiert: true volumeMounts: - mountPath: /dev name: dev - mountPath: /sys/bus name: sysbus - mountPath: /lib/modules name: libmodules - name: mon-endpoint-volume mountPath: /etc/rook # wenn hostNetwork: false, hängt der Befehl "rbd map", siehe https://github.com/rook/rook/issues/2021 hostNetwork: true volume: - name: dev hostPath: path: /dev - name: sysbus hostPath: path: /sys/bus - name: libmodules hostPath: path: /lib/modules - name : mon-endpoint-volume configMap: name: rook-ceph-mon-endpoints items: - key: data path: mon-endpoints

Starten Sie den Rook-ceph-Toolbox-Pod nach

oc create -f Toolbox.jaml

Warten Sie, bis der Toolbox-Pod seinen Container heruntergeladen hat und in den Ausführungszustand gelangt:

$ oc -n openshift-storage pod abrufen -l "app=rook-ceph-tools" NAME BEREIT STATUS NEU STARTET ALTER rook-ceph-tools-86cbb6dddb-vnht9 1/1 Läuft 0 6m49s 

Sobald der rook-ceph-Toolbox-Pod ausgeführt wird, können Sie eine Verbindung herstellen mit:

oc -n openshift-storage exec -it $(oc -n openshift-storage pod abrufen -l "app=rook-ceph-tools" -o jsonpath=".artikel[0].Metadaten.name") bash

Allgemeine Ceph-Befehle zur Fehlerbehebung

Hier sind einige gängige Befehle zur Fehlerbehebung in einem Ceph-Cluster:

Alle Befehle können im Toolbox-Container ausgeführt werden. Siehe Beispiele unten.

# ceph -s Cluster: id: 58a41eac-5550-42a2-b7b2-b97c7909a833 Zustand: HEALTH_WARN 1 OSd ausgefallen 1 Host (1 OSds) ausgefallen 1 Rack (1 OSds) ausgefallen Verminderte Datenredundanz: 91080/273240 Objekte beeinträchtigt (33 .).333%), 80 pgs degradiert, 104 pgs unterdimensionierte Dienste: mon: 3 Daemons, Quorum a,b,c (2h alt) mgr: a(aktiv, seit 2h) mds: ocs-storagecluster-cephfilesystem:1 0=ocs -storagecluster-cephfilesystem-a=up:active 1 up:standby-replay osd: 3 osds: 2 up (seit 2h), 3 in (seit 4w) rgw: 1 daemon aktiv (ocs.Speichercluster.cephobjectstore.a) Aufgabenstatus: Daten: Pools: 10 Pools, 104 pgs-Objekte: 91.08k Objekte, 335 GiB Nutzung: 670 GiB genutzt, 3.3 TiB / 4.0 TiB-Availability-Seiten: 91080/273240 Objekte degradiert (33.333%) 80 aktiv+unterdimensioniert+degradiert 24 aktiv+unterdimensioniert io: Kunde: 7.7 KiB/s rd, 24 MiB/s wr, 3 op/s rd, 236 op/s wr

OSD-Baum überprüfen.

# Ceph OSD-Baum-ID KLASSE GEWICHT TYP NAME STATUS WIEDERGEWICHT PRI-AFF -1 5.99698 Root-Standard -4 1.99899 Rack-Rack0 -3 1.99899 host ocs-deviceset-0-0-prf65 0 ssd 1.99899 OSD.0 runter 1.00000 1.00000 -12 1.99899 Rack-Rack1 -11 1.99899 host ocs-deviceset-1-0-mfgmx 2 ssd 1.99899 OSD.2 hoch 1.00000 1.00000 -8 1.99899 Rack-Rack2 -7 1.99899 host ocs-deviceset-2-0-b96pk 1 ssd 1.99899 OSD.1 nach oben 1.00000 1.00000 

Holen Sie sich eine Liste der Pools.

# ceph osd lspools 1 ocs-storagecluster-cephblockpool 2 ocs-storagecluster-cephobjectstore.rgw.control 3 ocs-storagecluster-cephfilesystem-metadata 4 ocs-storagecluster-cephobjectstore.rgw.meta 5 ocs-storagecluster-cephfilesystem-data0 6 ocs-storagecluster-cephobjectstore.rgw.log 7 .rgw.root 8 ocs-storagecluster-cephobjectstore.rgw.Eimer.Index 9 ocs-storagecluster-cephobjectstore.rgw.Eimer.non-ec 10 ocs-storagecluster-cephobjectstore.rgw.Eimer.Daten

OpenShift-Kurse:

Praktisches OpenShift für Entwickler - Neuer Kurs 2021

Ultimate Openshift (2021) Bootcamp von School of Devops

Referenz:

Mehr zu Ceph und Kubernetes:

Erstellen Sie einen Pool im Ceph Storage Cluster

Ceph Persistent Storage für Kubernetes mit Cephfs

Persistenter Speicher für Kubernetes mit Ceph RBD

So konfigurieren Sie AWS S3 CLI für Ceph Object Gateway-Speicher

Kann der Stift die Notwendigkeit einer Maus vollständig beseitigen??
Jeder ab einem bestimmten Alter kann sich daran erinnern, wie das Leben vor der Maus war. Wenn Sie sich an Ihren Computer setzten, wurde Ihre gesamte ...
EIN.ich. Wird als Behebung des Fake-News-Problems angesehen
Wir wurden in letzter Zeit von Fake News belagert. Es ist überall um uns herum. Es verursacht Probleme, da es sich gut als echte Nachrichten maskiert ...
Herzkrankheiten können mit dem Google-Algorithmus bestimmt werden
Sicher, Google hat einen schlechten Ruf für die Art und Weise, wie es Menschen verfolgt, aber dieses Mal verwenden sie ihre Daten auf eine gute und ge...