k8s部署jenkins集群时,使用ThinBackup进行定期备份

一、背景

使用k8s部署jenkins集群的时候,一般会把$JENKSIN_HOME(默认是/var/jenkins_home)进行持久化。

bash 复制代码
          volumeMounts:
            - name: jenkins-home
              mountPath: /var/jenkins_home

这样,机器重启,保证不会丢失文件。

本文要讲述的是如何及时对Jenkins进行备份,也存放在$JENKSIN_HOME目录下。

分为三部分讲述:

  • 安装ThinBackup插件
  • 配置ThinBackup
  • 查看备份

二、安装ThinBackup插件

在系统配置--》插件管理,搜索并安装ThinBackup

当安装完成ThinBackup插件后,下拉至系统管理的底部,找到ThinBackup的管理菜单。

三、配置备份策略

填写备份文件存放的路径,这里填写的是/var/jenkins_home/backup,其中/var/jenkins_home是Jenkins的工作空间。

查看系统信息之环境变量

四、查看备份

找到/var/jenkins_home持久化的目录所在。

bash 复制代码
/mnt/nfs/kubernetes-plugin-jenkins-home-jenkins-0-pvc-40c00e02-5a14-4f50-8c41-55c9a1ffc49c

进入查看备份文件:

bash 复制代码
root@dev-vm-k8s-master:/mnt/nfs/kubernetes-plugin-jenkins-home-jenkins-0-pvc-40c00e02-5a14-4f50-8c41-55c9a1ffc49c/backup# ll -h
total 959M
drwxr-xr-x  3 ubuntu ubuntu  215 Sep 20 05:46 ./
drwxrwxrwx 22 root   root   8.0K Sep 20 06:02 ../
-rw-r--r--  1 ubuntu ubuntu 240M Sep 16 14:47 BACKUPSET_2024-09-14_23-00_.zip
-rw-r--r--  1 ubuntu ubuntu 240M Sep 17 14:47 BACKUPSET_2024-09-16_23-00_.zip
-rw-r--r--  1 ubuntu ubuntu 240M Sep 18 14:47 BACKUPSET_2024-09-17_23-00_.zip
-rw-r--r--  1 ubuntu ubuntu 240M Sep 19 14:46 BACKUPSET_2024-09-18_23-00_.zip
drwxr-xr-x  6 ubuntu ubuntu 8.0K Sep 19 14:45 FULL-2024-09-19_23-00/

ThinBackup备份策略填写的是保留5个备份。

上面的备份列表缺少2024-09-15日的备份,是因为k8s证书过期而导致jenkins集群故障,最终ThinBackup备份失败。

五、还原备份

1、整理Job

删除其他的Job,只保留以下job。

现在,需要通过备份,恢复删掉的Job。

2、选择要恢复的备份


3、重启jenkins

在没有重启Jenkins前,备份的恢复效果是看不出来的。

4、恢复备份后

恢复的备份,这些job是没有构建历史的,所以他们的图标都是灰色的。而之前保留的job,则是蓝色的,且有构建历史记录。

相关推荐
Sinowintop14 小时前
易连EDI-EasyLink SFTP文件传输
运维·服务器·网络·sftp·edi·ftp·国产edi软件
风123456789~15 小时前
【Linux专栏】显示或隐藏行号、批量注释
linux·运维·服务器
谢尔登16 小时前
简单聊聊webpack摇树的原理
运维·前端·webpack
只想安静的写会代码17 小时前
centos/ubuntu/redhat配置清华源/本地源
linux·运维·服务器
2501_9418814017 小时前
Kubernetes 容器集群资源调度与弹性扩容高可用架构在互联网业务实战经验总结
云原生·容器·kubernetes
究極の法則に通じた野犬17 小时前
k8s设计理念-k8s中哪些服务要部署成StatefulSet哪些部署成Deployment
云原生·容器·kubernetes
wuxingge17 小时前
k8s集群误删node节点,怎么添加回去
云原生·容器·kubernetes
susu108301891117 小时前
ubuntu多块硬盘挂载到同一目录LVM方式
linux·运维·ubuntu
smaller_maple18 小时前
linux问题记录1
linux·运维·服务器
阿星智力囊20 小时前
Thinkphp6+nginx环境报错信息不显示,接口直接报500和CORS跨域(错误的引导方向),真坑啊
运维·nginx·php·thinkphp6