K8S和docker的版本一直在更新,在银行对于容器云平台的版本管理是如何开展的?比如1)容器云平台版本更新会存在哪些问题需要关注?2)容器云平台的版本如何选择?3)更新的频率怎么管控?3)更新后的应用系统适配如何开展等。
1、综合评估K8S和DOCKER版本的兼容度、对操作系统版本的依赖度,以确定 容器云平台的版本管理 策略。
2、 银行通常采用商用版本的容器云平台产品,版本选择上,一方面和厂商产品版本相关,另一方面和银行的需求、运维体系和厂商的技术支持策略相关。通常是一至三年的周期升级一个大版本。日常的补丁版本,根据银行安全要求进行选择。
3、版本升级,需要在测试环境进行充分测试,包括应用适配等测试验证工作完成后,才能到生产环境进行灰度升级。
1、更新可能会存在的问题
应用做多集群多活,防止当某个集群升级异常引起业务不可用。
将需要升级的节点上应用Pod进行驱逐,避免因升级异常影响业务可用性。
明确业务是否可以中断,防止集群升级时因网络重启短时影响业务访问。
做好相关数据备份。如yaml
2、版本选择
一般建议比社区晚1~2个版本,版本尽量选择成熟和稳定的版本,多看看社区中对版本反馈。
3、更新频率
K8s每年一般会有三个版本更新,参照上面建议一年升级一次一般就够了。
当然,个别版本的特性是急需的能力,临时升级也可能存在。
还有就是自研的部分,在升级后需要调整的工作量有多大?这个在升级前也要做好评估。
4、更新后应用适配
如果只是升级集群本身,一般不会改动。当然由于升级异常后,造成服务不正常或不启动,建议用备份的ETCD中的信息进行重新发布。建议升级前应用Pod驱逐到其他节点上,然后逐个节点进行升级。