Kubernetes preso em ContainerCreating

57

Um pod no meu cluster do Kubernetes fica preso em "ContainerCreating" depois de executar uma criação. Como faço para ver os logs desta operação para diagnosticar por que ela está presa? kubectl logs parece não funcionar, pois o contêiner precisa estar em um estado não pendente.

    
por four43 13.10.2015 / 22:40

2 respostas

73

kubectl describe pods listará todos os eventos associados ao pod, incluindo a extração de imagens e a inicialização de contêineres. Pode ser de ajuda.

    
por 22.10.2015 / 08:38
2

No meu caso, o acesso do docker à internet foi bloqueado. Foi resolvido usando um proxy ( usando o comentário do sandylss ):

  1. minikube stop
  2. minikube delete
  3. export http_proxy=http://user:pass@ip:port
  4. export https_proxy=http://user:pass@ip:port
  5. export no_proxy=192.168.99.0/24
  6. minikube start --logtostderr --v=0 --bootstrapper=localkube --vm-driver hyperv 
      --hyperv-virtual-switch "Primary Virtual Switch" --docker-env HTTP_PROXY=$http_proxy \
      --docker-env HTTPS_PROXY=$https_proxy --docker-env NO_PROXY=$no_proxy
    
  7. export no_proxy=$no_proxy,$(minikube ip)
  8. export NO_PROXY=$no_proxy,$(minikube ip)

Em seguida, para verificar se a janela de encaixe tem acesso à internet, execute:

$ docker pull tutum/hello-world

no cluster (conecte-se ao cluster usando minikube ssh ); pare o processo se ele iniciar o download.

Meu segundo problema foi a conexão lenta à Internet. Como as imagens da janela de encaixe exigidas são da ordem de 100 MB, os contêineres da janela de encaixe e os conjuntos de Kubernetes permaneceram nos estados \pause e ContainerCreating por 30 minutos.

Para verificar se a janela de encaixe está fazendo o download das imagens, execute:

$ ls -l /var/lib/docker/tmp

no cluster, que mostra o arquivo de imagem temporário [s] que está sendo baixado, caso contrário, vazio.

Se você está desenvolvendo no minikube e usando VPN, o docker pode usar sua VPN via fiddler . Ou seja, o docker será conectado ao ip: port do fiddler e o fiddler será conectado à VPN. Caso contrário, a VPN não será compartilhada entre seu host e a VM do minikube.

    
por 10.07.2018 / 05:41