我使用类似角色/配置文件模式的东西来描述我的Puppet 3的基础结构。
现在偶然发现了一个问题,我应该如何配置像IP地址这样的东西,因为我有多个IP,每个应用程序(nginx主机)应该按IP隔离。
我有一些关于如何做到这一点的想法,我不知道是否有一个事实上的解决方案,或者我应该选择一个并过我的生活:
- 使用Hiera来配置它,使用变量插值($::ipaddress_eth0, $ipaddress_eth1)
- 在清单中硬编码每个应用程序直接使用的网络接口
- 在配置文件 上配置
- …??
我建议使用第一种方法,因为您可以轻松地在主机/应用程序/环境基础上随时随地覆盖IP配置。这意味着当涉及到详细的主机特定更改时,您可以非常灵活。
请记住,hiera中的变量插值是由%{::foobar}
完成的,而不是像在manifest中那样由${::foobar}
完成的。