与服务器localhost:8080的连接被拒绝

lex*_*lex 7 kubernetes

我能够在Kubernetes中将2个节点聚集在一起.主节点似乎运行正常,但在工作节点上运行任何命令都会导致错误:"与服务器localhost:8080的连接被拒绝 - 您是否指定了正确的主机或端口?"

从master(node1),

$ kubectl get nodes
NAME       STATUS    AGE       VERSION
node1       Ready     23h       v1.7.3
node2       Ready     23h       v1.7.3
Run Code Online (Sandbox Code Playgroud)

来自worker(节点2),

$ kubectl get nodes
The connection to the server localhost:8080 was refused - did you specify the right host or port?

$ telnet localhost 8080
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused

$ ping localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.032 ms
Run Code Online (Sandbox Code Playgroud)

我不知道如何解决这个问题.任何帮助表示赞赏.

执行时,"journalctl -xeu kubelet"我看到:"CNI无法检索网络命名空间路径:无法找到已终止容器的网络命名空间",但这似乎与安装pod网络有关......我无法因为上述错误.

谢谢!

Eug*_*how 8

kubectlkube-apiserver集群管理接口。该命令在主节点上有效,因为这是kube-apiserver运行位置。在工作节点上,只有kubelet并且kube-proxy正在运行。

实际上,kubectl应该在客户端(例如笔记本电脑,台式机)上运行,而不是在kubernetes节点上运行。


sfg*_*ups 8

你需要〜/ .kube/config传递这个文件作为kubectl命令的参数.将配置文件复制到其他服务器或笔记本电脑,然后传递参数作为kubectl命令

例如:

kubectl --kubeconfig=~/.kube/config