Bry*_*yan 7 ubuntu amazon-web-services systemd ubuntu-16.04
我正在基于 Ubuntu 16.04 AMI 构建一个 AMI。
当我从我的 AMI 启动一个实例时,我想传入一个在 AMI 上启动服务之前运行的用户数据脚本。
看起来用户数据在cloud-final.service. 如果我systemctl status cloud-final或journalctl -u cloud-final我看到我的用户数据脚本的输出。
我尝试设置我的 .service 文件以在 cloud-final.service 之后启动服务
[Unit]
Description=My Service
After=network.service
After=cloud-final.service
...
Run Code Online (Sandbox Code Playgroud)
但是 cloud-final 有RemainAfterExit=yes,这意味着它永远不会完成,所以我的服务永远不会启动。
在运行用户数据脚本后,如何配置 AWS Ubuntu 以启动我的服务?
小智 7
用
[Unit]
…
After=cloud-final.service
…
[Install]
WantedBy=cloud-init.target
Run Code Online (Sandbox Code Playgroud)
我也遇到了这个。journalctl显示在达到multi-user目标之后和之前运行的用户数据内容cloud-init。
<timestamp> <ip_addr> systemd[1]: Reached target Multi-User System.
[snip]
<timestamp> <ip_addr> systemd[1]: Starting Execute cloud user/final scripts...
<timestamp> <ip_addr> user-data[1592]: my user data stuff
[snip]
<timestamp> <ip_addr> systemd[1]: Started Execute cloud user/final scripts.
[snip]
<timestamp> <ip_addr> systemd[1]: Reached target Cloud-init target.
Run Code Online (Sandbox Code Playgroud)
所以我认为它是需要/想要的,cloud-init而不是通常的multi-user目标(这可能是 op 所拥有的),并且它只是有效。
| 归档时间: |
|
| 查看次数: |
5530 次 |
| 最近记录: |