groovy Jenkins JCASC Kubernetes插件-允许podTemplate包含YAML

vkc1a9a2  于 2023-03-17  发布在  Jenkins
关注(0)|答案(1)|浏览(180)

我使用Jenkins配置作为代码(JCASC)。
我有一个pod模板,我想添加节点选择器+公差。podTemplate不支持公差和节点选择器的关键,所以我需要添加pod YAML规范...

agent:
        enabled: true
        podTemplates:
     podTemplates:
          jenkins-slave-pod: |
            - name: jenkins-slave-pod
              label: global-slave
              serviceAccount: jenkins
              idleMinutes: "15"
              containers:
                - name: main
                  image: 'xxxxxx.dkr.ecr.us-west-2.amazonaws.com/jenkins-slave:ecs-global'
                  command: "sleep"
                  args: "30d"
                  privileged: true

我在想加个yaml:只是配置pod的规格......但是当我添加yaml时:并添加yamlStrategy:merge/overrid它忽略了YAML,只使用我的podTemplate代替。
如何合并/覆盖我的podTemplate并添加具有容差/nodeSelectr的pod?
这是我想在我的播客中使用的YAML模板:

apiVersion: v1
          kind: Pod
          serviceAccount: jenkins-non-prod
          idleMinutes: "15"
          containers:
          - name: main
            image: 'xxxxxxxx.dkr.ecr.us-west-2.amazonaws.com/jenkins-slave:ecs-global'
            command: "sleep"
            args: "30d"
            privileged: true
          spec:
            nodeSelector:
              karpenter.sh/provisioner-name: jenkins-provisioner
            tolerations:
            - key: "jenkins"
              operator: "Exists"
              effect: "NoSchedule"
dgenwo3n

dgenwo3n1#

我试着给予你一点建议,如果有用的话告诉我。
如果您有一个Jenkins示例(安装了Kubernetes插件),您可以转到“管理Jenkins”/“配置云”并准备您认为合适的Pod模板,在那里您还可以找到nodeSelector和Toleration的定义。
保存您喜欢的设置后,转到“管理Jenkins”/“配置为代码”并将JCASC保存为Jenkins的代码配置(单击“下载配置”)。
您可以复制此工作模式,用于您想要添加到Jenkins的任何新配置。

相关问题