nyb*_*bon 12 kubernetes minikube
我最近开始在Mac上本地使用Minikube学习Kubernetes.以前,我能够使用Minikube 0.10.0启动本地Kubernetes集群,创建部署并查看Kubernetes仪表板.
昨天我试图删除集群并从头开始重新做一切.但是,我发现无法部署资产,无法查看仪表板.从我看到的情况来看,在容器创建期间,一切似乎都被卡住了.
跑完之后minikube start
,据报道
Starting local Kubernetes cluster...
Kubectl is now configured to use the cluster.
Run Code Online (Sandbox Code Playgroud)
当我跑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
Run Code Online (Sandbox Code Playgroud)
docker ps
没有显示:
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Run Code Online (Sandbox Code Playgroud)
minikube status
告诉我VM和集群正在运行:
minikubeVM: Running
localkube: Running
Run Code Online (Sandbox Code Playgroud)
如果我尝试创建部署和自动规划器,我被告知它们已成功创建:
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
Run Code Online (Sandbox Code Playgroud)
在公开服务时,它说:
$ 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
Run Code Online (Sandbox Code Playgroud)
当我试图访问该服务时,我被告知:
curl $(minikube service hello-minikube --url)
Waiting, endpoint for service is not ready yet...
Run Code Online (Sandbox Code Playgroud)
docker ps
仍然没有显示.它看起来在创建容器时一切都被卡住了.我尝试了其他一些方法来解决这个问题:
他们都没有为我工作.
Kubernetes对我来说还是新手,我想知道:
任何帮助表示赞赏.谢谢.
事实证明,在我的案例中,这是一个网络问题.
pod状态为"ContainerCreating",我发现在容器创建期间,docker镜像将从gcr.io中提取,这在中国是无法访问的(由GFW阻止).以前它适用于我,因为我碰巧连接到VPN.
我没有尝试,minikube
但我使用kubernetes
. 根据提供的信息,很难说出问题的原因。您minikube
在创建资源没有问题,但ContainerCreating
就是与问题有关的docker
守护程序或之间存在不正当的通信kube-api
和docker
守护程序或某些问题kubelet
。
您可以尝试以下命令:
kubectl describe po POD_NAME
Run Code Online (Sandbox Code Playgroud)
这将为您提供 POD 的事件。也许这将为问题的根本原因提供一条途径。
您还可以检查日志kubelet
以获取事件。
归档时间: |
|
查看次数: |
9076 次 |
最近记录: |