Puppet:不同节点上资源之间的关系

2023-12-26

我知道我们可以指定资源之间的关系,这决定了部署顺序。但是是否可以在 Puppet 中的不同节点上的资源之间创建关系呢?

例如,我在节点 A 中有 apache Web 服务器,在节点 B 中有 mysql 服务器。我想在启动 apache Web 服务器之前先启动 mysql。我如何用 Puppet 语言表达这一点?


我尝试过以下代码:

node ‘host1’ {
  @@service { ‘mysql’:
    ensure => running,
    tag => ‘host1-mysql’,
  }
}
node ‘host2’ {
  service { ‘apache2’:
    ensure => running,
  }
  Service<<| tag == ‘host1-mysql’ |>> -> Service[‘apache2’]
}

但它不起作用 - 产生了编译错误。还有其他解决方案吗?


在分布式“傀儡”设置中,不保证应用顺序。

Puppet 不做编排跨多个节点。最好的情况是,您的更改将在机器上多次应用,并且最终会收敛到想要的状态.

依赖关系仅在同一节点中起作用。您实际上可以获取其他节点导出的资源值(例如配置数据库的防火墙以允许Web服务器执行sql) 或者用 hiera 作弊来知道谁拥有“db”和“app”角色。

对于编排,请参阅类似的工具集体 http://puppetlabs.com/mcollective, 卡皮斯特拉诺,ansible http://www.ansibleworks.com/,...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Puppet:不同节点上资源之间的关系 的相关文章

随机推荐