Puppet的Ruby DSL在哪里执行?

Puppet中的Ruby DSL是在Puppet主服务器还是客户端上执行的 我这样问是因为据我所知,模板在正常的Puppet DSL中使用时是在master上评估的。在Ruby DSL中也是这样吗

puppet apply错误:找不到默认节点或名称为';uys0115';在节点uys0115上

我已经在两个节点上安装了puppet,服务器节点的主机名是“uys0115”,cient节点的主机名是“uys0119”,服务器节点已经标记了客户端节点。当我执行commad:傀儡证书列表--all时,我们可以看到: + "uys0115" (24:55:95:77:8E:60:33:77:C8:D4:74:EA:01:21:BD:5A) + "uys0119" (86:53:1B:81:E5:4F:88:23:E8:34:E1:AB:03:D4:AE:7C) puppet主目录是/etc/p

函数contain()与Puppet中的锚定模式

这篇文章是指 是否可以用函数contain替换锚定模式,该函数包含维护执行顺序和阻止声明的浮动类。这两个清单如下所示: class profile::maven inherits profile::base { # Hiera $version = hiera('profile::maven::version', '3.2.1') $settings = hiera_hash('profile::maven::settings', undef) $environments = h

PuppetDB未存储报告

Puppetdb在成功运行puppet后未报告任何资源或节点: # curl -G 'http://localhost:8080/v3/nodes' [ ] 我已确认puppet正在向puppetdb发送报告: Feb 26 22:04:41 localhost puppet-master[7059]: 'replace catalog' command for foobar submitted to PuppetDB with UUID e653d50d-bf9f-4668-b2f1-9d7

在puppet中的类之间传递变量

我正在尝试使用exec资源类型执行批处理文件。但是我想将变量$dsn_64bit的值从init.pp传递到install.pp。请让我知道如何做到这一点: 这是我的init.pp class exec_batchfile ($dsn_64bit = "false") { if $::osfamily == 'windows' { include exec_batchfile::install } } 这是我的install.pp class exec_batchfile::insta

如何在没有FQDN或Puppet主机域的情况下配置Puppet代理?

我正在进入木偶的世界,并得到了我的手。我用“流浪者”引发了两起暴力事件。我给其中一个起名叫木偶师,另一个起名叫木偶师。一旦安装,我运行 在puppetagent上安装puppet Factor 在puppetmaster上安装puppet puppetmaster Factor (在puppetmaster实例中)下一步是在/etc/puppet/puppet.conf中编辑puppet.conf文件,并在[master]下添加certname=。我在这里有点困惑,因为我没有FQDN,而只是

Puppet 在不考虑其他类失败的情况下应用一个傀儡类

给定的 清单/site.pp 在哪里 foo::bar创建/etc/puppetlabs/puppet/config_file.yaml foo::alpha到foo::gamma是自定义类型,它们使用需要上述文件操作的puppet\u x类,如果文件不可用,将抛出puppet::Error baz::alpha到baz::gamma是使用自定义类型foo:beta``到foo:gamma``来定义资源的类 问题 我如何确保foo::bar执行到完成,而不考虑任何baz类的失败 我愿意接受任

Puppet 木偶嵌套资源创建_资源,可以';t将字符串转换为哈希

正在尝试使用此模块生成DNS:。但是得到这个错误: Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Function Call, can't convert String into Hash. 我已经嵌套了YAML,但不确定它的格式是否正确,或者代码中是否存在其他问题。 这是我的d

Puppet 周期中的木偶在数组中添加了空元素

如何确保数组中没有空元素?这里的问题是,当您真正想要使用时,您正在使用maplambda函数。链接文档的摘要如下所示: 将lambda应用于数据结构中的每个值,并返回包含lambda计算结果为true的任何元素的数组或哈希 因此,您的解决方案是: $hash_arr_1 = { b => 2, c => 3, f => 1 } $arr = ['a', 'c', 'd', 'f', 'e'] $hash_arr_2 = $arr.map |$param| { if has

Puppet 将键追加到数组的顶部

我有一些类似于以下的hiera(我知道这是无效的hiera,有两把钥匙…我赤裸着): 我试图将其转换为yaml文件(关键是文件名)。现在我知道这是无效的hiera,我可以删除groups键以使其正常工作(这正是我所做的),但是当我尝试将其重新插入数组时,我无法正确设置格式。下面是我正在使用的木偶代码: $alert_files = hiera('an::example::rule_files'), $alert_files.each | String $alerts_file_name,

如何在puppet中装载和卸载文件系统?

我知道在同一清单中,资源类型具有唯一的名称 对于“mount”资源,名称是设备将安装的路径 我想对puppet执行以下操作: 装载NFS分区 从此装载点执行脚本 卸载此分区 因此,我宣布: 那么,如何卸载'/mnt/tina'资源?最终,您试图用puppet执行的操作并不是所谓的“puppet方式”。Puppet是一种配置管理工具,不是为一次性批处理作业设计的工具,因为这样做会变得“烦人” 考虑到在同一个目录编译中不能有冲突的资源(aka mount-sure=>mount,mount=>缺席)

使用Puppet将用户添加到多个组

我试图用清单将用户分配到多个组,但遇到了问题 尝试1: class usergroup { group { "user_one": ensure => present, gid => 500, } group { "user_two": ensure => present, gid => 501, } group { "dev_site_one": ensure => present,

如何使用puppet清除目录并保留点文件

有没有办法清除文件夹并保留文件?我想清除/根目录 比如: file { '/root': ensure => present, owner => 'root', group => 'root', mode => 0550, purge => true, recurse => true, } file { '/root/.*': ensure => present, owner => 'root', group

使用我的mac作为主机与Puppet管理一台远程服务器

我刚开始学习木偶。我知道puppet可以在单独模式和主/代理配置下工作 理想用例 我在Digital Ocean上有一台服务器,我想使用Puppet GUI从我的MAC管理远程服务器(如果可能的话,不运行VM)。这是可能的,还是我不得不租用另一台作为主机运行的服务器(如果我想使用Puppet GUI)?不确定这会有多好。傀儡主/节点关系实际上是一种服务器/客户机关系。您的工作站不是服务器。工作站可以是服务器,但OP没有明确说明应该实际运行哪个GUI。构建一个Linux虚拟机可能会有助于他的事业,

错误:未能应用目录:在PUPPET中找不到类[Z eo::Install]的依赖类[Zeo]

我试图在windows代理中从puppet master安装zeo服务,但出现以下错误: 错误:未能应用目录:在PUPPET中找不到类[Z eo::Install]的依赖类[Zeo] 我有一个名为zeo的模块及其清单init.pp、make.pp和install.pp 但是它无法到达init.pp和类zeo # make.pp class zeo::make { notify{" make.pp client mass section zope/init.pp": } require

Puppet 修补软件的木偶

我对木偶一无所知。我使用的是Puppet Enterprise 3.7,我有一个实验室,里面有一个Puppet master和运行在Linux CentOS上的Puppet代理。主要目的是使用Puppet自动化作为审计和修补工具。 我想审核所有代理服务器中安装的软件包,然后根据需要将它们推送到修补程序。我读了不少书,但得到的信息很模糊 我将非常感谢任何关于如何以及从何处开始这一过程的帮助。我知道这是一个模糊的问题,但任何帮助都将不胜感激 感谢审核,这里有一个本机Puppet元参数: Puppet

基于puppet的分布式硬件监控

我正计划设计一个分布式硬件监控系统,比如供应用户环境、退役、推送更新等。我支持这些功能。请告诉我是否有更好的免费软件。或者是一个好的木偶参考。。。。。你可以在谷歌上搜索木偶参考。。。另外,你对你想要“设计”的东西还很含糊……谢谢,伙计,我想我已经找到了最好的参考资料。

Puppet 2.7中的Puppet validate_cmd替代方案

我的木偶版本是2.7.25。我想做的是创建一个用户主目录,如果它不存在,并且仅当用户驻留在LDAP中时 我希望使用此命令的退出状态来测试 /usr/bin/getent passwd username 如果我运行的是正确版本的puppet,我认为puppet代码应该是这样的 define ldap-users::virtual ($gid,$gname) { $home_root = "/export/home" file { "${home_root}/${ti

Puppet 没有名字的傀儡文件

我目前正在回顾puppet forge的一个模块,我想知道这些行的作用是什么: File { owner => $owner, group => $group, mode => '0644', } 该构造在其作用域中为声明声明声明文件资源将具有指定的所有者和/或组和/或模式属性,它们不会为这些属性声明自己的值。该构造为其范围内的声明声明文件在该声明的动态范围内声明的资源将具有指定的所有者和/或组和/或模式属性,它们不会为这些属性声明自己的值

仅当以前未执行命令时才使用puppet运行命令

假设我想确保我的虚拟机上有devstack exec{ "openstack": command => "git clone https://git.openstack.org/openstack-dev/devstack", } 这是我为它编写的傀儡代码,它第一次运行良好。现在我想结账。我只想克隆尚未完成的存储库。怎么做 exec { "openstack": command => 'git clone https://git.openstack.org/openstac

在puppet hiera设置中放置hiera文件的位置

我有一个正在运行的puppet master agent设置,目前正试图找出如何使用hiera来配置php 我的木偶文件: forge "http://forge.puppetlabs.com" mod "jfryman/nginx" mod "puppetlabs/mysql" mod "mayflower/php" mod 'puppetlabs-vcsrepo' mod 'puppetlabs/ntp', '4.1.0' mod 'puppetlabs/stdlib' 我的网站.pp:

Puppet错误:无法打开下载的文件

编辑:添加了filebeat::install\u filebeat类的内容 我的puppet模块中有两个类,类filebeat和类filebeat::install\u filebeat继承filebeat 在filebeat类中,我想下载一个属性文件并将其保存在特定路径中,因此我要: exec{ 'get_properties_file': command => "/usr/bin/curl -o ${properties_path} '${download_url}'", creat

Puppet错误:ghostscript安装失败

我正在尝试运行puppet来安装ghostscript,但它会抛出错误消息,并且不确定出了什么问题 以下是信息: 注意:/Stage[last]/Macports/Exec[install ghostscript]/returns:Error:/opt/local/bin/port:初始化Macports失败,无法读取“result”:没有这样的变量 错误:/usr/bin/sudo/opt/local/bin/port安装“ghostscript”返回1,而不是[0]中的一个 错误:/Stag

puppetlabs防火墙模块支持未跟踪状态

puppetlabs防火墙模块不支持未跟踪状态,是否有办法做到这一点: firewall { '003 accept related established rules': proto => 'all', state => ['RELATED', 'ESTABLISHED', 'UNTRACKED'], action => 'accept', } 期望的行为: 实际行为: 错误:防火墙上的参数状态失败[003接受相关建立的规则]:无效值“未跟踪”。有效值无效、

在Puppet Enterprise(OpsWorks管理)上配置节点清除ttl(删除过期节点)

我有一个AWS OpsWorks Puppet Enterprise实例,我想配置节点清除ttl属性() 3天后,断开连接的节点被清除,我想避免这种情况,我需要这些节点出现在Puppet Enterprise UI上,即使最后一次连接是在10年前(这是一项业务要求) 我试图通过设置PE PuppetDB Classification上的值来配置节点清除ttl:(屏幕截图:) (设置为0s,禁用自动删除节点) 并在数据部分设置这些值: puppet_enterprise::params - pup

Puppet 使用多路径配置iSCSI

我正在设置一些iSCSI存储(联想)以及运行RHEL7的3台物理服务器。 每台服务器有2个NIC用于主网络(已绑定),2个NIC用于iSCSI网络。联想存储器有4个端口连接到2个物理交换机。每个服务器中的iSCSI NIC连接到每个交换机中的1个端口。” 我正在使用puppet配置iSCSI NIC,想知道是否应该为与存储的连接创建绑定? 目前,它们是两个独立的NIC,存储仅报告每台服务器有一个“主机端口”(我可能希望每台服务器有两个主机端口?)。存储使用iscsi启动器名称描述主机端口(如/e

Puppet Facter-在我的安装(CentOS)中没有操作系统

我的服务器上发生了一件奇怪的事情: 工头以木偶大师的身份运行,并且正确无误: [root@foreman manifests]# facter | grep opera operatingsystem => CentOS operatingsystemmajrelease => 6 operatingsystemrelease => 6.5 在我目前插入的两台服务器上,没有majrelease: [root@tool01 ~]# facter | grep opera ope

如何将部署自动化工具集成到puppet中?

我们是一家linux/windows混合商店,不久前成功地采用了Puppet进行配置管理。我们希望将ansible作为我们的部署编排工具(研究表明puppet在这方面做得不是很好),但对如何集成这两个产品有疑问 今天,木偶是环境信息(哪些节点属于哪些组等)的真相来源。我希望避免在ansible中重复此信息。在两种产品之间共享环境信息方面是否有最佳做法 减少系统间重复状态数量的一种方法是使用支持。您不用在文本文件中定义主机/组,而是使用从其他地方提取相同数据的脚本。这可能是,等等,这将取决于您的环

Puppet 使用hiera创建变量名

我希望Puppet根据与环境关联的hiera文件创建不同的变量名。我想这样做是因为我想使用与特定网络接口关联的ip地址。理想情况下,网络接口将位于hiera文件中。通过这种方式,您可以将ip_地址变量名与hiera文件中定义的网络接口连接起来,这类似于 ::ipaddress{$network\u interface\u from\u hiera\u file} 这可能吗 现在我有一个如下的例子,但我认为有一个更好的实现。如果网络接口发生变化,我将不得不添加另一个案例 if $environme

Puppet 木偶:如何解决;文件“U行”;多匹配模式

我正在尝试使用puppet更改配置文件 这是我要更改的test.txt文件: [default] #puppet=no abc=123 [nova] #puppet=no 我只想在[默认]选项卡上将“#puppet=no”更改为“puppet=yes”。 这是我的test.pp,有两个版本: file_line{"someline": path => '/root/openstack-puppet/computenode/nova/test.txt', match =>

Puppet中具有单个虚拟资源的多用户角色

为了管理不同节点上的用户,我在Puppet中使用了一个类似的/定制的模块,如下所示: 在本例中,有两个角色。如果已将一个角色分配给用户,则无法将其他角色分配给该用户(因为已创建虚拟资源) 在我的例子中,我有不同的角色(如sudo、webdev、mysql),每个角色都为用户分配特定的组 但正如前面提到的,我只能为用户分配一个角色。如果我向该用户添加另一个角色,该用户仍将只有一个角色(因为具有来自一个角色的组的用户已被分配给该用户,并且已创建资源) 如何解决这一问题,以便为一个用户分配无限的角色

Puppet exec,除非不';I don’’我似乎没有达到我的预期

我正在尝试从mysql克隆一个带有exec的db,但如果它已经被克隆,我不想克隆它 exec { "clone_from_${name}" : unless => "/usr/bin/mysql -u${user_to} -p${pwd_to} ${name_to} -e'select count(*) from $test_table_name;' | grep -c ' 0 '", ... 逻辑看起来有点混乱,但基本上,我的理解是,如果命令返回0,那么整个exec将不会运行。但是

Puppet将多个变量粘贴到一个

例如,我在数组中有from1到n变量 $one = "1" $two = "2" $three = "3" $var = [ "$one", "two", "three" ] 我需要将这个3vars粘贴到一个中。只有内容 $resultvar = "123" 如果您的意思是仅连接三个变量: $resultvar = "${one}${two}${three}" 如果需要大小可变的数组元素,可以使用内联模板: $resultvar = inline_template('<% arra

Puppet 将现有木偶项目导入Geppetto?

我当时正在处理Puppet模块,大多数编辑都是通过“vim”命令完成的。我读到了关于Geppetto的文章,看起来很有希望,所以我下载并安装了它。我能够创建新的木偶项目,但似乎我不能导入已经存在的一个 geppetto范围内的“项目”在目录中有一个名为“.project”的隐藏xml文件 如果目录包含.project文件,则可以将项目作为“现有项目导入工作区” 如果目录不包含此文件,则需要将项目作为“文件系统”导入。然后Geppetto将为您创建xml文件 从4.x版开始就是这样 是的,我最终将

Puppet:如何将值从继承类传递到基类?

如何使用puppet将值从继承类传递到基类 您可以在下面看到我的试用版的简化代码 class executor::app($base_dir = "/usr/local", $run_command = undef, $prefix_naming = undef) { } class app1( $base_dir = ::app1::params::base_dir, $prefix_naming = "reader", $run_comman

如何在puppet中将sudo命令作为exec资源运行

我一直在尝试将sudo命令作为exec资源运行,但运气不佳。首先,我收到“对不起,您必须有一个tty才能运行sudo”消息,现在我收到“没有tty存在,也没有指定askpass程序”。这是@i当前运行的用于说明的内容: [dan@kyvltvm00022 tests]$ puppet apply ./test.pp Notice: Compiled catalog for kyvltvm00022.bfredb.com in environment production in 0.07 sec

Puppet 傀儡:“;应用配置版本";,它指的是什么?

当我跑的时候 sudo puppet agent -t 在长时间的目录加载后,我收到一条消息: 信息:正在应用配置版本“1403590182” 那个数字1403590182是指什么 事实上,我已经注意到,如果我连续运行两次sudopuppet代理-t,即使模块没有更改,我也会得到不同的配置版本号 如何确定每个模块的哪个版本应用于节点?如果清单由git控制,管理员可以让Puppet master知道如何使用/etc/Puppet/Puppet.conf(在Puppet master上)中的以下语

Puppet semodule:如何添加.te文件?

我正在使用 在site.pp中,对于要安装模块的节点,我有: selinux::module { "varnishlnkfile": ensure => "present", source => "puppet:///modules/selinux/modules", } 我得到: err: /File[/varnishlnkfile.te]: Could not evaluate: Could not retrieve information from environme

Puppet 在Site.pp中使用木偶定义

我使用以下傀儡定义在windows中禁用IPV6: #IPv6 Management define winconfig::ipv6 ( $ensure, $state = UNDEF, ) { include winconfig::params case $ensure { 'present','enabled': { case $state { UNDEF,'all': { $ipv6_data = '0' } 'prefer

如何在puppet模块中处理linux和windows?

我有一个为linux系统编写的大型模块。但是我需要它来为windows工作,所以我想重写它来处理这两个问题 有很多清单,从我目前所看到的来看,大部分清单都可以在Windows上运行,因为puppet会看到它在Windows上运行,并选择最好的提供者 然而,也有一些部分不起作用。例如,此exec将无法在windows上工作 exec { 'touch_file' : command => 'touch /etc/test.txt', path =>

Puppet 加密的Hiera eyaml变量在主机上解密,但在节点上不解密

我刚刚在我的Puppet 3.8开源环境中设置了hiera eyaml defaults.yaml db_password: ENC[PKCS7,MXCGFDS......] site.pp $password=hiera(db_password) 如果我正在跑步: puppet master --debug --compile funky_hostname.mydomain.com --environment=dev 我可以看到我的临时配置文件正在正确生成: password="pass

Puppet 满足和未满足的木偶模块依赖关系

我从puppet那里得到一个关于未满足依赖关系的警告,但它似乎满足了依赖关系。我对这个错误消息感到非常困惑。有人能提供一些提示或建议吗 ubuntu@seine2:/vagrant$ sudo puppet module list Warning: Missing dependency 'puppet-yum': 'puppet-collectd' (v5.2.0) requires 'puppet-yum' (>= 0.9.15) Warning: Missing dependenc

Puppet 希拉不是';不能解决事实

我在Puppet和Hiera方面遇到了一些麻烦,因为Hiera似乎没有使用我在模板中要求的事实 我有一个/etc/puppetlabs/puppet/hiera.yaml文件,其中包含一个简单的示例层次结构: --- version: 5 defaults: datadir: "/etc/puppetlabs/code/environments/%{::environment}/hieradata" data_hash: yaml_data hierarchy: - name:

Puppet 3.x的key.subkey语法是什么?

在Puppet和Hiera中,通常需要在 散列和数组 在Puppet语言中,您可以使用 方括号,如$facts['networking']['fqdn']。希拉不使用 方括号;相反,它使用key.subkey表示法,如 facts.networking.fqdn 这是5.2的。3.8中是否有相同的功能?我在文档中找不到它 3.8中是否有相同的功能 不是。Puppet 3已经过时,不再受支持。它使用Hiera版本1,不支持键/子键语法。你至少需要傀儡4/Hiera 3才能做到这一点,但即使是这样也

Puppet 为什么木偶模块';主类是否包含在子类中?

puppetlabs/apache模块中的许多领域,例如您可以看到错误处理,要求首先包含基类,因为所讨论的类在其“参数默认值”中使用基类 这里没有参数,但您可以看到在初始化::apache时由::apache::params类声明的对$:apache::dev_包的引用 然而,在中,您可以看到基类被显式地包含,而不期望它以前被包含 我对这一点的理解是,apache::vhosts被设计为用作一个独立类,它包含了::apache初始化由模块确定的apache默认配置。但是,如果在其他地方声明Apa

如何使用Puppet复制包含文件的目录

我期待着复制一个目录及其文件使用木偶。 该目录以及大多数文件/子目录在复制时都已存在 副本正在处理新文件并删除源中不存在的文件,但现有文件不会更新 例如,如果文件不存在,dir/index.html将被创建,但即使源文件包含文件的更新版本,也不会被更新 正在寻求有关如何告诉puppet复制/覆盖目录中所有文件的帮助。我不确定我是否应该使用类似于force的方法来实现这一点 file { "${directory}": ensure => dir

Puppet 木偶';s Exec[]是否仅忽略?

我在玩偶的Exec类型中遇到了一个非常奇怪的行为 我在一个类中有两个类似的Exec[],都带有onlyif参数,如下所示。问题是总是执行Exec['apt-update'](即每次Puppet的代理应用其清单时),即使onlyif条件为false,这与Exec['install-newrelic-apt-key']工作正常不同 注意:myExec[]的路径($path)在此类之外配置,所有命令在命令行中都按预期工作 *上面的代码是公共域,您可以随意使用。我不相信您的命令只会执行您期望的shell

Puppet 用二维数组填充模板的傀儡迭代

我想在二维数组中存储ip地址和端口值 192.168.1.156, 4100 192.168.1.157, 4000 使用已定义的数组,我希望填充以下模板结构 <members> <%- if @members -%> <%- @members.each_pair do |hostname,port| -%> <member> <hostName><%= hostname %>

  1    2   3   4   5   6  ... 下一页 最后一页 共 21 页