1

Я пытаюсь настроить конфигурацию ведущего-ведомого с помощью плагина EC2 в jenkins. После настройки плагина EC2, jenkins успешно запускает slave, и я могу даже ssh в это подчиненное. Но когда я смотрю в журналы узлов у дженкинсов, я вижу, что дженкинсы не могут подключиться к подчиненному. Вот что я вижу:Невозможно подключиться к slave-устройству AWS через jenkins

This node is offline because Jenkins failed to launch the slave agent on it. See log for more details 
INFO: Authenticating as ubuntu 
Jan 31, 2017 6:29:00 PM null 
INFO: Connecting to ip-10-226-254-52.ec2.internal on port 22, with timeout 10000. 
Jan 31, 2017 6:29:10 PM null 
INFO: Failed to connect via ssh: The kexTimeout (10000 ms) expired. 
Jan 31, 2017 6:29:10 PM null 
INFO: Waiting for SSH to come up. Sleeping 5. 
Jan 31, 2017 6:29:15 PM null 
INFO: Connecting to ip-10-226-254-52.ec2.internal on port 22, with timeout 10000. 
Jan 31, 2017 6:29:25 PM null 
INFO: Failed to connect via ssh: The kexTimeout (10000 ms) expired. 
Jan 31, 2017 6:29:25 PM null 
INFO: Waiting for SSH to come up. Sleeping 5. 
ERROR: Unexpected error in launching a slave. This is probably a bug in Jenkins 
java.lang.NullPointerException 
at hudson.plugins.ec2.ssh.EC2UnixLauncher.bootstrap(EC2UnixLauncher.java:309) 
at hudson.plugins.ec2.ssh.EC2UnixLauncher.launch(EC2UnixLauncher.java:131) 
at hudson.plugins.ec2.EC2ComputerLauncher.launch(EC2ComputerLauncher.java:122) 
at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:253) 
at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46) 
at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
at java.lang.Thread.run(Thread.java:745) 

Я проверил через Интернет, но ничего не мог поделать. Если кто-либо из вас знаком с такой ошибкой, пожалуйста, помогите мне. Заранее спасибо.

+0

ли вы указали ключ SSH The Jenkins пользователь/процесс должен использовать для подключения ? –

+0

@MichaelJ - Да, я указал ключ, который я использовал для ssh из командной строки. Вот консоль выборочные Дженкинс выход 'INFO: Запуск экземпляра: я-04f2269ce08edf96d 1 февраля 2017 3:13:41 AM нулевой INFO: самозагрузки() 1 февраля 2017 3:13:41 AM нулевой INFO: Получение keypair ... Feb 01, 2017 3:13:41 AM null INFO: Использование ключа: fst-load-demo' – krish

+0

Я также вижу, как дженкинс пытается подключиться к ведомому экземпляру непрерывно 'INFO: Ожидание SSH Подниматься. Спящий 5. 01 февраля 2017 года 4:59:58 утра INFO: Подключение к 10.226.254.15 на порту 22 с таймаутом 10000. 01 февраля 2017 года 5:00:08 утра INFO: Не удалось подключиться через ssh: Истекает kexTimeout (10000 мс). Feb 01, 2017 5:00:08 утра INFO: Ожидание SSH. Спящий 5. 01 февраля 2017 года 5:00:13 утра ИНФО: Подключение к 10.226.254.15 по порту 22, с таймаутом 10000'. – krish

ответ

1

Я предполагаю, что сам понял. Группы безопасности, которые я указал для используемого slave-устройства, не имели SSH-порта (22), который не был открыт в группе безопасности мастера. После открытия SSH порт я могу подключиться к подчиненному узлу Примечание: Я использую одни и те же группы безопасности как для ведущего и ведомого

INFO: Connected via SSH. 
Feb 02, 2017 4:29:59 PM null 
INFO: connect fresh as root