0

我们有一个 jenkins 主从架构并使用 Kubernetes Jenkins 插件。podTemplate 如下所示

podTemplate(label: 'builder-pod', cloud: 'kubernetes', containers: [
        containerTemplate(
                name: 'jnlp',
                image: "${artifact_repo}/jenkins-slave",
                ttyEnabled: true,
                privileged: false,
                alwaysPullImage: false,
                workingDir: '/var/jenkins_home',
                resourceRequestCpu: '1000m',
                resourceRequestMemory: '1Gi',
                resourceLimitMemory: '1.1Gi',
        )
], volumes: [hostPathVolume(mountPath: '/var/run', hostPath: '/var/run')], namespace: 'jenkins') { //podtemplate
    node('builder-pod') {
        container('jnlp') {


无论出于何种原因,builder-pod 都是在default命名空间而不是jenkins命名空间中创建的

知道有什么问题吗?提前致谢。

4

3 回答 3

0

您需要在 Jenkins 管理界面上检查 Kubernetes 插件配置,您可以从 de UI 覆盖一些参数。

于 2019-04-05T19:57:39.717 回答
0

检查名称:

kubectl config get-contexts

然后在部署您的 pod 之前更改上下文命名空间

kubectl config <NAME> set-context --namespace=jenkins
于 2019-04-05T16:36:25.180 回答
0

您始终可以通过在容器定义中包含命名空间来强制命名空间:

containerTemplate(
                name: 'jnlp',
                namespace: 'jenkins',
                image: "${artifact_repo}/jenkins-slave",
                ttyEnabled: true,
                privileged: false,
                alwaysPullImage: false,
                workingDir: '/var/jenkins_home',
                resourceRequestCpu: '1000m',
                resourceRequestMemory: '1Gi',
                resourceLimitMemory: '1.1Gi',
        )

至于为什么它没有被加载到正确的命名空间中,您是否在任何地方都有默认的 kubernetes 插件配置设置?通用命名空间目标和单个容器模板命名空间目标都有设置​​。如果您都没有,上述设置命名空间值的解决方案可能是唯一的方法

于 2019-04-05T17:05:03.407 回答