我正在Udacity学习kubernetes教程。当我使用以下命令运行nginx图像时
kubectl run nginx --image=nginx:1.10.0
它给了我错误
错误:无法发现支持的资源:获取http://localhost:8080/apis/extensions/v1beta1:拨打tcp 127.0.0.1:8080:getsockopt:连接被拒绝
如果我尝试使用以下命令获取pod
kubectl get pods
它说
与服务器localhost:8080的连接被拒绝 - 您是否指定了正确的主机或端口?
nginx服务器正在运行,我可以告诉,因为我可以通过运行curl http://127.0.0.1获得适当的输出
我无法弄清楚问题是什么,互联网上没有很多资源可以解决这个问题。任何人都可以告诉我如何解决它?
检查你的kubectl配置文件(~/.kube/config
)
出于测试目的,您可以使用管理员:
kubectl --kubeconfig /etc/kubernetes/admin.conf get po
或者(再次,测试)
sudo cp /etc/kubernetes/admin.conf $HOME/
sudo chown $(id -u):$(id -g) $HOME/admin.conf
export KUBECONFIG=$HOME/admin.conf
你可以在kubernetes/kubernetes
issue 23726看到更多的建议
如下所述,这需要kubernetes to be installed,以便节点能够加入集群:
sudo kubeadm join --token TOKEN MASTER_IP:6443
当kubectl
无法找到预期群集的配置凭据时,通常会发生此问题。
检查$HOME/.kube/config
以获取群集配置。如果配置为空或者为错误的集群设置了配置,请通过运行重新生成配置,
gcloud container clusters get-credentials <CLUSTER_NAME> --zone <ZONE>
这将更新$HOME/.kube/config
中的配置凭据。
现在,一切都应该按预期工作。
解决方案很简单,正如@VonC建议的那样,我没有安装kubernetes,我按照this教程,现在我可以继续我的工作了。
在某些情况下,这只是因为您需要以root身份使用kubectl run
命令(例如sudo)。
未能发现支持的资源......
kubectl
命令行工具与端口8443上的kube-apiserver连接以进行操作。
要探究api服务器是否已启动,请尝试使用qazxsw poi
如果失败,则表示kube-apiserver未运行。很可能minikube不会运行。
所以尝试:
要么