我用puppet 3.0.2运行一个CentOS 6盒子。 puppet服务器上的/etc/puppet/manifests/site.pp似乎没有做任何事情,所以我跑了: 木偶大师 – 没有守护进程 – 日志控制台 – verbose –debug 我得到以下几点: debugging:使用设置:添加文件资源'reportdir':'File [/var/lib/puppet/.puppet/var/reports] {:ensure =>:directory,:backup => false,:loglevel =>: :links =>:follow,:mode =>“750”,:path =>“/ var / lib / puppet / .puppet / var / reports”}' debugging:使用设置:添加文件资源'manifestdir':'File [/var/lib/puppet/.puppet/manifests] {:ensure =>:directory,:backup => false,:loglevel =>:debug,:links =>:follow,:path =>“/ var / lib / puppet / .puppet / manifests”}' 等等 它似乎并没有使用/ […]
我在Ubuntu服务器上安装了Puppet 3.1.1。 我的清单文件夹看起来像这样: ├── nodes │ └── test1.pp └── site.pp site.pp的内容是: # site.pp import "nodes/*.pp" 节点test1工作正常。 然后我创build了一个名为test2.pp的新文件。 内容与test1.pp相同,除了节点名称,我将它添加到节点文件夹中。 所以清单文件夹变成这样: ├── nodes │ ├── test1.pp │ └── test2.pp └── site.pp 然后我运行puppet agent –test在节点test2上testing。 代理可以与puppet master交换SSL密钥,但是我收到了错误消息: Could not find default node or by name with test2 如果我不创build一个新的test2.pp文件,只是将内容添加到test1.pp文件中,则不会显示任何错误。 所以我认为木偶大师开始后,Puppet不会dynamic地导入一个新的pp文件。 是可以定义个人pp文件中的节点,并dynamic地导入它们? 很高兴的任何build议。 两个pp文件的内容: node 'test1' { include tmp::params tmp::gtp […]
在Puppet中有一个LDAP模块,100个服务器使用它,并在运行authconfig –updateall来激活新的LDAPconfiguration之前,在所有服务器上编辑大约10个文件。 这些服务器中的大多数(98)都需要一个标准的access-1.conf作为它们的access.conf,但是2台服务器需要access-2.conf。 这是一个很大的ldap模块的一部分,因此所有100个服务器都需要ldap模块的99%,但是一些服务器(基于他们的angular色将来更多)需要access.conf的一个例外。 [root @ puppetmaster modules]#cat /etc/puppet/hieradata/environment/prd/webserver-03.yaml classes: – webserver – webserver-apache-02 # Test variables role: webserver cluster: apache-02 我正在考虑在manifest / init.pp中使用这样的东西: $role = hiera('role'); if($role = 'webserver') { file { '/etc/security/access.conf': owner => 'root', group => 'root', mode => '644', content => template('ldap/access-2.conf'), } else { file { '/etc/security/access.conf': owner => 'root', […]
木偶清单版本是如何工作的? 我无法在这个区域find任何文件。 目前为止我读到的大部分内容都是为了检查svn并在木偶大师身上进行更新,但是除非木偶客户端能够指定并“拉”特定版本的清单,否则没有用处。 当我回滚一个部署时,我不希望它对我没有testing的清单版本感到痛惜。
我对木偶非常新奇。 我只是写一个代码来通过puppet安装软件 node 'myweb.com' { include ntp include apache apache::vhost { 'myweb.com': port =>8080, docroot => '/var/www/myweb.com', ssl => false, priority => 10, serveraliases => 'myweb.com', } 当上面的代码应用,我应该删除它,以免下次重新安装? 任何build议,将不胜感激
我是新来的傀儡 正因为如此,我正在努力工作,以最好的方式来设置我的清单是有道理的。 遵循DRY(不要重复自己)原则,我试图在一个模板中加载通用指令,然后从与环境相匹配的文件中加载环境特定的指令。 基本上是这样的: # nodes.pp node base_dev { $service_env = 'dev' } node 'service1.ownij.lan' inherits base_dev { include global_env_specific } class global_env_specific { include shell::bash } # modules/shell/bash.pp class shell::bash inherits shell { notify{"Service env: ${service_env}": } file { '/etc/profile.d/custom_test.sh': content => template('_global/prefix.erb', 'shell/bash/global.erb', 'shell/bash/$service_env.erb'), mode => 644 } } 但每次我运行puppet agent –test木偶抱怨,它找不到shell/bash/$service_env.erb文件,但我再次检查它存在。 我知道var是可以访问的,因为notify语句输出的期望值,所以我怀疑我在做什么是不允许的。 […]
我想推动一些configuration文件到我的所有服务器由puppet。 所有服务器的文件几乎相同,但有一个更改 – 主机名。 我已经用puppet和temp-conf-file在puppet中创build了模块。 我包含到所有节点。 一切皆好。 我的问题是:如何将该文件推送到所有服务器,并更改该文件中的一行/两行。 但我不想在所有的模块中设置configuration文件。 我想使用一个文件,并在两边推动改变。 谢谢你的帮助。 最好, 拉法尔
使用Puppet 3.2.1尝试服务器/客户端设置,在同一主机上运行。 我也用puppet-dashboard和puppetdb。 我的清单/ init.pp: node 'my.fqdn' { file { '/tmp/test': ensure => present } 运行puppet agent –test –server my.fqdn –report其中,my.fqdn和仪表板在/ etc / hosts中定义 产量: Info: Retrieving plugin Info: Loading facts in /etc/puppet/modules/concat/lib/facter/concat_basedir.rb Info: Loading facts in /etc/puppet/modules/puppi/lib/facter/puppi_projects.rb Info: Loading facts in /etc/puppet/modules/puppi/lib/facter/last_run.rb Info: Loading facts in /var/lib/puppet/lib/facter/puppi_projects.rb Info: Loading facts in /var/lib/puppet/lib/facter/concat_basedir.rb Info: Loading […]
我在Puppet仪表板上看到很多信息,表示发生了变化,将组的所有权从“用户”更改为“用户”。 这似乎与组内用户存在两次有关,一次是本地组ID为100,一次是组ID为3000。 [root@tst-01 ~]# puppet agent –test info: Caching catalog for tst-01.tst.domain.tld info: Applying configuration version '1370937308' notice: /File[/var/opt/dolphin]/group: group changed 'users' to 'users' notice: Finished catalog run in 3.41 seconds [root@tst-01 ~]# [root@puppetmaster ~]# cat init.pp class dolphin { file { "/var/opt/dolphin": ensure => "directory", owner => "dolphin", group => "users", mode => 755, […]
我正在运行木偶,它的function没问题,但同步时间大约需要15分钟,没有任何变化,在我看来这应该不会超过一两分钟。 以下是一些统计数据: ping 40ms 49个文件,3 MB,最大的是90K 主要是Ubuntu 12.04(精确)w / puppet 2.7.11 (升级到傀儡2.7.23没有帮助) 代理是Debian 7/64 w / puppet版本2.7.23 服务器仅服务于一个客户端 我曾尝试与Apache隧道/ WEBrick /乘客与相同的结果。 什么是一些诊断和改善同步时间的策略? 更新:在我的情况下,除了select使用–evaltrace选项的答案,我用strace ,发现TCP连接超时,我的防火墙是限速。 (为什么傀儡没有报告超时,为什么不重复使用连接,我不知道。)