Адрес туннеля Jenkins, который я указываю в Jenkins-> Configure Cloud, похоже, не работает. Может ли кто-нибудь помочь мне с тем же?

У меня есть кластер Kubernetes, работающий на GKE, и сервер Jenkins, работающий на экземпляре GCP. Я использую плагин Kubernetes для динамического создания подов в кластере kubernetes. Я создал для этого конвейер (декларативный синтаксис). Итак, я знаю, что подчиненные агенты Jenkins связываются с мастером Jenkins через порт 50000. Фрагмент конфигурации

Но по какой-то причине, когда я просматривал логи для контейнера JNLP, созданного Jenkins, я получил исключение - tcpSlaveAgentListener not found. Фрагмент журнала контейнера. Согласно приведенному выше изображению, я предполагаю, что туннелирование не удалось, поскольку он пытается подключиться к http://34.90.46.204:8080/tcpSlaveAgentListener/, тогда как он должен подключиться к http://34.90.46.204:50000/tcpSlaveAgentListener/.

1 ответ

Решение

Мне было лениво задавать этот вопрос, но я решил проблему.

В Управлении Jenkins-> Настроить параметры глобальной безопасности:

Для параметра настройки порта для входящих агентов TCP: снимите флажок с параметра отключения, который выбран по умолчанию, а затем укажите порт для взаимодействия входящих агентов (50000).Фрагмент конфигурацииJenkins использует порт TCP для связи с агентами, подключенными к входящей сети. Если вы собираетесь использовать входящих агентов, вы можете позволить системе случайным образом выбирать порт при запуске (это позволяет избежать вмешательства в другие программы, включая другие экземпляры Jenkins). Поскольку брандмауэрам сложно защитить случайный порт, вы можете вместо этого указать фиксированный номер порта и соответствующим образом настроить брандмауэр.

Надеюсь, это кому-то поможет.

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