问题:重复执行 kubectl get pods 执行时获取到的pod节点状态在变化
怀疑:etcd中有节点数据不正确
etcdkeeper下载
上传只etcd节点,解压后,赋予执行权限,启动程序
./etcdkeeper -cacert /etc/kubernetes/pki/etcd/ca.crt -cert /etc/kubernetes/pki/etcd/peer.crt -key /etc/kubernetes/pki/etcd/peer.key -p 8011
登录访问:http://10.10.10.13:8011/etcdkeeper/
2、查看有问题的pod存储在etcd中的数据可以看到在 10.10.10.13 节点上 etcd中的数据和10.10.10.11 节点上是有差异的。
集群模式,还存在10.10.10.12节点,其数据与10.10.10.11 一致,此处未展示
对应容器启动正常,说明pod也是正常的,所以是10.10.10.13 节点的数据存在问题。
通过重启问题节点的数据,让其在重启时去重新同步其他正确节点的数据
停止10.10.10.13 节点的etcd服务
systemctl stop etcd
从集群中删除该节点
etcdctl member list
etcdctl member remove c6eaa306941ff399
再将该节点加入集群
etcdctl member add master3 --peer-urls=“https://10.10.10.13:2380”
修改10.10.10.13 启动文件配置,删除该节点数据(再次启动时从其他节点同步正确的数据过来)
sed -i “s#initial-cluster-state: ‘new’#initial-cluster-state: ‘existing’” /etc/etcd/etcd.config.yml
cd /var/lib/etcd && tar -zcvf 20220106back.tar.gz member/ wal/
rm -rf member/ wal/
再次启动该节点etcd
systemctl start etcd
5、再次确认节点数据查看etcd状态
etcdctl member list
数据已经恢复正常。
已有大神进行了详细的分析。
问题详细原因及原理:https://zhuanlan.zhihu.com/p/138424613
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)