我正在研究 K8s,并通过
kubectl apply
在主节点上部署了我的第一个 pod。为了查看它的状态,我连续调用了两次kubectl get pods
。我没有触及任何东西,但随后调用同一命令失败并出现以下错误。谁能帮我理解可能发生了什么?
ubuntu:~$ kubectl get pods
NAME READY STATUS RESTARTS AGE
nginx 0/1 Pending 0 18s
ubuntu:~$ kubectl get pods
The connection to the server xxx.xxx.xxx.xxx:6443 was refused - did you specify the right host or port?
为了完成,这里是
kubelet.service
在主节点上的状态:
● kubelet.service - kubelet: The Kubernetes Node Agent
Loaded: loaded (/lib/systemd/system/kubelet.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/kubelet.service.d
└─10-kubeadm.conf
Active: active (running) since Thu 2023-04-20 02:12:52 UTC; 23min ago
感谢任何提示。
正如 Greek Diary ‘admin’ 在这篇文档中所解释的那样,它解释了如何修复 kubectl 错误:与服务器 x.x.x.x:6443 的连接被拒绝 - 您是否指定了正确的主机或端口?
以下故障排除步骤将有助于解决您的问题:
kubectl 应该在主节点上执行。
当前用户必须具有 Kubernetes 集群配置环境变量(如何作为普通用户准备使用 Kubernetes 部分下列出的详细信息),
例如:
$ env | grep -i kube
KUBECONFIG=/root/.kube/config
3.docker服务必须运行:
$ systemctl status docker
4.kubelet服务必须正在运行:
$ systemctl status kubelet
5.TCP 端口 6443 应该被列出,因为它正在监听端口:
netstat -pnlt | grep 6443
如果TCP端口6443不可用,查看firewall/iptables规则匹配要求:
$ firewall-cmd --list-all
同时检查 kubelet 日志:
# journalctl -xeu kubelet
6.尝试重启 Kubernetes 集群,这也会做一些基本检查:
$ kubeadm-setup.sh restart