如何用puppetpipe理自动缩放实例? 我想根据实例types来configurations / w堆栈(例如,如果是web,那么Apache或Nginx,如果应用程序,然后java或php)
这可以很容易地与hierapipe理。 在引导服务器的时候,你可以编写一个自定义的事实,hiera将用它来把相关的模块应用到你的服务器上。 在您的cloud-init用户数据脚本中,您可以添加如下内容:
echo 'role=apache_web' > /etc/facter/facts.d/role.txt
然后,您可以在hiera的层次结构中使用该angular色。 以下是hiera.yml一个示例部分:
:hierarchy: - "nodes/%{::trusted.certname}" - "environment/%{::environment}" - "role/%{::server_role}" - "common"
您的hiera文件为您的apache_webangular色将是hieradata/role/apache_web.yaml在您的控制回购。 对于木偶4,绝对path应该是/etc/puppetlabs/code/environments/$ENVIRONMENT/hieradata/role/apache_web.yaml 。 这里是一个例子:
--- classes: - 'apache' - 'myinternalmodule'
把所有的东西放在一起,让所有的节点都使用相同的site.pp,其中包括:
hiera_include('classes')