Depurando falhas do Portworx
Reveja as opções para depurar o Portworx e encontrar as causas raiz de eventuais falhas.
Verificando se o pod que monta sua instância de armazenamento foi implementado com sucesso
Siga as etapas para revisar quaisquer mensagens de erro relacionadas à implementação do pod.
-
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 do seu pod e revise qualquer mensagem de erro exibida na seção Eventos da sua saída de CLI.
oc describe pod <pod_name> -
Recupere os logs para o seu pod e revise qualquer mensagem de erro.
oc logs <pod_name>
Reiniciando o pod do app
É possível resolver alguns problemas reiniciando e reimplementando seus pods. Siga as etapas para reimplementar um pod específico.
-
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.
- Exclua o pod.
oc delete pod <pod_name> ``` Saída de exemplo ```sh {: screen} pod "nginx" deleted ``` 2. Reaplique o arquivo de configuração para reimplementar o pod. ```sh {: pre} oc apply -f <app.yaml> ``` Saída de exemplo ```sh {: pre} pod/nginx created ``` -
Se a reinicialização de seu pod não resolver o problema, recarregue os nós 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-pluginsibmcloud plugin update
Verifique se o driver de armazenamento do Portworx e os pods do plug-in mostram um status Em execução
Siga as etapas para verificar o status do driver do armazenamento e dos pods do plug-in e revise quaisquer mensagens de erro.
- Liste os pods no projeto
kube-system.
Saída de exemplo:oc get pods -n kube-system | grep `portworx\|stork`portworx-594rw 1/1 Running 0 20h portworx-rn6wk 1/1 Running 0 20h portworx-rx9vf 1/1 Running 0 20h stork-6b99cf5579-5q6x4 1/1 Running 0 20h stork-6b99cf5579-slqlr 1/1 Running 0 20h stork-6b99cf5579-vz9j4 1/1 Running 0 20h stork-scheduler-7dd8799cc-bl75b 1/1 Running 0 20h stork-scheduler-7dd8799cc-j4rc9 1/1 Running 0 20h stork-scheduler-7dd8799cc-knjwt 1/1 Running 0 20h - 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 describe pod <pod_name> -n kube-system ``` 2. Exporte os logs do pod do driver para um arquivo `logs.txt` em sua máquina local. ```sh {: pre} oc logs <pod_name> -n kube-system > logs.txt ``` 3. Revise o arquivo de log. ```sh {: pre} cat logs.txt ``` - Confira os logs mais recentes para verificar se há mensagens de erro. Veja a documentação de resolução de problemas do Portworx para obter etapas de resolução de erros comuns.
Verificando e atualizando a versão da CLI oc
Ao usar uma versão da CLI oc sem correspondência ao menos com a versão major.minor do cluster, é possível receber resultados inesperados. Por exemplo, o Kubernetes não suporta versões do cliente oc que sejam duas ou mais versões distantes da versão do servidor (n +/-2).
-
Verifique se a versão da CLI
ocexecutada na máquina local corresponde à versão do Kubernetes que está instalada no cluster. Mostre a versão da CLIocque está instalada em seu cluster e sua máquina local.oc versionSaída de exemplo:
Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.35", 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.35+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
GitVersionpara o cliente e o servidor. É possível ignorar a parte+IKSda versão para o servidor. -
Se as versões da CLI do
ocem sua máquina local e no seu cluster não forem as mesmas, atualize o cluster ou instale uma versão diferente da CLI em sua máquina local.
Atualização de gráficos Helm
-
Localize a versão mais recente do gráfico do Helm.
-
Liste os gráficos do Helm instalados em seu cluster e compare a versão instalada com a versão mais recente.
helm list --all-namespaces -
Caso esteja disponível uma versão mais recente, instale-a. Para obter instruções, consulte Atualizando o Portworx em seu cluster.