无法使用kubectl启动容器

我正在学习kubernetes并使用minikube在我的ubuntu机器上创build单节点集群。 在我的Ubuntu机器上也安装了Oracle Virtualbox。 当我跑步

$ minikube start Starting local Kubernetes v1.6.4 cluster... ... $ cat ~/.kube/config apiVersion: v1 clusters: - cluster: certificate-authority: /root/.minikube/ca.crt server: https://192.168.99.100:8443 name: minikube ... $ kubectl run hello-minikube --image=gcr.io/google_containers/echoserver:1.4 --port=8000 error: failed to discover supported resources: Get https://192.168.99.100:8443/api: Service Unavailable 

我不明白是什么导致这个错误。 有没有我们可以检查日志的地方? 我不能使用kubectl日志,因为它需要容器来提及哪个不是创build。 请提供任何可能的解决scheme。

您可以使用以下步骤进行debugging:

  1. kubectl与港口8443的kube-apiserver kubectl谈判做它的事情。 尝试curl -k https://192.168.99.100:8443 ,看看有没有积极的回应。 如果失败,则意味着kube-apiserver根本没有运行。 您可以尝试重新启动虚拟机或重buildminikube,看它是否第二次正确启动。

  2. 如果你觉得自己很勇敢,也可以直接debugging虚拟机。 在这种情况下,在由minikube启动的VM上获得一个shell。 运行docker ps | grep apiserver docker ps | grep apiserver检查kube-apiserver pod是否正在运行。 另外尝试ps aux | grep apiserver ps aux | grep apiserver来检查它是否本机运行。 如果两者都没有调出结果,请使用journalctl -xef检查日志。