Kubernetes jenkins pod создает шаблон в неправильном пространстве имен - PullRequest
0 голосов
/ 05 апреля 2019

У нас есть архитектура 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 ]

0 голосов
/ 05 апреля 2019

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

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

0 голосов
/ 05 апреля 2019

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

0 голосов
/ 05 апреля 2019

проверьте имя с помощью:

kubectl config get-contexts

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

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