kubernetes 为什么`kubectl get pods`突然失败?

dxpyg8gm  于 2023-05-06  发布在  Kubernetes
关注(0)|答案(1)|浏览(242)

我正在深入研究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

谢谢你的任何提示。

1l5u6lss

1l5u6lss1#

正如希腊日记'admin'在doc中解释的那样,它解释了如何修复kubectl错误:The connection to the server x.x.x.x:6443 was refused - did you specify the right host or port?

以下故障排除步骤将帮助您解决问题

  1. kubectl应该在Master Node上执行。
    1.当前用户必须拥有Kubernetes集群配置环境变量(详细信息请参见准备以普通用户身份使用Kubernetes一节),
    $ env | grep -i kube
    KUBECONFIG=/root/.kube/config
  2. Docker服务必须运行:
$ systemctl status docker
  1. kubelet服务必须运行:
$ systemctl status kubelet

5.应列出TCP端口6443,因为它正在侦听以下端口:

netstat -pnlt | grep 6443

如果TCP端口6443不可用,请检查防火墙/iptables规则是否符合要求:

$ firewall-cmd --list-all

查看kubelet日志:

# journalctl -xeu kubelet

6.尝试重新启动Kubernetes集群,它也会做一些基本的检查:

$ kubeadm-setup.sh restart

相关问题