Por que o armazenamento de bloco muda para somente leitura?

Resolva problemas em volumes de armazenamento em bloco que passam a ser somente de leitura.

Nuvem privada virtual Infraestrutura clássica

É possível ver os sintomas a seguir:

  • Ao executar oc get pods -o wide, você vê que diversos pods no mesmo nó do trabalhador estão presos no estado ContainerCreating ou CrashLoopBackOff. Todos esses pods usam a mesma instância de armazenamento de bloco.
  • Ao executar um comando oc describe pod, você vê o erro a seguir na seção Eventos: MountVolume.SetUp failed for volume ... read-only.

Se ocorrer um erro de rede enquanto um pod gravar em um volume, a infraestrutura da IBM Cloud protegerá os dados no volume de serem corrompidos mudando o volume para um modo somente leitura. Pods que usam esse volume não podem continuar gravando no volume e falham.

Verifique a versão do plug-in, recrie seu aplicativo e reinicie com segurança seu nó de trabalho.

  1. Verifique a versão do plug-in do IBM Cloud Block Storage que está instalado em seu cluster.
    helm list --all-namespaces
    
  2. Verifique se você usa a versão mais recente do plug-in do IBM Cloud Block Storage. Se não, atualize seu plug-in .
  3. Se você usou uma implementação do Kubernetes para seu pod, reinicie o pod que está falhando removendo-o e permitindo que o Kubernetes o recrie. Se você não usou uma implementação, recupere o arquivo YAML que foi usado para criar o pod executando oc get pod <pod_name> -o yaml >pod.yaml. Em seguida, exclua e recrie manualmente o pod.
    oc delete pod <pod_name>
    
  4. Verifique se a nova criação de seu pod resolveu o problema. Se não estiver, recarregue o nó do trabalhador.
    1. Localize o nó do trabalhador no qual seu pod é executado e anote o endereço IP privado que está designado ao seu nó do trabalhador.
        oc describe pod <pod_name> | grep Node
        ```
        Saída de exemplo:
        ```sh {: screen}
        Node:               10.75.XX.XXX/10.75.XX.XXX
        Node-Selectors:  <none>
        ```
    2. Recupere o **ID** dodo trabalhador usando o endereço IP privado da etapa anterior.
    ```sh {: pre}
        ibmcloud oc worker ls --cluster CLUSTER_NAME_OR_ID
        ```
    3. [recarregue o nó do trabalhador](/docs/openshift?topic=openshift-kubernetes-service-cli#worker-reload-cli).