首页 > 解决方案 > 一个 Jenkins,两个 Kubernetes 集群

问题描述

我正在尝试使用多个 Kubernetes 云并且只有一个 Jenkins。我能够将两个 Kubernetes 集群都注册为云,并且所有登录检查都有效。当我在 Jenkins 所在的集群上运行构建时,它工作正常、提取代码、构建映像等等。

但是,当我将标签更改为我的第二个集群时,没有任何 Jenkins 似乎永远不想在那里构建,并且总是构建在 Jenkins 本地的集群上。

我错过了一些愚蠢的东西,我很确定,但看不到它是什么。

标签: jenkinskubernetes

解决方案


为了使它与两个 Kubernetes 集群和一个 Jenkins 一起工作,我所做的是我使用了一个名为:cloud '' 的指令,如下所示:

stage('do something') {            
            agent { kubernetes {
                // CluserName is configured in Jenkins --> Manage Jenkins --> configure system in the Kubernetes plugin section
                cloud '<Clustername>'
                label "<TheLabelYouGave>"
                containerTemplate {
                name 'maven'
                image 'maven:3.3.9-jdk-8-alpine'
                ttyEnabled true
                command 'cat'
                }
            }
        }
        steps {
            script {
                echo "${pom.version} ======================================================="
            }                
        }             
}

您可以在位于 GitHub 中 Jenkins 存储库的 Kubernetes 插件文档的示例中看到这一点: https ://github.com/jenkinsci/kubernetes-plugin Ctrl + f 并搜索云“kubernetes”


推荐阅读