尝试平滑升级,保证集群在线稳定
一、etcd
通过官方文档,我们发现。从1.6开始,集群需要etcd版本为3.0,目前etcd2.0 和3.0 的数据不能互通,
已知问题:
1、 etcd和go 的版本问题
v3.0.x 应该使用Go 1.6.x
v3.1.x 应该使用Go 1.7.x
github url
https://github.com/coreos/etcd/issues/6951
etcd 集群,只有全部节点都是3以上版本,才会更改集群为3.0.
所以,可以平滑升级到1.6。
利用自写脚本调用kubernetes api,把数据读取出来,保存到数据库(比如mysql)
然后当etcd集群升级到3.0后,再用脚本调用kubernetes api,把数据写回到etcd3.0
升级前,最好备份etcd数据。如果出现问题,把etcd集群降级到2.x版本 就可以了。
因为etcd2.x和3.x的数据是共存的,但是不互通
转载于:https://blog.51cto.com/foxhound/1923548