温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-12-24 09:33:29 来源:亿速云 阅读:331 作者:iii 栏目:云计算

这篇文章主要介绍“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错误怎么解决”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI