Kubernetes未能发现支持的资源:getsockopt:连接被拒绝

问题描述 投票:5回答:5

我正在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获得适当的输出

我无法弄清楚问题是什么,互联网上没有很多资源可以解决这个问题。任何人都可以告诉我如何解决它?

docker kubernetes google-kubernetes-engine
5个回答
3
投票

检查你的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

3
投票

kubectl无法找到预期群集的配置凭据时,通常会发生此问题。

检查$HOME/.kube/config以获取群集配置。如果配置为空或者为错误的集群设置了配置,请通过运行重新生成配置,

gcloud container clusters get-credentials <CLUSTER_NAME> --zone <ZONE>

这将更新$HOME/.kube/config中的配置凭据。

现在,一切都应该按预期工作。

参考:https://github.com/googlecodelabs/feedback/issues/537


1
投票

解决方案很简单,正如@VonC建议的那样,我没有安装kubernetes,我按照this教程,现在我可以继续我的工作了。


0
投票

在某些情况下,这只是因为您需要以root身份使用kubectl run命令(例如sudo)。


0
投票

未能发现支持的资源......

kubectl命令行工具与端口8443上的kube-apiserver连接以进行操作。

要探究api服务器是否已启动,请尝试使用qazxsw poi

如果失败,则表示kube-apiserver未运行。很可能minikube不会运行。

所以尝试:

  1. Mini Kube s Tatsu s Minitas s rt

要么

  1. 重启虚拟机
© www.soinside.com 2019 - 2024. All rights reserved.