Depurando falhas de armazenamento persistente
Revise as opções para depurar o armazenamento persistente e localizar as causas raiz para falhas.
Verificando se o pod que monta sua instância de armazenamento foi implementado com sucesso
-
Liste os pods em seu cluster. Um pod será implementado com êxito se o pod mostrar um status de Em execução.
oc get pods -
Obtenha os detalhes de seu pod e verifique se os erros são exibidos na seção Eventos de sua saída da CLI.
oc describe pod <pod_name> -
Recupere os logs para seu app e verifique se você pode ver alguma mensagem de erro.
oc logs <pod_name>
Reiniciando o pod do app
-
Se o seu pod for parte de uma implementação, exclua o pod e deixe que a implementação o reconstrua. Se o seu pod não for parte de uma implementação, exclua o pod e reaplique o seu arquivo de configuração do pod.
oc delete pod <pod_name>oc apply -f <app.yaml> -
Se reiniciar seu pod não resolver o problema, recarregue seu nó do trabalhador.
-
Verifique se você usa a versão mais recente do IBM Cloud e do plug-in do IBM Cloud Kubernetes Service.
ibmcloud updateibmcloud plugin repo-plugins
Verificando se o driver do armazenamento e os pods do plug-in mostram um status Em execução
- Liste os pods no projeto
kube-system.oc get pods -n kube-system - Se o driver de armazenamento e os pods de plug-in não mostrarem um status Em execução, obtenha mais detalhes do pod para localizar a causa raiz. Dependendo do status do seu pod, você pode não conseguir executar todos os comandos
a seguir.
- Obtenha os nomes dos contêineres que são executados no pod do driver.
kubectl get pod <pod_name> -n kube-system -o jsonpath="{.spec['containers','initContainers'][*].name}" | tr -s '[[:space:]]' '\n' ``` Saída de exemplo para o Block Storage for VPC com três contêineres: ```sh {: screen} csi-provisioner csi-attacher iks-vpc-block-driver ``` Saída de exemplo para o Block Storage for Classic: ```sh {: pre} ibmcloud-block-storage-driver-container ``` 2. Exporte os logs do pod do driver para um arquivo `logs.txt` em sua máquina local. Inclua o nome do contêiner do driver. ```sh {: pre} oc logs <pod_name> -n kube-system -c <container_name> > logs.txt ``` 3. Revise o arquivo de log. ```sh {: pre} cat logs.txt ``` - Analise a seção Eventos da saída da CLI do comando
oc describe pode os logs mais recentes para localizar a causa raiz do erro.
Verificando se a PVC foi provisionada com sucesso.
-
Verifique o estado da sua PVC. Uma PVC será provisionada com êxito se a PVC mostrar um status Ligado.
oc get pvc -
Se o estado da PVC mostrar Pendente, recupere o erro que explica por que a PVC permanece pendente.
oc describe pvc <pvc_name> -
Revise erros comuns que podem ocorrer durante a criação da PVC.
-
Revise erros comuns que podem ocorrer ao montar uma PVC em seu app.
-
Verifique se a versão da CLI
kubectlque você executa em sua máquina local corresponde à versão do Kubernetes que está instalada em seu cluster. Se você usar uma versão da CLIkubectlque não corresponda pelo menos à versão major.minor do seu cluster, poderá enfrentar resultados inesperados. Por exemplo, [ Kubernetes não é compatível com versões do clientekubectlque apresentem uma diferença de duas ou mais versões em relação à versão do servidor (n ± 2).- Mostre a versão da CLI
kubectlque está instalada em seu cluster e em sua máquina local.
oc version ``` Saída de exemplo ```sh {: screen} Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.36", GitCommit:"641856db18352033a0d96dbc99153fa3b27298e5", GitTreeState:"clean", BuildDate:"2019-03-25T15:53:57Z", GoVersion:"go1.12.1", Compiler:"gc", Platform:"darwin/amd64"} Server Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.36+IKS", GitCommit:"e15454c2216a73b59e9a059fd2def4e6712a7cf0", GitTreeState:"clean", BuildDate:"2019-04-01T10:08:07Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"} ``` As versões da CLI corresponderão se você puder ver a mesma versão em `GitVersion` para o cliente e o servidor. É possível ignorar a parte `+IKS` da versão para o servidor. 2. Se as versões da CLI `kubectl` na máquina local e no cluster não corresponderem, [atualize o cluster](/docs/openshift?topic=openshift-update) ou [instale uma versão diferente da CLI na máquina local](/docs/openshift?topic=openshift-cli-install). - Mostre a versão da CLI
-
Para o Block Storage for VPC, verifique se você tem a versão mais recente do complemento.
-
Para armazenamento de bloco clássico, armazenamento de objeto e Portworx apenas: certifique-se de que você instalou a versão mais recente do gráfico do Helm para o plug-in.
Armazenamento de bloco e objeto:
1. Atualize seus repositórios de gráfico do Helm.
```sh {: pre}
helm repo update
```
2. Liste os gráficos do Helm no repositório.
**Para armazenamento de bloco clássico**:
```sh {: pre}
helm search repo iks-charts | grep block-storage-plugin
```
Saída de exemplo
```sh {: screen}
iks-charts-stage/ibmcloud-block-storage-plugin 1.5.0 A Helm chart for installing ibmcloud block storage plugin
iks-charts/ibmcloud-block-storage-plugin 1.5.0 A Helm chart for installing ibmcloud block storage plugin
```
**Para armazenamento de objeto**:
```sh {: pre}
helm search repo ibm-charts | grep object-storage-plugin
```
Saída de exemplo
```sh {: screen}
ibm-charts/ibm-object-storage-plugin 1.0.9 1.0.9 A Helm chart for installing ibmcloud object storage plugin
```
3. Liste os gráficos do Helm instalados em seu cluster e compare a versão instalada com a versão que está disponível.
```sh {: pre}
helm list --all-namespaces
```
4. Se uma versão mais recente estiver disponível, instale-a. Para instruções, consulte [Atualização do IBM Cloudplug-in do Block Storage do ](/docs/openshift?topic=openshift-vpc-block#vpc-addon-update) e [Atualização do plug-in do IBM Cloud Object Storage ](/docs/openshift?topic=openshift-storage_cos_install#update_cos_plugin).
Portworx
-
Localize a versão mais recente do gráfico do Helm que está disponível.
-
Liste os gráficos do Helm instalados em seu cluster e compare a versão instalada com a versão que está disponível.
helm list --all-namespaces -
Se uma versão mais recente estiver disponível, instale-a. Para obter instruções, consulte Atualizando o Portworx em seu cluster.
OpenShift Data Foundation
Descreva seus recursos do ODF e revise as saídas de comando para verificar se há mensagens de erro.
- Liste o nome do cluster do ODF.
Saída de exemplo:oc get ocsclusterNAME AGE ocscluster-vpc 71d - Descreva o cluster de armazenamento e revise a seção
Eventsda saída para verificar se há mensagens de erro.oc describe ocscluster <ocscluster-name> - Liste os pods no espaço de nomes
kube-systeme verifique se eles estãoRunningoc get pods -n kube-system - Descreva o pod
ibm-ocs-operator-controller-managere revise a seçãoEventsna saída para verificar se há mensagens de erro.oc describe pod <ibm-ocs-operator-controller-manager-a1a1a1a> -n kube-system - Revise os logs do
ibm-ocs-operator-controller-manager.oc logs <ibm-ocs-operator-controller-manager-a1a1a1a> -n kube-system - Descreva NooBaa e revise a seção
Eventsda saída para verificar se há mensagens de erro.oc describe noobaa -n openshift-storage