Я борюсь с cloud-init и могу использовать некоторую информацию от кого-то, кто заставил его работать.
Я использую terraform для создания экземпляра AWS EC2. Я загружаю простой скрипт в user_data
и устанавливаю его права доступа 755 :
root@ip-10-0-1-109:/var/log# cat /var/lib/cloud/scripts/per-boot/install_mysql
#cloud-config
package_update: true
packages:
- mysql-server
Я действительно хочу, чтобы он запускался с ... / per-once , но если я помещу его туда, он просто игнорируется - я вижу в журнале, что модуль script-per-once
выполняется, но кажется, что эти каталоги пусты в первый раз, а после перезагрузки script-per-once
уже запущен.
Если я помещаю файл в ... / per-boot , то после перезагрузки я получаю следующее:
OSError: [Errno 8] Exec format error: b'/var/lib/cloud/scripts/per-boot/install_mysql'
И если яудалить бит выполнения, он игнорируется. Итак, как это должно работать? Я предполагаю, что, должно быть, я что-то делаю не так, так как считаю, что cloud-init используют многие другие, или я ошибаюсь?