Por que o status do meu cluster de armazenamento do Data Foundation do OpenShift permanece em “ Failed to reconcile ”?
Nuvem Privada Virtual Infraestrutura clássica
Ao criar seu cluster de armazenamento do Data Foundation do OpenShift e executar o comando oc describe storagecluster
Conjuntos de dispositivos são grupos de OSDs ( Object Storage Daemons) que o OpenShift Data Foundation utiliza para distribuir dados pelo cluster. Ao criar um cluster de armazenamento, o OpenShift Data Foundation cria automaticamente PVCs para esses conjuntos de dispositivos.
Ao executar o comando describe, você verá um erro semelhante ao do exemplo a seguir.
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
Os nomes de PVC do Kubernetes devem ter menos de 63 caracteres. Se você tiver um cluster VPC multizona e criar seu cluster de armazenamento do OpenShift Data Foundation usando uma classe de armazenamento do tipo “ retain ”, como ibmc-vpc-block-metro-retain-10iops-tier,
os PVCs do conjunto de dispositivos correspondente receberão nomes que excedem o limite de 63 caracteres.
Crie uma classe de armazenamento personalizada com um nome mais curto para garantir que os nomes dos PVCs gerados não ultrapassem o limite de caracteres Kubernetes.
-
Obtenha a configuração YAML da classe de armazenamento que você deseja utilizar em seu cluster de armazenamento do ODF e salve-a em um arquivo em sua máquina local.
oc get sc ibmc-vpc-block-metro-retain-10iops-tier -o yaml -
Edite o nome da classe de armazenamento. Certifique-se de que o nome da sua classe de armazenamento tenha menos de 30 caracteres, para que os IDs do conjunto de dispositivos do cluster de armazenamento do Data Foundation do OpenShift fiquem abaixo do limite de 63 caracteres Kubernetes. Crie a classe de armazenamento em seu cluster.
oc create -f <custom-storage-class.yaml> -
Faça a limpeza da sua implantação do Data Foundation do OpenShift.
-
Crie uma implantação do Data Foundation do OpenShift que utilize a classe de armazenamento que você criou.