В чем проблема
Основываясь на приведенной ниже конфигурации, я сделал 2 тестовых случая:
- Я использую мои заданные изображения, есть 2 контейнера, которые будут созданы в одном модуле, включая мой определяемый контейнер, плагин jenkins kubernetes автоматически создаст контейнер JNLP, но фактическая команда выполняется в контейнере JNLP, а не в моем указанном контейнере.
- Я пытаюсь расширить образы jnlp-slave (получить их с офисного сайта), имя контейнера - "jnlp" на страницах плагина kubenetes (изображения создаются с помощью файла офисного докера) https://hub.docker.com/r/jenkins/jnlp-slave/~/dockerfile/"), Сначала я разрешу Базовые изображения Jenkins / Slave работают хорошо, затем попробуйте расширить его, как мне нужно.
но когда я пытаюсь использовать по умолчанию один, он всегда запрашивает «Ожидание подключения агента (1/100)», кажется, ждет подключения клиента JNLP, я ввожу динамическое изображение, которое создает плагин jenkins kubernetes, я обнаружил, что нет любое отношение процесса к "ENTRYPOINT [" jenkins-slave "]", я проверял логи jenkins, это подсказывало ниже информацию. Буду очень рад любой подсказке.
Created Pod: kube-com-mini-fqt9p in namespace kube-system
Waiting for Pod to be scheduled (0/100): kube-com-mini-fqt9p
Container is waiting kube-com-mini-fqt9p [jnlp]: ContainerStateWaiting(message=null, reason=ContainerCreating, additionalProperties={})
Waiting for Pod to be scheduled (1/100): kube-com-mini-fqt9p
Waiting for agent to connect (1/100): kube-com-mini-fqt9p
Waiting for agent to connect (2/100): kube-com-mini-fqt9p
Waiting for agent to connect (3/100): kube-com-mini-fqt9p
Waiting for agent to connect (4/100): kube-com-mini-fqt9p
Waiting for agent to connect (5/100): kube-com-mini-fqt9p
Waiting for agent to connect (6/100): kube-com-mini-fqt9p
Waiting for agent to connect (7/100): kube-com-mini-fqt9p
Waiting for agent to connect (8/100): kube-com-mini-fqt9p
Waiting for agent to connect (9/100): kube-com-mini-fqt9p
Waiting for agent to connect (10/100): kube-com-mini-fqt9p
Waiting for agent to connect (11/100): kube-com-mini-fqt9p
Waiting for agent to connect (12/100): kube-com-mini-fqt9p
Waiting for agent to connect (13/100): kube-com-mini-fqt9p
Waiting for agent to connect (14/100): kube-com-mini-fqt9p
=============================================== ===============
ENV:
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.2", GitCommit:"bb9ffb1654d4a729bb4cec18ff088eacc153c239", GitTreeState:"clean", BuildDate:"2018-08-07T23:17:28Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.2", GitCommit:"bb9ffb1654d4a729bb4cec18ff088eacc153c239", GitTreeState:"clean", BuildDate:"2018-08-07T23:08:19Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
Jenkins Version :Jenkins ver. 2.138
Jenkins kubernetes Plugin : 1.12.3
Что я сделал:
- Хорошо работает кластер Kubernetes
- Главный сервер Jenkins независим от кластера Kubernetes.
- Jenkins kubernetes plugi успешно прошел проверку учетных данных и подключения kubernetes.
- Добавлено облако kubernetes с пометкой POD.
- Скомбинировал метку с заданием Дженкинса «Ограничить, где можно запустить этот проект»
FROM jenkins/slave:3.23-1-alpine
MAINTAINER Oleg Nenashev <o.v.nenashev@gmail.com>
LABEL Description="This is a base image, which allows connecting Jenkins agents via JNLP protocols" Vendor="Jenkins project" Version="3.23"
COPY jenkins-slave /usr/local/bin/jenkins-slave
ENTRYPOINT ["jenkins-slave"]
как запустить работу:
Jenkins запускает задания по команде curl (не в конвейере), плагин jenkins kubernetes может запускать задания с моими заданными изображениями.