最近、Mac でローカルに Minikube を使用して Kubernetes を学習し始めました。以前は、Minikube 0.10.0 を使用してローカル Kubernetes クラスターを起動し、デプロイメントを作成し、Kubernetes ダッシュボードを表示することができました。
昨日、クラスターを削除して最初からすべてをやり直そうとしました。しかし、アセットをデプロイできず、ダッシュボードを表示できないことがわかりました。私が見たところ、コンテナの作成中にすべてが停止したようです。
走った後minikube start
、報告された
Starting local Kubernetes cluster...
Kubectl is now configured to use the cluster.
を実行するとkubectl get pods --all-namespaces
、次のように報告されました (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
何も表示されませんでした:
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
minikube status
VM とクラスターが実行中であることがわかります:
minikubeVM: Running
localkube: Running
デプロイメントとオートスケーラーを作成しようとすると、正常に作成されたことが通知されました。
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
サービスを公開した際、同社は次のように述べました。
$ 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
サービスにアクセスしようとすると、次のように表示されました。
curl $(minikube service hello-minikube --url)
Waiting, endpoint for service is not ready yet...
docker ps
まだ何も表示されませんでした。コンテナの作成時にすべてが停止したように見えました。この問題を回避するために、他の方法をいくつか試しました。
- minikube 0.11.0 にアップグレードしました
- Virtualboxドライバーの代わりにxhyveドライバーを使用する
- ~/.minikube、~/.kube、クラスターなど、キャッシュされているものをすべて削除して、再試行してください。
どれも私には効果がありませんでした。
Kubernetes は私にとってまだ新しいので、次の点を知りたいです。
- このような問題をどのように解決すればよいでしょうか?
- この問題の原因は何でしょうか?
どのような助けでも大歓迎です。ありがとうございます。
ベストアンサー1
私の場合はネットワークの問題であることが判明しました。
ポッドのステータスは「ContainerCreating」で、コンテナの作成中に、Docker イメージが gcr.io からプルされることがわかりました。これは中国ではアクセスできません (GFW によってブロックされています)。前回は、たまたま VPN 経由で接続したため、うまくいきました。