木偶 dsl 中的螺栓计划

Bolt plan in puppet dsl

我们在编写木偶模块方面投入了大量资金。现在我们需要在我们的一个环境中以无代理模式使用 puppet,因为我们计划使用 puppet bolt。

我的问题是我们是否在 puppet dsl 中编写 puppet 计划。如果没有安装 Puppet 代理,我们能否将这些计划定位到远程 VM。

-维奈

您不需要预先在目标上安装任何东西来 运行 一个在目标上执行任务的计划(如果这是您的要求)。如果您的意思是您正在使用 Bolt 应用 puppet 资源的能力,那么 Bolt 将安装 puppet 代理程序包,而您无需执行任何操作。请在此处查看文档中的详细信息:https://puppet.com/docs/bolt/latest/applying_manifest_blocks.html

目标系统需要解释器,否则它无法理解您发送给它的代码。与在 Python 中编写 Bolt 任务一样,您需要在目标机器上 Python 才能 运行 代码。

但是 Bolt 计划有内置任务来处理这个问题,这里有一个示例计划,通过 chocolatey 和 bolt 计划安装 git;

plan git_install::Windows_git (
  TargetSpec $targets
) {
  apply_prep($targets) # This installs the PE agent temporarily so it can
  include chocolatey   # include and use regular Puppet class from the chocolatey module
  package { git :
    ensure. => 'present',
    provider  => 'chocolatey',
  }
}

如果您已经将目标连接到 PE 服务器,您可能不需要使用 apply_prep,因为已经安装了代理。 这是一个真正的救命稻草,但如果您必须在编写 PE 模块时管理遗留基础架构和 PE 管理的基础架构,您可以创建一个只有几行长的计划,这将允许您重用相同的 class 在您的遗留基础设施上。