kubernetes高可用集群升级的etcd错误怎么解决

这篇文章主要介绍“kubernetes高可用集群升级的etcd错误怎么解决”,在日常操作中,相信很多人在kubernetes高可用集群升级的etcd错误怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”kubernetes高可用集群升级的etcd错误怎么解决”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请网站空间、营销软件、网站建设、沈丘网站维护、网站推广。

使用kubeadm创建的kubernetes高可用集群升级时出现etcd访问错误,手工删除etcd中的错误节点信息后升级成功。

正常情况kubernetes升级使用下面的命令来完成:

sudo kubeadm upgrade plan

然后按照提示操作即可。

1、出现etcd访问错误

但这一次,出线了错误:

etcd.go:480] Failed to get etcd status

经检查,是etcd的第一个节点(kubenetes的master之一)无法访问。

2、从集群删除节点

删除该节点:

kubectl delete node podc01

然后问题仍然存在。经查,被删除节点的etcd服务地址仍然在集群中,而且不可访问,升级无法完成。

  • 根据网上的kubeadm说明,使用kubeadm reset将会自动删除etcd的节点信息。

  • 但是,kubeadm reset后,经查,被删除节点的etcd服务地址仍然在集群中,而且不可访问,升级无法完成。

3、手动删除etcd node

查看并手动删除 etcd node信息:

alias etcdv3="ETCDCTL_API=3 etcdctl --endpoints=https://[10.1.1.202]:2379 --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/peer.crt --key=/etc/kubernetes/pki/etcd/peer.key"
  • 因为etcd的命令较长,先用个别名简化一下。

  • 将上面的10.1.1.202改为自己的可用master节点IP地址。

  • 更多etcd使用指南,可参考:

    • Kubernetes的etcd多节点扩容实战技巧

    • Kubernetes探秘-etcd节点和实例扩容

    • Kubernetes的etcd数据查看和迁移

    • Kubernetes探秘—etcd状态数据及其备份

然后,运行:

#查看etcd集群的成员:
etcdv3 member list

#删除etcd集群的不可访问的成员:
etcdv3 member remove XXXXXXXXXX

#再次查看etcd集群的成员:
etcdv3 member list

然后,再来运行Kubernetes升级命令:

#检查升级状态。
sudo kubeadm upgrade plan

#直接升级到Kubernetes 1.18.1版本。
#!可能需要将镜像预先部署到所有节点上。
sudo kubeadm upgrade apply v1.18.2

升级成功。

到此,关于“kubernetes高可用集群升级的etcd错误怎么解决”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


新闻名称:kubernetes高可用集群升级的etcd错误怎么解决
文章转载:http://ybzwz.com/article/ijipdg.html