我正在通过Udacity的kubernetes教程。当我使用以下命令运行Nginx图像
kubectl run nginx --image=nginx:1.10.0
它给了我错误
错误:未能发现支持的资源:获取http://localhost:8080/apis/extensions/v1beta1:拨打tcp 127.0.0.1:8080:getsockopt:连接被拒绝
如果我尝试使用以下命令获取豆荚
kubectl get pods
说
与服务器localhost:8080的连接被拒绝-您指定了正确的主机或端口吗?
我知道nginx服务器正在运行,因为我可以通过运行curl http://127.0.0.1
获得适当的输出。我无法弄清楚问题是什么,并且互联网上没有很多资源可以解决此问题。谁能告诉我该如何解决?
答案 0 :(得分: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
答案 1 :(得分:3)
当kubectl
找不到所需群集的配置凭据时,通常会发生此问题。
检查$HOME/.kube/config
的群集配置。如果配置为空或为错误的群集设置了配置,请通过运行重新生成配置,
gcloud container clusters get-credentials <CLUSTER_NAME> --zone <ZONE>
这将更新$HOME/.kube/config
中的配置凭据。
现在,一切都会按预期进行。
答案 2 :(得分:1)
该解决方案很简单,正如@VonC建议的那样,我没有安装kubernetes,我按照this教程进行了学习,现在我可以继续进行工作了。
答案 3 :(得分:0)
在某些情况下,这仅仅是因为您需要以root用户身份使用kubectl run
命令(例如,对它进行sudo操作)。
答案 4 :(得分:0)
未能发现支持的资源...
kubectl
命令行工具在端口8443与kube-apiserver连接以进行操作。
要检查apiserver是否已启动,请尝试curl https://192.168.99.100:8443
如果失败,则表明kube-apiserver没有运行。 minikube很可能不会运行。
所以尝试:
minikube状态
minikube开始
OR
答案 5 :(得分:0)
您需要先设置区域:
gcloud config set compute/zone us-central1-b
然后在其中添加集群:
gcloud container clusters create io
现在您可以运行命令了。 让我知道那里是否有问题:)