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

ldxq2e6h  于 2022-11-28  发布在  Kubernetes
关注(0)|答案(6)|浏览(790)

我可以在Kubernetes中将2个节点群集在一起。主节点似乎运行正常,但在工作节点上运行任何命令都会导致错误:“到服务器localhost:8080的连接被拒绝-您是否指定了正确的主机或端口?”
从主节点(节点1)、

$ kubectl get nodes
NAME       STATUS    AGE       VERSION
node1       Ready     23h       v1.7.3
node2       Ready     23h       v1.7.3

从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

我不知道如何解决这个问题。任何帮助都将不胜感激。
在执行“journalctl-xeu kubelet”时,我看到:“CNI无法检索网络名称空间路径:找不到已终止容器”“的网络名称空间,但这似乎与安装Pod网络有关...由于上述错误,我无法安装Pod网络。
谢谢你!

jckbn6z7

jckbn6z71#

kubectlkube-apiserver接口以进行群集管理。该命令在主节点上运行,因为kube-apiserver在主节点上运行。在工作节点上,只有kubeletkube-proxy在运行。
事实上,kubectl应该在客户端(例如笔记本电脑、台式机)上运行,而不是在kubernetes节点上运行。

vyu0f0g1

vyu0f0g12#

从master您需要~/.kube/config将此文件作为参数传递给kubectl命令。将配置文件复制到其他服务器或便携式计算机,然后将参数作为参数传递给kubectl命令
例如:
kubectl --kubeconfig=~/.kube/config

nwo49xxi

nwo49xxi3#

在执行以下命令后,这对我有效:

$ sudo mkdir -p $HOME/.kube
$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
$ sudo chown $(id -u):$(id -g) $HOME/.kube/config
gmxoilav

gmxoilav4#

作为提示,提示的消息表明它与网络有关。因此,一个可能的答案也可能是,这对我的解决方案是有效的,是在contexts中查看context的关键cluster值。
我的错误是我在那里放置了一个不正确的集群名称
拥有适当的集群名称对于为相应的上下文查找集群名称至关重要,错误将消失。

xghobddn

xghobddn5#

要解决The connection to the server localhost:8080 was refused - did you specify the right host or port?问题,您可能遗漏了一个步骤。
我的修复:
在MacOS上,如果你安装了带brew的K8s,你仍然需要运行brew install minikube,然后你应该运行minikube start。这将启动你的集群。
运行命令kubectl cluster-info,您应该会得到类似于以下内容的满意路径响应:

Kubernetes control plane is running at https://127.0.0.1:63000
KubeDNS is running at https://127.0.0.1:63308/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

Kubernetes安装步骤:https://kubernetes.io/docs/tasks/tools/install-kubectl-macos/
Minikube文档:https://minikube.sigs.k8s.io/docs/start/

nzrxty8p

nzrxty8p6#

如果您在Docker桌面中运行Kubernetes,请确保选择了什么上下文。

正确选择后,您将能够毫无例外地运行kubectl命令:

% kubectl cluster-info                              
Kubernetes control plane is running at https://kubernetes.docker.internal:6443
CoreDNS is running at https://kubernetes.docker.internal:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

% kubectl get nodes
NAME             STATUS   ROLES                  AGE     VERSION
docker-desktop   Ready    control-plane,master   2d11h   v1.22.5

相关问题