我最近开始通过在我的 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
告诉我虚拟机和集群正在运行:
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
- 使用 xhyve 驱动程序而不是 Virtualbox 驱动程序
- 删除缓存的所有内容,例如 ~/.minikube、~/.kube 和集群,然后重试
他们都没有为我工作。
Kubernetes 对我来说还是个新手,我想知道:
- 如何解决此类问题?
- 这个问题的原因可能是什么?
任何帮助表示赞赏。谢谢。