2016-10-07 16 views
6

Niedawno zacząłem uczyć się Kubernetes, używając Minikube lokalnie na moim Macu. Wcześniej mogłem uruchomić lokalny klaster Kubernetes z Minikube 0.10.0, utworzyłem wdrożenie i oglądałem pulpit Kubernetes.Minikube utknął podczas tworzenia kontenera

Wczoraj próbowałem usunąć klaster i ponownie zrobić wszystko od podstaw. Jednak okazało się, że nie mogę wdrożyć zasobów i nie można wyświetlić pulpitu nawigacyjnego. Z tego, co zobaczyłem, wszystko wydawało się utknąć podczas tworzenia kontenera.

Po wpadłem minikube start, że zgłaszane

Starting local Kubernetes cluster... 
Kubectl is now configured to use the cluster. 

Kiedy wpadłem kubectl get pods --all-namespaces, że zgłaszane (zwrócić uwagę na kolumnę status):

kubectl get pods --all-namespaces 
NAMESPACE  NAME       READY  STATUS    RESTARTS AGE 
kube-system kube-addon-manager-minikube 0/1  ContainerCreating 0   51s 

docker ps pokazał nic:

docker ps 
CONTAINER ID  IMAGE    COMMAND    CREATED    STATUS    PORTS    NAMES 

minikube status mówi mi VM i klaster są uruchomione:

minikubeVM: Running 
localkube: Running 

Gdybym próbował stworzyć instalację oraz autoscaler, powiedziano mi, że zostały stworzone z powodzeniem:

kubectl create -f configs 
deployment "hello-minikube" created 
horizontalpodautoscaler "hello-minikube-autoscaler" created 

$ kubectl get pods --all-namespaces 
NAMESPACE  NAME        READY  STATUS    RESTARTS AGE 
default  hello-minikube-661011369-1pgey 0/1  ContainerCreating 0   1m 
default  hello-minikube-661011369-91iyw 0/1  ContainerCreating 0   1m 
kube-system kube-addon-manager-minikube  0/1  ContainerCreating 0   21m 

Podczas wystawiania usługę, to powiedział:

$ kubectl expose deployment hello-minikube --type=NodePort 
service "hello-minikube" exposed 

$ kubectl get service 
NAME    CLUSTER-IP EXTERNAL-IP PORT(S) AGE 
hello-minikube 10.0.0.32 <nodes>  8080/TCP 6s 
kubernetes  10.0.0.1  <none>  443/TCP 22m 

Kiedy próbowałem uzyskać dostęp do usługi, powiedziano mi:

curl $(minikube service hello-minikube --url) 
Waiting, endpoint for service is not ready yet... 

docker ps nadal nic nie pokazał. Wydawało mi się, że wszystko utknęło podczas tworzenia pojemnika. Próbowałem kilka innych sposobów obejścia tego problemu:

  1. Aktualizacja do minikube 0.11.0
  2. Użyj xhyve sterownika zamiast sterownika VirtualBox
  3. usunąć wszystko z pamięci podręcznej, jak ~/.minikube ~/.kube, i klastra, i ponownie wypróbować:

Żadne z nich nie sprawdziło się u mnie.

Kubernetes nadal jest dla mnie nowe i chciałbym wiedzieć:

  1. Jak mogę rozwiązać tego rodzaju problem?
  2. Co może być przyczyną tego problemu?

Każda pomoc jest doceniana. Dzięki.

Odpowiedz

3

Okazało się, że to problem z siecią w moim przypadku.

Stan paczki to "ContainerCreating", a podczas tworzenia kontenera znalazłem obraz dokowania, który zostanie pobrany z gcr.io, który jest niedostępny w Chinach (zablokowany przez GFW). Poprzedni czas pracował dla mnie, ponieważ zdarzyło mi się połączyć się z VPN.

+0

Jestem stoi ten sam problem. Czy możesz mi powiedzieć, jak rozwiązałeś ten problem? Byłoby bardzo pomocne – NSP

+0

@NSP Dla mnie, ponieważ jest to spowodowane problemem z dostępem do sieci, po prostu łączę się z VPN, aby obejść ten problem. – nybon

+0

czy powinienem usunąć istniejącą konfigurację minikube, a następnie rozpocząć świeżą instalację, łącząc się z VPN? (usunięto minikube, a następnie start minikube?) – NSP

3

Nie próbowałem minikube, ale używam kubernetes. Dzięki dostarczonym informacjom trudno jest określić przyczynę problemu. Twój minikube nie ma problemu z tworzeniem zasobów, ale ContainerCreating jest problemem związanym z demonem dockera lub niewłaściwą komunikacją między kube-api i demonem docker lub jakimś problemem z kubeletem.

Możesz wypróbować kubectl opisać POD POD_NAME To da ci wydarzenia. Może to stanowić ścieżkę do głównej przyczyny problemu.

LUB

sprawdzić dzienniki z kubelet uzyskać wydarzenia.

0

Poziomy generator obrazu (hpa) wymaga użycia stertystów. Aby to zadziałało, musisz uruchomić robota w Minikube. Zawsze można debugować tego rodzaju problemy z minikube logs lub interaktywnie za pośrednictwem pulpitu nawigacyjnego znaleźć na minikube dashboard.

można znaleźć kroki, aby uruchomić heapster i grafana na https://github.com/kubernetes/heapster

0

Dla mnie to jest sevral minut przed Rozumiem problemy ContainerCreating. Po wykonaniu cmd systemctl status kube-controller-manager.service, otrzymuję błąd

Sync "default/Redis-master-2229813293" nie powiodła się w stanie tworzyć strąki: No API żeton znalezionych dla konta usługi "default", ponownie po token jest tworzony automatycznie i dodano do konta usługi.

Więc dwa sposobem rozwiązania:

  • ustawienie konta usługi z tokena
  • usunąć konto_usługi ustawienie KUBE_ADMISSION_CONTROL w API serwera
0

miałem ten problem na Windows, ale był powiązany z proxy NTLM. Usunąłem minikube VM następnie odtworzono ją z prawidłowymi ustawieniami proxy dla mojej instalacji CNTLM:

minikube start --docker-env http_proxy=http://10.0.2.2:3128 --docker-env https_proxy=http://10.0.2.2:3128 --docker-env no_proxy=localhost,127.0.0.1,::1,192.168.99.100 

Zobacz https://blog.alexellis.io/minikube-behind-proxy/