Jenkins POD 重启如何持久化 Jenkins 配置和插件

Jenkins POD restarts how to persists Jenkins configuration and plugin

我已经将我的 Jenkins 部署为 kubernetes yaml 文件的一部分,并且还启用了 Persist volume claim,当我的 Jenkins pod 重新启动时,我丢失了所有的作业和配置,这意味着我需要重新安装所有 Jenkins suggest 插件,配置 kubernetes 云,配置 git 存储库,并创建新的管道作业。

cloud你帮我看看如何避免上述情况。

vi jenkins-deployment.yaml

kind: Deployment
apiVersion: apps/v1
metadata:
  name: jenkins-master
  namespace: jenkins
  labels:
    app: jenkins-master
spec:
  replicas: 1
  selector:
    matchLabels:
      app: jenkins-master
  template:
    metadata:
      labels:
        app: jenkins-master
    spec:
      securityContext:
        fsGroup: 1000
      containers:
      - name: jenkins
        image: jenkins/jenkins:lts
        imagePullPolicy: Always
        ports:
        - containerPort: 8080
        - containerPort: 50000
        readinessProbe:
          httpGet:
            path: /login
            port: 8080
          initialDelaySeconds: 300
          periodSeconds: 10
          timeoutSeconds: 5
          successThreshold: 2
          failureThreshold: 5
        volumeMounts:
        - mountPath: "/var"
          name: jenkins-home
          subPath: jenkins_home
        resources:
          limits:
            cpu: 800m
            memory: 3Gi
          requests:
            cpu: 100m
            memory: 3Gi
      volumes:
      - name: jenkins-home
        persistentVolumeClaim:
          claimName: pvc-jenkins-home

vi jenkins-pvc.yaml

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: pvc-jenkins-home
  namespace: jenkins
spec:
  storageClassName: efs
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 10Mi
 kubectl get pvc -n jenkins
NAME               STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
pvc-jenkins-home   Bound    pvc-4ccf3f55-6894-4fee-88d7-58dd7584b837   10Mi       RWO            efs            59m

如果我需要任何详细信息,请告诉我

请从 volumeMounts 中删除 subpath,因为子路径将覆盖 /var 目录下的所有内容。所以它应该是这样的

volumeMounts:
- mountPath: /var
  name: jenkins-home