OpenShift Data Foundation ストレージクラスタのステータスが「 Failed to reconcile 」のまま変わらないのはなぜですか?
仮想プライベートクラウド クラシック・インフラストラクチャー
OpenShift Data Foundation ストレージ クラスターを作成し、 oc describe storagecluster <storage-cluster-name> を実行すると、PVC 名が Kubernetes の文字数制限を超えていることを示すエラーが表示されます。
デバイスセットとは、 OpenShift Data Foundation がクラスタ全体にデータを分散させるために使用する OSD( Object Storage デーモン)のグループのことです。 ストレージクラスターを作成すると、 OpenShift Data Foundation はこれらのデバイスセットに対して PVC を自動的に作成します。
describe コマンドを実行すると、次のようなエラーが表示されます。
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 名は 63 文字未満にする必要があります。 マルチゾーンのVPCクラスターを使用しており、 ibmc-vpc-block-metro-retain-10iops-tier のような retain ストレージクラスを使用して OpenShift Data Foundationストレージクラスターを作成した場合、対応するデバイスセットPVCには、63文字の制限を超える名前が割り当てられます。
生成されるPVCの名前が Kubernetes の文字数制限内に収まるよう、より短い名前を持つカスタムストレージクラスを作成してください。
-
ODF ストレージ・クラスターで使用するストレージ・クラスの YAML 構成を取得し、ローカル・マシンのファイルに保存します。
oc get sc ibmc-vpc-block-metro-retain-10iops-tier -o yaml -
ストレージ・クラスの名前を編集します。 OpenShift Data FoundationのストレージクラスターデバイスセットIDが、 Kubernetes の制限である63文字以内に収まるようにするため、ストレージクラスの名前は30文字未満にしてください。 クラスター内にストレージ・クラスを作成します。
oc create -f <custom-storage-class.yaml> -
OpenShift Data Foundationのデプロイメント をクリーンアップしてください。
-
作成したストレージクラスを使用する「 OpenShift Data Foundation」のデプロイメントを作成します。