基于k8s的jenkins集群迁移
迁移原则:保证迁移前后jenkins master deploy名称不变;jenkins中job元信息不变;做到用户无感知迁移;各个jenkins deploy对应的service暴露的port保持不变。需迁移的数据及方案:迁移单位:jenkins deployment;Service;ServiceAccount; ClusterRoleBinding;...
·
迁移原则:
-
保证迁移前后jenkins master deploy名称不变;
-
jenkins中job元信息不变;做到用户无感知迁移;
-
各个jenkins deploy对应的service暴露的port保持不变。
需迁移的数据及方案:
- 迁移单位:jenkins deployment;Service;ServiceAccount; ClusterRoleBinding; ConfigMap; PVC;PV
- 方案:
- 通过yaml方式迁移主要的k8s 资源;在待迁移的集群里执行kubectl get xxx -n jenkins -o yaml > jenkinsxxxx.yaml;
- 在新集群中创建jenkins namespace;将取到的yaml文件,拷贝到新的集群;
- 将新集群的apiServer公钥;apiServer的静态IP地址及端口号,更新到configMap.yaml中;
- 将新集群StorageClass的ReclaimPolicy改为Retain;
- kubectl apply -f xxxx.yaml -n jenkins;此时所有jenkins pod都处于pending状态;
- 将旧集群PV的回收策略改为Retain;查找jenkins deploy使用的PV VolumeID;在控制台中解绑对应的云硬盘;解绑后的云硬盘会自动挂载至新集群中对应的PV上。
- 检查新集群,确定Pod状态是否正常;
- 查看新集群控制管理网卡的IP;将软开服务数据库中记录的jenkins IP更新。
更多推荐
已为社区贡献1条内容
所有评论(0)