【问题标题】:Adding manual Jenkins Agents through Helm通过 Helm 添加手动 Jenkins 代理
【发布时间】:2019-09-02 23:04:12
【问题描述】:

我已经使用官方Helm chart 启动了一个 Jenkins Master 实例。该文档确实提供了要为代理设置的值。但是如何通过这个图表手动添加代理呢?

“代理”部分中的文档显示了安装步骤

$ helm install --name my-release -f values.yaml stable/jenkins

但这与设置主节点的命令相同。是否应该以某种方式设置值以传达设置代理而不是主节点的意图?

(我知道用于创建动态节点的 Jenkins Kubernetes 插件,但我需要添加一个静态/手动节点)。

【问题讨论】:

    标签: jenkins kubernetes kubernetes-helm


    【解决方案1】:

    我花了一点时间才弄清楚这一点。

    似乎当您指定代理配置时,在 helm 图表中,然后 a "cloud" configuration is enabled 使用 Kubernetes 插件将从节点作为 pod 运行。 就我个人而言,我更喜欢启用 Jenkins as Code plugin 并明确配置我想要运行的 pod。例如:

          JCasC:
            enabled: true
            pluginVersion: 1.23
            configScripts:
              cloud-config: |-
                jenkins:
                  clouds:
                  - kubernetes:
                      containerCapStr: "10"
                      jenkinsTunnel: "jenkins-test-agent:50000"
                      jenkinsUrl: "http://jenkins-test:8080"
                      maxRequestsPerHostStr: "32"
                      name: "kubernetes"
                      namespace: "jenkins"
                      serverUrl: "https://kubernetes.default"
                      templates:
                      - name: mycompany-base
                        label: mycompany-base
                        yaml: |-
                          apiVersion: v1
                          kind: Pod
                          spec:
                            containers:
                            - name: skaffold
                              image: gcr.io/k8s-skaffold/skaffold:v0.33.0
                              command:
                              - cat
                              tty: true
                              volumeMounts:
                              - name: docker-sock
                                mountPath: /var/run/docker.sock
                            volumes:
                            - name: docker-sock
                              hostPath:
                                path: /var/run/docker.sock
                                type: ""
                      - name: mycompany-go
                        label: mycompany-go
                        inheritFrom: mycompany-base
                        yamlMergeStrategy: merge
                        yaml: |-
                          apiVersion: v1
                          kind: Pod
                          spec:
                            containers:
                            - name: go
                              image: golang:1.11-stretch
                              command:
                              - cat
                              tty: true
    

    我还没有尝试过,但我相信您可以使用相同的技术来配置一个正常的基于 SSH 的从站以运行。 JasC 插件旨在使您能够自动化我们通常可以通过 UI 设置的东西。

    【讨论】:

      猜你喜欢
      • 2018-03-11
      • 1970-01-01
      • 1970-01-01
      • 2012-11-23
      • 1970-01-01
      • 1970-01-01
      • 2014-08-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多