когда я хочу использовать metadata_startup_script в шаблоне, если я использую команды в одной строке, он работает нормально, но при передаче одной строки или даже если я хочу использовать какой-то html, он не работает нормально, и я сталкиваюсь с ошибкой (несколько строк в terraform и используйте новую строку и если я хочу связать его с локальным сценарием bash с чем-то вроде metadata_startup_script = "$ {file (" startup.sh ")}", он работает, но когда появляется экземпляр, когда я использую ssh, мой appache не устанавливается на машине так что мой сценарий запуска не работает, но у меня есть шаблон! в чем проблема, есть ли у кого-нибудь представление об этом?
thank you for your answer but in my log say:INFO startup-script: /bin/bash: /startup-hvh0shxt/tmpyy84ro7l: /bin/bash^M: bad interpreter: No such file or directory
16 мая 17:13:53 gnsgcpproject-web-rrk9 startup-script: INFO startup-script: Код возврата 126. Также я должен снова сказать, что мой запуск находится в моем шаблоне, но когда я перехожу к своим экземплярам, он не устанавливается @ Muss Rahman
Как вы упомянули, вы можете увидеть сценарий в шаблоне, я бы порекомендовал вам проверить консоль и проверьте, виден ли ваш скрипт, если да, проверьте последовательная консоль чтобы проверить, почему ваш скрипт не работает. Это может быть связано с опечаткой или отсутствием подтверждения / согласия.
Чтобы воспроизвести вашу проблему, я следую документация теперь установите мой main.tf
как показано ниже:
metadata_startup_script = "${file("file-name-with-full-path")}"
В этом файле я установил свой сценарий запуска, как показано ниже:
#! /bin/bash
………...
sudo apt update
wait 60
sudo apt install apache2 -y
wait 60
sudo systemctl start apache2
wait 60
sudo systemctl status apache2
После создания виртуальной машины я вижу, что в моем экземпляре запущен apache.
$ sudo systemctl status apache2
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled;
vendor preset: enabled)
Active: active (running) since Fri 2020-05-15 13:5
4:45 UTC; 10s ago
Main PID: 2338 (apache2)
Tasks: 55 (limit: 4915)
CGroup: /system.slice/apache2.service
├─2338 /usr/sbin/apache2 -k start
├─2340 /usr/sbin/apache2 -k start
└─2341 /usr/sbin/apache2 -k start
May 15 13:54:45 terra-test-2 systemd[1]: Starting The Apache HTT
P Server...
May 15 13:54:45 terra-test-2 systemd[1]: Started The Apache HTTP
Server.
Это связано с моим текстовым редактором. Я использовал VSC, поэтому я использую этот способ, потому что VSC не может читать. Даже если у вас есть один CRLF в файле, вышеуказанный параметр будет проигнорирован, и весь файл будет преобразован в CRLF. Сначала вам нужно преобразовать весь CRLF в LF, прежде чем вы сможете открыть его в Visual Studio Code.