首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jenkins operator v0.4.0部署在kubernetes上,但是我们不能持久化我们的作业和管道

jenkins operator v0.4.0部署在kubernetes上,但是我们不能持久化我们的作业和管道
EN

Stack Overflow用户
提问于 2021-01-20 03:27:23
回答 1查看 185关注 0票数 0

使用jenkins运算符在kubernetes上安装jenkins时,我们遇到了一个问题,因此我们无法持久创建作业,因为在重新启动pod后,我们丢失了作业,以下是用于启动它的配置:

代码语言:javascript
复制
apiVersion: jenkins.io/v1alpha2
kind: Jenkins
metadata:
  name: jenkins
  namespace: integration
spec:
  configurationAsCode:
    configurations:
  groovyScripts:
    configurations:
  backup:
    containerName: backup
    action:
      exec:
        command:
        - /home/user/bin/backup.sh
    interval: 30
    makeBackupBeforePodDeletion: true
  restore:
    containerName: backup
    action:
      exec:
        command:
        - /home/user/bin/restore.sh
  master:
    basePlugins:
    - name: kubernetes
      version: 1.25.2
    - name: workflow-job
      version: "2.39"
    - name: workflow-aggregator
      version: "2.6"
    - name: git
      version: 4.2.2
    - name: job-dsl
      version: "1.77"
    - name: configuration-as-code
      version: "1.38"
    - name: kubernetes-credentials-provider
      version: "0.13"
    plugins:
    - name: maven-plugin
      version: "3.8"
    - name: ansible
      version: "1.1"
    - name: bitbucket
      version: 1.1.27
    - name: bitbucket-build-status-notifier
      version: 1.4.2
    - name: docker-plugin
      version: 1.2.1
    - name: generic-webhook-trigger
      version: "1.72"
    - name: github-pullrequest
      version: 0.2.8
    - name: job-import-plugin
      version: "3.4"
    - name: msbuild
      version: "1.29"
    - name: nexus-artifact-uploader
      version: "2.13"
    - name: pipeline-npm
      version: 0.9.2
    - name: pipeline-utility-steps
      version: 2.6.1
    - name: pollscm
      version: 1.3.1
    - name: postbuild-task
      version: "1.9"
    - name: ranorex-integration
      version: 1.0.2
    - name: sidebar-link
      version: 1.11.0
    - name: sonarqube-generic-coverage
      version: "1.0"
    - name: sonar
      version: "2.13"
    - name: simple-theme-plugin
      version: "0.6"
    priorityClassName:
    disableCSRFProtection: false
    containers:
      - name:  jenkins-master
        image: jenkins/jenkins:lts
        imagePullPolicy: Always
        livenessProbe:
          failureThreshold: 12
          httpGet:
            path: /login
            port: http
            scheme: HTTP
          initialDelaySeconds: 80
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 5
        readinessProbe:
          failureThreshold: 3
          httpGet:
            path: /login
            port: http
            scheme: HTTP
          initialDelaySeconds: 30
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 1
        resources:
          limits:
            cpu: 1500m
            memory: 3Gi
          requests:
            cpu: 1
            memory: 500Mi
      - name: backup
        image: virtuslab/jenkins-operator-backup-pvc:v0.0.8
        imagePullPolicy: IfNotPresent
        env:
        - name: BACKUP_DIR
          value: /backup
        - name: JENKINS_HOME
          value: /jenkins-home
        - name: BACKUP_COUNT
          value: "3"
        volumeMounts:
        - mountPath: /jenkins-home
          name: jenkins-home
        - mountPath: /backup
          name: backup
    volumes:
    - name: backup
      persistentVolumeClaim:
        claimName: jenkins-backup
    - name: jenkins-home
      persistentVolumeClaim:
        claimName: jenkins-home
    securityContext:
      fsGroup: 1000
      runAsUser: 1000
  seedJobs:
    - description: Jenkins Operator repository
      id: jenkins-operator
      repositoryBranch: master
      repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git
      targets: cicd/jobs/*.jenkins

操作员有两个脚本backup和restore,我们看到的是我们预先配置的作业是持久存在的,但是新创建的一个(使用GUI)它们不是。关于这个问题有什么想法吗?或者jenkins操作符不允许持久化?

EN

回答 1

Stack Overflow用户

发布于 2021-12-02 07:18:45

从文档(https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configuring-backup-and-restore/):

由于Jenkins Operator的体系结构,Jenkins的配置应该使用ConfigurationAsCode或GroovyScripts完成,作业应该定义为SeedJobs。这意味着备份任何作业配置都没有意义。因此,备份脚本仅制作作业历史记录的副本。

所以,是的,这是预期的行为,您应该以SeedJobs的身份创建新作业,而不是在图形用户界面中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65798201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档