Warum bleibt der Status meines „ OpenShift “ Data Foundation-Speicherclusters bei „ Failed to reconcile “ stehen?
Virtual Private Cloud Classic-Infrastruktur
Wenn Sie Ihren „ OpenShift “-Data-Foundation-Speichercluster erstellen und den Befehl „ oc describe storagecluster <storage-cluster-name> “ ausführen, wird eine Fehlermeldung angezeigt, die darauf hinweist, dass die PVC-Namen
die Zeichenbegrenzung von Kubernetes überschreiten.
Gerätesätze sind Gruppen von OSDs ( Object Storage-Daemons), die von der „ OpenShift Data Foundation“ zur Verteilung von Daten über Ihren Cluster verwendet werden. Wenn Sie einen Speichercluster erstellen, legt „ OpenShift Data Foundation“ automatisch PVCs für diese Gerätesätze an.
Wenn Sie den Befehl „describe“ ausführen, wird eine Fehlermeldung angezeigt, die dem folgenden Beispiel ähnelt.
ceph-cluster-controller: failed to reconcile. failed to reconcile cluster "ocs-storagecluster-cephcluster": failed to configure local ceph cluster: failed to create cluster: failed to start ceph osds: 3 failures encountered while running osds in namespace openshift-storage: failed to create "provision" job for node "ocs-deviceset-ibmc-vpc-block-metro-retain-10iops-tier-0-datnv6k". Job.batch "rook-ceph-osd-prepare-aaa000aaa111a1a0e10ba1a11aa1a119" is invalid: [spec.template.spec.volumes[8].name: Invalid value: "ocs-deviceset-ibmc-vpc-block-metro-retain-10iops-tier-0-aaaaa1b-bridge": must be no more than 63 characters
Kubernetes-PVC-Namen müssen kürzer als 63 Zeichen sein. Wenn Sie über einen VPC-Cluster mit mehreren Zonen verfügen und Ihren „ OpenShift “-Data-Foundation-Speichercluster mithilfe einer „ retain “-Speicherklasse wie ibmc-vpc-block-metro-retain-10iops-tier erstellen, werden den entsprechenden PVCs des Gerätesatzes Namen zugewiesen, die die Begrenzung von 63 Zeichen überschreiten.
Erstellen Sie eine benutzerdefinierte Speicherklasse mit einem kürzeren Namen, um sicherzustellen, dass die generierten PVC-Namen die Zeichenbegrenzung von Kubernetes nicht überschreiten.
-
Beschaffen Sie sich die YAML-Konfiguration der Speicherklasse, die Sie in Ihrem ODF-Speichercluster verwenden möchten, und speichern Sie sie in einer Datei auf Ihrem lokalen Rechner.
oc get sc ibmc-vpc-block-metro-retain-10iops-tier -o yaml -
Bearbeiten Sie den Namen der Speicherklasse. Stellen Sie sicher, dass der Name Ihrer Speicherklasse weniger als 30 Zeichen lang ist, damit die IDs der Speichercuster-Geräte in der „ OpenShift Data Foundation“ die Grenze von 63 Zeichen Kubernetes nicht überschreiten. Erstellen Sie die Speicherklasse in Ihrem Cluster.
oc create -f <custom-storage-class.yaml> -
Bereinigen Sie Ihre „ OpenShift Data Foundation“-Bereitstellung.
-
Erstellen Sie eine „ OpenShift “-Data-Foundation-Bereitstellung, die die von Ihnen erstellte Speicherklasse verwendet.