Kubernetes kubectl apply命令不起作用,导致连接被拒绝错误
当我尝试使用以下命令设置pod网络时Kubernetes kubectl apply命令不起作用,导致连接被拒绝错误,kubernetes,kubectl,Kubernetes,Kubectl,当我尝试使用以下命令设置pod网络时 sudo kubectl apply -f https://docs.projectcalico.org/v3.1/getting-started/kubernetes/installation/hosted/rbac-kdd.yaml 我得到这个错误,请帮助 unable to recognize "https://docs.projectcalico.org/v3.1/getting-started/kubernetes/installation/ho
sudo kubectl apply -f https://docs.projectcalico.org/v3.1/getting-started/kubernetes/installation/hosted/rbac-kdd.yaml
我得到这个错误,请帮助
unable to recognize "https://docs.projectcalico.org/v3.1/getting-started/kubernetes/installation/hosted/rbac-kdd.yaml": Get http://localhost:8080/api?timeout=32s: dial tcp 127.0.0.1:8080: connect: connection refused
unable to recognize "https://docs.projectcalico.org/v3.1/getting-started/kubernetes/installation/hosted/rbac-kdd.yaml": Get http://localhost:8080/api?timeout=32s: dial tcp 127.0.0.1:8080: connect: connection refused
更新:
与其他问题不同,这似乎不是权限问题。发现这是kubectl未正确配置的问题 修复了使用以下用于calico网络的命令发出的错误(相应地更改网络插件) 然后跑
sudo kubectl apply -f https://docs.projectcalico.org/v3.1/getting-started/kubernetes/installation/hosted/rbac-kdd.yaml
并相应地遵循其余部分以下内容使我得出结论,api服务器可能没有运行
我建议检查主节点上的kubelet
服务的状态
systemctl status kubelet.service
并查看日志以获取更多信息,了解api服务器未运行的原因以及如何解决问题
journalctl -xn --unit kubelet.service
基本上,当您启动Kubernetes时,您将在端口6443上启动服务,但是上面的命令正在搜索端口8080上运行的服务。这是因为当您运行sudo时,它使用sudo中的变量运行,该变量没有关于Kubernetes运行的端口的信息,因此默认为8080。在主节点上以root用户身份运行以下命令
cp-i/etc/kubernetes/admin.conf$HOME/
现在以root用户身份运行下面的kubectl apply
命令
kubectl应用-fhttps://docs.projectcalico.org/v3.1/getting-started/kubernetes/installation/hosted/rbac-kdd.yaml
我遇到了同样的问题,不得不对我的Ansible脚本进行以下更改:
- name: apply the flannel pod network add-on
command: kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml
become: yes
become_method: sudo
become_user: <user>
-名称:应用法兰绒吊舱网络附加组件
命令:kubectl apply-fhttps://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml
变成:是的
方法:sudo
成为用户:
在Ansible playbook执行期间,有一个任务正在运行上面的kubectl apply命令。但是,它是由根用户执行的。因此,出现连接被拒绝错误。为了克服这个问题,我更新了playbook,在我的常规用户帐户中使用BEGINE指令
本文对此进行了解释:对我来说,问题是我有一个非root用户需要在工作节点上运行命令和yaml文件,这个非root用户需要无密码登录到工作节点,并且能够成为root用户。
将此非root用户配置为ssh到kubeworker而不使用密码后,问题得到解决。我在Google云平台Cloud Shell上发出集群命令时收到此错误 当您使用Google云控制台或使用gcloud从 不同的计算机,您环境的kubeconfig未更新 要自动修复kubeconfig,请使用此gcloud命令修复配置:
gcloud container clusters get-credentials my-xyz-cluster --zone=us-central1-a
一旦完成,我就能够无误地发布集群更改。可能重复“否”,但不是。错误看起来很相似,仅此而已,更多的是关于权限问题。为什么你认为你的问题不是权限问题?您没有在问题中提供更多信息,以表明这不是相关问题。
gcloud container clusters get-credentials my-xyz-cluster --zone=us-central1-a