Kubernetes jenkins pod создает шаблон в неправильном пространстве имен

У нас есть архитектура master-slave от 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') {


По какой бы то ни было причине, строитель-стручок создается в default пространство имен вместо jenkins Пространство имен

Есть идеи, что может быть не так? Заранее спасибо.

3 ответа

Вы всегда можете форсировать пространство имен, включив его в определение своего контейнера:

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 по умолчанию? Существуют настройки как для общей цели пространства имен, так и для отдельных целей пространства имен шаблона контейнера. Если у вас нет ни одного, вышеуказанное решение для установки значения пространства имен может быть единственным способом

Проверьте имя с:

kubectl config get-contexts

А затем измените пространство имен контекста перед развертыванием вашего модуля

kubectl config <NAME> set-context --namespace=jenkins

Вам необходимо проверить в интерфейсе администратора Jenkins конфигурацию плагина Kubernetes, вы можете переопределить некоторые параметры из пользовательского интерфейса.

Другие вопросы по тегам