Puppet 可能有节点本地配置文件

Puppet 可能有节点本地配置文件,puppet,Puppet,是否可以使用puppet主机在puppet运行期间用来编译更新列表的节点本地配置文件(hiera?) 我的用例是puppet将对users.bashrc文件和users主目录进行更改,但我希望能够控制哪些用户使用实际节点本身上的文件,而不是site.pp清单中的文件 是否可以使用所使用的节点本地配置文件(hiera?) 由puppet master在puppet运行期间编译更新列表 当然,有多种方法可以做到这一点 我的用例是puppet将对users.bashrc文件和 到用户的主目录,但我想能

是否可以使用puppet主机在puppet运行期间用来编译更新列表的节点本地配置文件(hiera?)

我的用例是puppet将对users.bashrc文件和users主目录进行更改,但我希望能够控制哪些用户使用实际节点本身上的文件,而不是site.pp清单中的文件

是否可以使用所使用的节点本地配置文件(hiera?) 由puppet master在puppet运行期间编译更新列表

当然,有多种方法可以做到这一点

我的用例是puppet将对users.bashrc文件和 到用户的主目录,但我想能够控制 哪些用户在实际节点上使用文件,而不是在site.pp中 舱单

主节点关于目标节点当前状态的所有信息都以节点事实的形式提供,由节点在其目录请求中提供给它。受本地控制的本地文件(其内容应用于影响节点自身目录的内容)将属于该类别。Puppet支持结构化事实(其值具有任意嵌套的列表和/或散列结构的事实),这应该足以将所需的数据传递给主数据

有两种不同的方法可以将您自己的事实添加到Puppet默认收集的事实中:

  • 为Facter编写一个Ruby插件,让Puppet自动将其分发到节点,或者

  • 用您选择的语言编写外部事实程序或脚本, 并将其作为普通文件资源分发到节点

任何一种都可以读取您的数据文件并以适当的形式发出相应的事实。制造商文件包括:;“自定义事实”(用Ruby编写的Facter插件)集成得更干净一些,但是“外部事实”几乎也可以工作,对于不熟悉Ruby的人来说更容易


原则上,您还可以编写一个完整的自定义类型和附带的提供程序,并让在目标节点上运行的提供程序负责读取适当的本地文件。这将需要做更多的工作,并且需要构建与您描述的解决方案稍有不同的解决方案。我不推荐它解决您的问题,但我提到它是为了完整性

是否可以使用所使用的节点本地配置文件(hiera?) 由puppet master在puppet运行期间编译更新列表

当然,有多种方法可以做到这一点

我的用例是puppet将对users.bashrc文件和 到用户的主目录,但我想能够控制 哪些用户在实际节点上使用文件,而不是在site.pp中 舱单

主节点关于目标节点当前状态的所有信息都以节点事实的形式提供,由节点在其目录请求中提供给它。受本地控制的本地文件(其内容应用于影响节点自身目录的内容)将属于该类别。Puppet支持结构化事实(其值具有任意嵌套的列表和/或散列结构的事实),这应该足以将所需的数据传递给主数据

有两种不同的方法可以将您自己的事实添加到Puppet默认收集的事实中:

  • 为Facter编写一个Ruby插件,让Puppet自动将其分发到节点,或者

  • 用您选择的语言编写外部事实程序或脚本, 并将其作为普通文件资源分发到节点

任何一种都可以读取您的数据文件并以适当的形式发出相应的事实。制造商文件包括:;“自定义事实”(用Ruby编写的Facter插件)集成得更干净一些,但是“外部事实”几乎也可以工作,对于不熟悉Ruby的人来说更容易



原则上,您还可以编写一个完整的自定义类型和附带的提供程序,并让在目标节点上运行的提供程序负责读取适当的本地文件。这将需要做更多的工作,并且需要构建与您描述的解决方案稍有不同的解决方案。我不推荐使用它来解决您的问题,但我提到它是为了完整性。

您是在询问外部节点分类器吗:嗯,如果我理解文档的话,就不推荐了。我的用例是将应用程序部署到笔记本电脑上。每台笔记本电脑都有不同的用户需要管理。但是,我不想让puppet master知道代理将如何调用它,所有代理都将使用默认节点,因此我希望每个代理都报告应该管理的用户。我认为这样做是做一个自定义事实,即从位于节点上的文件中读取要管理的用户。但是我在寻找更好的方法不,我认为他也不是在谈论出口资源。如果我理解正确的话,他希望依赖于被配置节点的本地文件来指导该节点的配置细节。我已经写了一个答案,但我想在这里指出,在问题的直接上下文中,我倾向于认为问题中提出的这类事情是一个坏主意。通常,更好的做法是向主机提供更多关于节点预期配置的信息(托管和属于主机),并让主机更全面地管理机器,而不是设计方案使其部分适应机器的当前配置。你是在问外部节点分类器吗:嗯,如果我理解这些文档,就不太可能了。我的用例是将应用程序部署到笔记本电脑上。每台笔记本电脑都有不同的用户需要管理。但是,我不想让puppet master知道代理将如何称呼它,所有代理都将使用默认节点,因此我希望每个代理报告应该按照我的方式管理的用户