使用 kubectl get cs 查看时会发现少一个节点

 使用   journalctl -u etcd  查看日志 

 可以看出 出错了的时50.12节点

首先排查 12的地址是否可以ping通

[root@k8s-master1 ~]# ping 192.168.50.12
64 bytes from 192.168.50.12: icmp_seq=1 ttl=64 time=0.283 ms
[root@k8s-master1 ~]# ping k8s-node1
64 bytes from k8s-node1 (192.168.50.12): icmp_seq=1 ttl=64 time=0.135 ms

防火墙是否关闭  和安全机制 如果没关查看防火墙规则是否写了

[root@k8s-node1 ~]# systemctl status firewalld.service
[root@k8s-node1 ~]# setenforce 0

查看集群节点信息具体命令如下  根据自己的 ip 和 目录 进行修改

ETCDCTL_API=3 /opt/etcd/bin/etcdctl --cacert=/opt/etcd/ssl/ca.pem --cert=/opt/etcd/ssl/server.pem --key=/opt/etcd/ssl/server-key.pem --endpoints="https://192.168.50.11:2379,https://192.168.50.12:2379,https://192.168.50.13:2379" endpoint health --write-out=table

+----------------------------+--------+-------------+-------+
|          ENDPOINT          | HEALTH |    TOOK     | ERROR |
+----------------------------+--------+-------------+-------+
| https://192.168.50.11:2379   |   true | 10.704838ms   |       |
| https://192.168.50.12:2379   |   true |  10.45554ms   |       |
| https://192.168.50.13:2379   |   true | 11.891322ms   |       |
+----------------------------+--------+-------------+-------+

查找后可以发现是存在的

查看 部署的K8s-node组件 查看 kube-apiserver 配置文件

[root@k8s-master1 ~]# vim /opt/kubernetes/cfg/kube-apiserver.conf

​​​​​​​

 发现 etcd的集群地址写错了 又写了个 50.11 所以50.12才不可以在集群信息中查看到

修改之后容器 kube-apiserver组件后就可以正常显示了

[root@k8s-master1 k8s]# systemctl restart kube-apiserver.service
[root@k8s-master1 k8s]# kubectl get cs
Warning: v1 ComponentStatus is deprecated in v1.19+
NAME                 STATUS    MESSAGE             ERROR
controller-manager   Healthy   ok
scheduler            Healthy   ok
etcd-1               Healthy   {"health":"true"}
etcd-0               Healthy   {"health":"true"}
etcd-2               Healthy   {"health":"true"}


 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐