jenkinsci/blueocean镜像是优化界面化的一个版本
目前镜像版本: jenkinsci/blueocean:1.19.0,对应的jenkins版本为:1.190.2
升级后的版本: jenkinsci/blueocean:1.24.3,对应的jenkins版本为:2.263.2
注:如果不是这个版本的镜像不能使用这个镜像版本升级
1、提前准备
备份数据
查看目前容器挂载的数据卷,把数据做备份
第一种备份方式:通过容器信息找到所对应的node节点,进入容器打包jenkins_home文件夹并拷贝到容器外部
第二种备份方式:找到nfs容器,进入后打包拷贝整个jenkins容器挂载的pvc的文件夹到nfs容器外部
2、启动临时节点
1)在阿里云平台,创建按量付费ECS主机,加入到cicd集群,设置标签
2)创建新的pvc,把第一步备份的数据导入到新的pvc中
3、开始升级
登录rancher,克隆现在的jenkins-master服务,修改数据卷挂载到新的pvc上
替换镜像:jenkinsci/blueocean:1.19.0 —> jenkinsci/blueocean:1.24.3
修改调度标签
点击【升级】,查看日志,正常情况下,升级会删除jenkins_home目录下已有的war包文件,并开始升级插件。
注:配置k8s slave时,需要使用本地模式,无需CA证书认证
4、问题整理
问题1:升级之后,web界面打不开登录界面
解决:手动删除war包文件,再次启动服务
问题2:升级之后,web界面依然提示插件错误,无法启动服务
解决:备份config配置文件,制作一份默认的config配置文件,启动服务登录成功后,点击【系统管理】查看插件是否报错,解决依赖关系即可
问题3:升级之后,显示部分项目,有很多未显示出来
解决:点击【系统管理】—【插件管理】,选择可【兼容】的插件升级,千万不要选择【全部】升级。一般这种兼容升级需要重启jenkins服务,并重复的选择【兼容】升级几次即可
问题4:升级之后,slave节点调度到K8S集群中,无限重建
解决:由于现在jenkins-master端口号是Hostport模式,查看pod是否与jenkins-master服务在同一个K8S集群节点,如果是,查看下50000端口号是否正常开启
问题5:升级之后,slave节点报:tcpSlaveAgentListener/ is invalid: 500 Server Error
解决:查看下jenkins服务中配置的K8S集群信息是否正确,或者修改pod名称与jenkins的连接配置一致