美文网首页
K8S 迁移升级

K8S 迁移升级

作者: 张朔源 | 来源:发表于2020-06-30 21:51 被阅读0次

    在当前集群中,进行平滑升级不太可能实现,k8s 本身 api 变动巨大,我们的 k8s 版本又比较老,那么余下的方案,就只有新建一个新 Cluster,老的服务,一步一步迁移过去。下面列举一下需要特殊照顾的服务和基础设施

    Jenkins

    用 Helm 部署新 Jenkins 就好了, 配置方面:

    1. jobs 目录复制过去即可
    2. certification.xml 关乎密钥,复制过去(复制过去也不能用,应该还缺少个解秘的配置,不清楚是哪个文件)

    问题: Dashboard View,分组会没有,不知道哪个配置文件管理的,不过这个不重要。

    密钥+配置文件

    TODO, 这个应该可以做到一个命令备份所有文件,然后到新集群上重放

    NFS

    为了预防 NFS Provider 打架,要专门为新 Cluster 创建一个新的 NFS Server。老集群中的数据,一点一点梳理,然后在新的集群构建 PVC,把文件复制进去即可。数据库部分,可以备份数据库数据,在新建集群的数据库里restore 一下。

    LoadBalance 和 Ingress Controller

    我们用的是 内/外网 UCloud LB TCP => Ingress Controller 的方案。

    内网LB可以粗暴一些,直接新建一个给新集群用。

    至于外网LB,很硬的方案:硬切,把服务在新集群上部署完毕,先 kill 老的 Ingress Controller 到 LB 的映射,再立马将LB 关联到新的 Ingress Controller上,这里面一定会有几秒的服务中断。

    保险一点的方案是,服务在新集群创建,老集群将流量转发到新集群的内网 LB(内网 Nginx Ingress Controller)。等一切OK,再直接将外网ULB从老集群断开,切到新集群上。

    CertManager

    服务用 Helm 部署即可。配置迁移参考:https://cert-manager.io/docs/tutorials/backup/

    Vault

    参考官网迁移方案

    相关文章

      网友评论

          本文标题:K8S 迁移升级

          本文链接:https://www.haomeiwen.com/subject/zhpfqktx.html