Используйте существующую службу в Kubernetes через Дженкинса

#jenkins #kubernetes #kubernetes-pod #kubernetes-service #jenkins-kubernetes

Вопрос:

У меня есть конвейер Дженкинса, который запускает приложение в облаке с помощью плагина Kubernetes.

До сих пор у меня был простой файл yaml, который настраивает модуль. Конвейер Дженкинса создает модуль и выполняет некоторые операции (он анализирует некоторые данные).

Я создал службу (с 1 репликой), которую я развернул, и я хочу использовать ее в Jenkins вместо создания одного и того же модуля при каждом запуске.

Может кто-нибудь, пожалуйста, посоветовать, как это сделать? В настоящее время именно так я запускаю конвейер:

 stage('Parse logs') {
    agent {
        kubernetes {
            cloud 'sandbox'
            label 'log-parser'
            yamlFile 'jenkins/logparser.yaml'
        }
    }
    when {
        beforeAgent true
        expression { params.parse_logs }
    }
    steps {
        container('log-parser'') {
            sh '/usr/local/openjdk-11/bin/java -jar /opt/log-parser/log-parser.jar --year=$year --month=$month --day=$day --hour=$hour
        }
    }
} 
 

Не могли бы вы посоветовать, как использовать созданный сервис «анализатор журналов» вместо создания модуля каждый раз, когда я запускаю конвейер?

Комментарии:

1. Какую версию Kubernetes вы использовали и как вы настроили кластер? Вы использовали установку с голым металлом или какой-то облачный провайдер? Какой именно плагин вы использовали?

2. Привет @DragosRoban. Есть какие-нибудь новости?

3. На самом деле, насколько я проверял, это не совсем возможно. Что мне нужно сделать, я создал независимую службу и связал модули, созданные плагином Дженкинса, с этой службой, используя метки и селекторы. Это можно найти в официальной документации.