我有一个带有 vagrant 和 puppet 的配置设置,在本地运行良好,我现在正在尝试使用vagrant-aws将其移动到 AWS 。
据我了解,我可以使用指定的 vagrant 中的 AWS 用户数据字段在新 vm 的首次启动时运行命令,如下所示:
aws.user_data = File.read("user_data.txt")
其中 user_data.txt 包含:
#!/bin/bash
sudo apt-get install -y puppet-common
然后我现有的 puppet 配置脚本应该能够运行。然而,这在 vagrant up 命令上出错:
[aws] Running provisioner: puppet...
The `puppet` binary appears to not be in the PATH of the guest. This
could be because the PATH is not properly setup or perhaps Puppet is not
installed on this guest. Puppet provisioning can not continue without
Puppet properly installed.
但是当我 ssh 进入机器时,我看到用户数据确实被解析并且 puppet 安装成功。puppet 供应商是否在用户数据安装 puppet 之前运行?或者在尝试配置之前有没有更好的方法在虚拟机上安装 puppet?