我正在使用Puppet Enprisprise 3.3安装CentOS 6.5。 仪表板运行良好。 现在我想在另一个CentOS 6.5盒子上添加一个puppet代理。 由于两者都是相同的操作系统types,按照puppet文档站点https://docs.puppetlabs.com/pe/latest/install_agents.html中提供的准则,我运行以下 curl -k https://<mymasterserverFQDN>:8140/packages/current/install.bash | sudo bash 但我收到错误 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 –:–:– –:–:– –:–:– 0 curl: (56) Received HTTP code 503 from proxy after CONNECT […]
我已经设置了一个皮鞋和木偶,他们工作得很好(相当)。 我仍然处于testing阶段,因此所有的testing都是在一台客户机上执行的。 但是,在真实的环境下,这个皮匠+木偶设置将针对多个客户。 就目前的设置来说,如果我有10个客户端),我将不得不获得他们的所有MAC地址,以便修鞋匠工作。 我的问题: 没有提供客户端的MAC地址,可以运行补鞋匠吗? 我已经通过省略主机节尝试了这一点,失败了。 但是,如果有一种方法可以排除鞋匠的mac地址,那么我将不得不为所有的客户端创build单独的cobblerconfiguration文件,这样每个客户端就可以获得一个唯一的主机名来实现puppet证书握手。 事情是,我不知道哪个主机名会得到什么IP,所以这是我在DNS内添加客户端的另一个问题。 在多个客户端上实现皮匠+木偶最好的解决scheme是什么? 我猜测有比上面提到的更优雅的解决scheme。 谢谢。
如何告诉mcollective服务器使用不同的rubypath,否则控制ruby环境? 我在Centos 6.5上运行,并将ruby193集合安装到服务器和客户端上。 我正在尝试使用需要Ruby 1.9的puppetlabs'shell'代理( https://github.com/puppetlabs/mcollective-shell-agent )。 当我尝试这样一个简单的'ls'命令: mco shell run ls 我所得到的是: * [ ================> ] 1/1 The shell application failed to run: undefined method `sort_by!' for #<Array:blahblahblah> 这对于我来说像mcollective是默认安装在/usr/bin/ruby的系统安装的Ruby 1.8,而不是使用位于/ opt / rh / ruby193下的PATHruby。 当我安装ruby193集合时,它将一大堆文件放在/ opt / rh / ruby193中,并且需要一个源代码来设置脚本。 我已经把脚本放在/etc/profile.d ,但是我猜测mcollective并没有使用它? 任何想法/回答SF问题指向我将是非常有益的! 或者是一个集体工作的“shell”代理,那也可以:)。 我只是试图运行一个特定的(但dynamic)框设置的shell命令!
避免手动添加主机作为属性 class::define { 'title': attribute3 => [ 'stone', 'wood' ], hosts => [ 'host1.domain', 'host2.domain' ] } class::define { 'title2': attribute3 => [ 'fire', 'water' ], hosts => [ 'host3.domaintwo', 'host4.domaintwo' ] } 通过使用导出的资源: if $fqdn =~ /^.*\.domain$/ { @@class::define { 'title': attribute3 => [ 'stone', 'wood' ], hosts => $fqdn tag => 'test3' } […]
我们遇到了一些导致一些问题的情况。 我们目前正在使用Inno Setup软件在我们的客户端系统上安装软件。 我们遇到的问题是我们需要做大量的Windows环境变更和软件依赖。 同样,软件在不断发展变化是一个不断轮换部署。 维护一个正确的安装程序已经非常耗时和令人沮丧。 我们最终不得不运行几个PowerShell和bash脚本来完成安装。 我们的软件本身只需要放在根目录下,并包含特定的文件夹结构。 我们的客户端PC是平板电脑,Vm(混合环境),台式电脑以及一体机的组合。 我们看到的是Boxstarter。它看起来提供了很多工具来利用我们需要的依赖关系的巧克力包调整。 而且能够做出很多Windows环境变更。 然后我们看着木偶实验室 。 它看起来也很有趣。 但一个更大的学习曲线,不知道它会提供多less优势。 我们意识到这些是为了快速的testing环境。 但是我们基本上需要在大量的PC上重新创build相同的实例。 我们必须遵守POS合规标准。 所以像大多数软件一样的标准安装程序将不起作用。 由于我们必须使每台电脑的软件安装在一个特殊的用户帐户上,并且有很多自定义设置。 问题:是否有一条更加可以接受的路线来允许我们将自定义Windows环境部署到客户端PC? 而任何有pipe理小组? 我们需要它来允许我们快速更新依赖项和部署包。 而最终用户很容易启动。 感谢您的帮助。
我正在使用工头,Puppet和Hiera为我的节点提供参数数据。 每个节点都在/ etc / puppet / hieradata的Puppet Master上有自己的node.yaml文件。 还有一个global.yaml文件,它定义了node.yaml文件中找不到的其他一些参数。 看来,当我做一个puppet运行,pi_firewall :: global :: loghash参数不是从global.yaml拉入。 下面是实际的错误信息,我已经在节点和PM以及hiera.yamlconfiguration文件和global.yaml上运行了一些CLItesting。 ==错误信息== root@door0036:~# puppet agent -t Warning: Local environment: "production" doesn't match server specified node environment "development", switching agent to "development". Info: Retrieving pluginfacts Info: Retrieving plugin Info: Loading facts Error: Could not retrieve catalog from remote server: Error 400 on […]
所以我看到傀儡的资源时间表。 但目前还不清楚我是否可以有一个复杂的时间表。 如果我只想在星期一上午10点到下午3点或星期二上午10点安装软件包,除非(另一个系统提供的外部事实)是真实的,那么最好的办法是什么? 我是否需要创build2个计划资源,2个包资源,每个包含不同的计划,但其他方面相同(也许这里定义有帮助?)以及没有包含在if $ fact == true语句中的计划的包资源? 我正在看if语句,这将处理我正在谈论的国旗。 我可以通过2个或更多的时间表,但资源? 即 schedule { 'monday_updates': range => '22:00 – 03:00', weekday => 'Monday', } schedule { 'tuesday_updates': range => '10:00 – 12:00', weekday => 'Tuesday', } $updates = ['monday_updates','tuesday_updates'] package { $additionalwindowspackages: ensure => latest, provider => 'chocolatey', schedule => $updates, }
我使用木偶3.8.1和运行命令行为pipe理员,但傀儡挂。 打开debugging我也得到了 Debug: Runtime environment: puppet_version=3.8.1, ruby_version=2.0.0, run_mode=user, default_encodin g=CP850 Debug: Loading external facts from C:/ProgramData/PuppetLabs/puppet/var/facts.d 没有进一步… 我正在使用一个helloworld清单 file { 'C:/_Tmp/puppettest/test.txt': content => "Hello, world\n", } 有任何想法吗?
我想用puppet来安装Percona服务器和YUM库。 默认的datadir目录应该是/ mysql。 这需要与现有的目录结构保持一致。
我第一次设置了一个Puppet主服务器。 它被configuration为使用环境: /etc/puppet/puppet.conf : [main] environmentpath = /var/opt/puppet/environments basemodulepath = /var/opt/puppet/modules 每当我安装一个模块, puppet module install foo ,它会被安装到我的“生产”环境的模块目录中。 我想要发生的是将模块安装到/var/opt/puppet/modules除非使用–environment开关指定环境。 我怎么做?