您基本上必须执行此操作的方法是使用remote-exec
配置程序在本地安装 puppet,然后执行apply
或agent
执行。resource
首先,像这样设置您的实例:
resource "aws_instance" "instance_name" {
...
provisioner "remote-exec" {
script = "puppet.sh"
}
}
Run Code Online (Sandbox Code Playgroud)
如果/不使用 AWS(Azure、DO、GCE 等),则更换aws_instance
为其他云提供商。然后,使用脚本安装 Puppet,执行apply
或agent
,然后卸载 Puppet(如果您之后不主动管理实例) ,您可能不会在云中)。
#!/bin/sh
# debian family example; swap out 'apt' and package names where necessary
# prep puppet
sudo apt-get update && sudo apt-get install ruby -y
sudo gem install --no-document puppet
# apply puppet
sudo puppet apply manifest.pp
# remove puppet
sudo gem uninstall -aIx
sudo apt-get remove ruby -y
sudo apt-get autoremove -y
Run Code Online (Sandbox Code Playgroud)
这有一些变化。例如,您可以curl
针对 Puppet Master 或订阅 Puppetlabs 软件包存储库来安装 Puppet AIO。您也可以puppet agent -t
稍后执行而不是puppet apply
. 这可能是更好的选择,因为将模块转移到一起使用apply
可能会很麻烦。
归档时间: |
|
查看次数: |
3838 次 |
最近记录: |