У меня есть сценарий облачной инициализации
#cloud-config
package_upgrade: true
packages:
- openjdk-8-jdk
- apt-transport-https
- git
- jq
groups:
- docker
users:
- default
- name: jenkins
groups: docker
homedir: /var/lib/jenkins
lock_passwd: true
ssh_authorized_keys:
- ssh-rsa xyz
Это предоставляется плагину jenkins ec2 при запуске ubuntu 18.04 AMI.
Когда Дженкинс пытается подключиться к экземпляру, журналы показывают:
ИНФОРМАЦИЯ: проверка: java -fullversion sh: 1: java: not found
01 ноября 2018 г. 20:22:10 null ИНФОРМАЦИЯ: Установка: sudo yum install -y java-1.8.0-openjdk.x86_64 sudo: нет tty и не указана программа askpass
01 ноября 2018 г. 20:22:10 null ПРЕДУПРЕЖДЕНИЕ: не удалось установить: sudo yum install -y java-1.8.0-openjdk.x86_64
sh: 1: java: not found ОШИБКА: невозможно запустить агент для Ubuntu 18.04 (i-xxx) java.io.EOFException: неожиданное завершение потока
Если я попытаюсь снова подключиться к агенту вручную по прошествии некоторого времени (2/3 минуты), все будет в порядке:
Агент успешно подключился и онлайн
Следует ли запускать сценарий cloud-init до подключения по SSH?
У меня никогда не было этой проблемы при использовании AMI Amazon Linux, где я устанавливаю java 8 таким же образом (через сценарий облачной инициализации). Это что-то специфическое для того, как amazon linux запускает сценарии облачной инициализации по сравнению с ubuntu?