Jenkins на узле Kubernetes жалуется, что его плагины нуждаются в более новой версии Jenkins, но не хотят терять данные.

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

СЕРЬЕЗНО: не удалось загрузить плагин Matrix Authorization Strategy Plugin v2.4.2 (matrix-auth) java.io.IOException: Не удалось загрузить плагин Matrix Authorization Strategy Plugin v2.4.2. - Вы должны обновить Jenkins с v2.121.2 до v2.138.3 или более поздней версии, чтобы запустить этот плагин.

Тот же файл журнала также жалуется дальше, что он не может прочитать мой файл конфигурации ... Я надеюсь, что это просто из-за проблемы с версией выше, но я включаю ее сюда на случай, если это признак более глубоких проблем :

СЕРЬЕЗНО: не удалось загрузить глобальную конфигурацию java.io.IOException: невозможно прочитать /var/jenkins_home/config.xml

Я бы хотел либо отключить подключаемые модули, вызывающие проблему, чтобы я мог видеть пользовательский интерфейс Jenkins и управлять подключаемыми модулями оттуда, либо я хотел бы обновить Jenkins таким образом, чтобы НЕ УДАЛЯТЬ МОИ ДАННЫЕ ПОЛЬЗОВАТЕЛЯ И ДАННЫЕ КОНФИГУРАЦИИ РАБОТЫ.

До сих пор я пытался отключить ВСЕ надстройки, добавив файлы .disabled в папку надстроек Jenkins. Это избавило от большинства ошибок, но по-прежнему жаловалось на плагин выше. Поэтому я удалил для этого файл .disabled, и теперь он снова жалуется на то, что Jenkins снова не является достаточно новой версией (ошибка выше).

Примечание: эта установка Jenkins использует постоянный том хранилища, смонтированный с помощью EFS. Так что это, вероятно, поможет снять некоторые ограничения, связанные с обновлением Jenkins, если это то, что нам нужно сделать.

Наконец, что бы мы ни делали с плагинами и версией Jenkins, мне нужно убедиться, что изменение сохранится, если Kubernetes перезапустит узел в будущем. К сожалению, я довольно плохо знаком с Kubernetes и еще не обнаружил, где нужно внести эти изменения. Я предполагаю, что это за файл, который управляет конфигурацией развертывания Kubernetes?

В этом проекте используется Helm, если это важно. Но опять же, я почти ничего не знаю о Helm, поэтому я не знаю, какие файлы вам, возможно, потребуется просмотреть, чтобы решить этот вопрос. Прокомментируйте, чтобы я знал, что включить сюда, чтобы помочь предоставить необходимую информацию.


person David    schedule 12.06.2019    source источник


Ответы (1)


Мы столкнулись с той же проблемой с нашим кластером, и у нас есть базовое объяснение по этому поводу, но мы не уверены в этом (работает следующее исправление)

Эта ошибка связана с тем, что вы установили Jenkins через Helm, а их плагины - через пользовательский интерфейс Jenkins. Это сработает, если вы решите никогда не перезагружать модуль, но если однажды Дженкинсу придется снова выполнить инициализацию, вы столкнетесь с этой ошибкой. Дженкинс пытается загрузить плагины из JENKINS_PLUGINS_DIR, который пуст, поэтому модуль умирает.

Чтобы исправить текущую ошибку, вы должны указать свой плагин в параметре master.installPLugins. Если вы следовали обычной установке, просто перейдите в свой кластер и

helm get values jenkins_release_name

Так что у вас может получиться что-то вроде этого:

master:
  enableRawHtmlMarkupFormatter: true
  installPlugins:
  - kubernetes:1.16.0
  - workflow-job:2.32

По умолчанию некоторые значения «встроены» штурвалом, чтобы убедиться, что jenkins работает, подробнее см. Здесь: Github Helm Charts Jenkins

Итак, просто скопируйте его в файл с таким же синтаксисом и добавьте свои плагины с их версиями. После этого вам просто нужно использовать команду helm upgrade с файлом в вашем выпуске:

helm upgrade [RELEASE] [CHART] -f your_file.yaml

Удачи !

person Manyia    schedule 21.06.2019