微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Puppet中访问节点数组中的每个节点

如何解决如何在Puppet中访问节点数组中的每个节点

我对木偶很陌生,所以希望您能帮助我解决毫无疑问的简单问题?

我有一个节点数组,如下所示:

$nodesArray =   ['abc123.server.domain.net','bcd234.server.domain.net','cde345.server.domain.net','def456.server.domain.net','efg567.server.domain.net','fgh678.server.domain.net',]

我只是尝试使用Puppet的节点定义访问每个节点,以便可以在每个节点上安装应用程序。

$nodesArray.each| $individualNode | {
        node $individualNode {
               exec { 'install app':
                     command =>      '<command to install app>',}
        }
 }

尽管尝试了不同的操作,但我不断收到错误消息:

错误:无法为环境生产解析:节点abc123.server.domain.net上'individualNode'(文件:/root/script.pp,行:59,列:7)的语法错误

错误消息指向'node $ individualNode {'行,但是我看不到自己在做什么错误

解决方法

如果要声明具有相同内容的多个节点,则只需直接执行以下操作即可:

node 'abc123.server.domain.net','bcd234.server.domain.net','cde345.server.domain.net','def456.server.domain.net','efg567.server.domain.net','fgh678.server.domain.net' {
  exec { 'install app':
    command =>      '<command to install app>',}
}

但是请注意,Puppet最多会将一个节点定义与每个节点匹配,因此在多个这样的构造中列出任何节点都是无效的。

但是,一般来说,您会将Exec之类的资源声明放入模块中的中,然后使用一种或多种可用的机制指定要应用于每个节点的类。问题中提出的方法或多或少由内而外。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。