Estou configurando o Google Container Engine e criei pods, um controlador de recursos e um serviço. No entanto, ele nunca fica pronto e reinicia várias vezes da seguinte maneira. ( restartPolicy
é Always
)
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
app-production-acg4r 0/1 ExitCode:0 8 5m
app-production-p7njh 0/1 ExitCode:0 8 5m
Segui o Kubernetes Application Troubleshooting Guide , mas não tive sorte.
Primeiro, tentei kubectl logs
, mas sem saída
$ kubectl logs app-production-acg4r app-production
$ kubectl logs app-production-p7njh app-production
$ kubectl logs --previous app-production-acg4r app-production
$ kubectl logs --previous app-production-p7njh app-production
Também tentei executar o comando dentro do contêiner com kubectl exec
. As vezes retorna o erro:
$ kubectl exec notel-production-uz29p -c notel-production -- ls /var/log
error: Error executing remote command: Error executing command in container: container not found ("notel-production")
e às vezes nenhuma resposta:
$ kubectl exec notel-production-uz29p -c notel-production -- ls /var/log
(No response)
Também confirmei o Cluster Troubleshooting Guide .
- Eu loguei em um cluster e procurei em /var/log/kubelet.log e /var/log/kube-proxy.log, mas não consegui encontrar algo útil.
- Reiniciar clusters não fez nada
- Existe pelo menos um disco permanente do GCE
- Estou usando o controlador de replicação e o serviço
Não tenho ideia do que posso fazer mais. Como posso investigar este problema? Ou isso é um problema do Google Container Engine?
Parece que seu contêiner está iniciando e saindo rapidamente. Eu estou supondo que a partir do STATUS que é
ExitCode:0
.Para depuração, eu verificaria o seguinte:
.spec.container[].command
para seu modelo de pod como algo como["sleep", "10000"]
, para que o contêiner permaneça ativo por tempo suficiente para que você possa usá -lokubectl exec ...
para depurar.