架构之路-k8s集群更换master ip解决方案研究

前言

最近有个很特殊的需求,某家客户需要迁移网络所以也就需要更换自己 master 的 ip,针对已经部署好的系统想更换 ip 是很难的,因为数据是存在 etcd 里面,我现在没找到修改 etcd 数据的方法,网上也查了一下没找到可行性方案,于是采取了重新初始化的方案,还好系统部署已经流程化了,所以操作比较简单

因为 etcd 数据我不知道怎么去修改,所以这并不是一个完美的解决方案,但针对修改ip提供了一个独特的思路

不重新初始化系统的更换ip策略

我们的集群采用二进制方式部署,其中和ip有关的有如下信息

1.集群https证书(etcd 也配置有自己的 etcd 证书)

2.集群etcd启动项配置文件

3.kube-apiserver,kube-proxy,kubelet 等启动项配置文件

4.flannel网络

5.etcd存储中的数据

前面四个还好修改,但是etcd存储数据我现在没找到好的办法来修改,所以etcd只能重新初始化,导致集群必须重新初始化一次

集群初始化小技巧

集群重新初始化其实还算方便

1.重新颁发ssl证书

2.重新初始化etcd

3.docker实际上是独立的应用,可以不用重新安装初始化,省去了很多麻烦

4.重新初始化master

5.重新添加注册节点信息

6.重新初始化网络

总结

需要重新初始化系统的根本原因是etcd中的元数据我不知道去修改,找到修改的办法后可以尝试不重新初始化系统的方法

重新初始化方法已经在一家单位验证通过,嘿嘿

坚持原创技术分享,您的支持将鼓励我继续创作!