标签: puppetmaster

多个傀儡师

我想设置一个额外的 puppet master,但只有 1 个 puppet master 处理 CA 服务器。我已经按照此处的文档进行了设置:

http://docs.puppetlabs.com/guides/scaling_multiple_masters.html

我已经配置了我的第二个傀儡大师如下:

[main]
...
ca = false
ca_server = puppet-master1.test.net
Run Code Online (Sandbox Code Playgroud)

我正在使用乘客,所以我有点困惑 virtual-host.conf 文件应该如何查找我的第二个 puppet-master2.test.net。这是我的(根据 Shane Maddens 的回答更新):

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-3.0.18/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.18
PassengerRuby /usr/bin/ruby

Listen 8140

<VirtualHost *:8140>

    ProxyPassMatch ^/([^/]+/certificate.*)$ https://puppet-master1.test.net:8140/$1

    SSLEngine on
    SSLProtocol -ALL +SSLv3 +TLSv1
    SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP

    SSLCertificateFile      /var/lib/puppet/ssl/certs/puppet-master2.test.net.pem
    SSLCertificateKeyFile   /var/lib/puppet/ssl/private_keys/puppet-master2.test.net.pem
    #SSLCertificateChainFile /var/lib/puppet/ssl/ca/ca_crt.pem
    #SSLCACertificateFile    /var/lib/puppet/ssl/ca/ca_crt.pem
    # If Apache complains about invalid signatures on the CRL, you can try disabling
    # CRL checking by commenting the next line, but …
Run Code Online (Sandbox Code Playgroud)

puppet puppetmaster

5
推荐指数
2
解决办法
4981
查看次数

Puppet 有时找不到像 osfamily 这样的标准事实

快速简介 - 出于测试目的,我在 5 个节点(Debian Squeeze + puppet 2.7.20-1puppetlabs1)上安装了 puppet 代理,并在 1 个服务器(相同版本)上安装了 puppet master。

在每个清单的 puppetmaster 端,我检查是否 $::osfamily == 'Debian'。有时我也使用 $::fqdn,并检查它是否不为空。

问题是每天随机时间我都会收到来自 puppetmaster 的邮件,说他无法为其中一个节点编译目录。例如:

Fri Jan 18 19:18:24 +0100 2013 Puppet (err): Could not retrieve catalog from remote server: Error 400 on SERVER: Not supported osfamily at /etc/puppet/modules/system/manifests/skel.pp:20 on node mynodeX
Fri Jan 18 19:18:24 +0100 2013 Puppet (notice): Using cached catalog
Fri Jan 18 19:18:24 +0100 2013 Puppet (err): Could not retrieve catalog; skipping run
Run Code Online (Sandbox Code Playgroud)

另一个例子,来自 puppetmaster 日志: …

linux debian puppet facter puppetmaster

5
推荐指数
1
解决办法
1566
查看次数

Puppet:证书验证失败

由于搞砸了,我必须重新生成客户端和服务器证书。

据我所知,主证书是自动生成的。

所以我在客户端生成了密钥:

MASTER # puppet cert clean --all
Notice: Revoked certificate with serial 2
Notice: Revoked certificate with serial 6
Notice: Removing file Puppet::SSL::Certificate puppet.x.com at '/var/lib/puppet/ssl/ca/signed/puppet.x.com.pem'
Notice: Removing file Puppet::SSL::Certificate puppet.x.com at '/var/lib/puppet/ssl/certs/puppet.x.com.pem'
Notice: Removing file Puppet::SSL::Key puppet.x.com at '/var/lib/puppet/ssl/private_keys/puppet.x.com.pem'
Notice: Removing file Puppet::SSL::Certificate efikamx-9ba3ab.x.com at '/var/lib/puppet/ssl/ca/signed/efikamx-9ba3ab.x.com.pem'
Notice: Removing file Puppet::SSL::Certificate efikamx-9ba3ab.x.com at '/var/lib/puppet/ssl/certs/efikamx-9ba3ab.x.com.pem'

puppet agent --no-daemonize  --onetime --verbose --waitforcert 60 
notice: Did not receive certificate
info: Caching certificate for efikamx-561a37.botnet.corp.flatturtle.com
err: Could not retrieve catalog from remote …
Run Code Online (Sandbox Code Playgroud)

puppet puppetmaster

5
推荐指数
1
解决办法
2万
查看次数

推荐的 Puppet 服务器目录布局是什么?

我只是在设置一个新的 puppet 服务器并想找出最佳实践目录结构是什么?我在不同的论坛和木偶网站上四处看看,让我印象深刻的是每个人似乎都以不同的方式展示它。没有推荐的方式和目录结构吗?

到目前为止,我有:

puppet/
   + manifests/
      + site.pp  
      + nodes/
          + production/
              + nodes.pp
          + dev/
              + nodes.pp
   + modules/
Run Code Online (Sandbox Code Playgroud)

在这之后我有点卡住了:)

所以我想我想把它分成服务器角色,比如“webserver”,它有一个服务,比如“httpd”或“nginx”

什么是最好的方法来解决所有这些问题,因为它让我发疯,似乎没有一种首选方法可以做到这一点,或者我可能只是在所有其他信息中错过了它:(

这是您构建目录的方式吗?

puppet/
   + manifests/
      + site.pp  
      + nodes/
          + production/
              + nodes.pp (Nodes have roles)
          + dev/
              + nodes.pp
       + roles/
           + web-server-apache.pp (Roles have modules)
   + modules/
       + web-server-apache/
           + manifests/
               + init.pp (This is where "httpd" gets defined and installs latest httpd)
           + templates/
           + files/
Run Code Online (Sandbox Code Playgroud)

puppet puppetmaster

5
推荐指数
1
解决办法
2342
查看次数

使用 puppet 安装具有依赖项的包

我是新手puppet,在学习它的过程中,我创建Puppet MasterPuppet Slave设置并配置了一个mysql模块来安装 mysql Puppet client。下面是清单文件。

class mysql {
    package { ["mysql-server-5.5", "libaio1", "libdbd-mysql-perl", "libdbi-perl", "libhtml-template-perl", "libmysqlclient18", "mysql-client-5.5", "mysql-common", "mysql-server-core-5.5"]:
    ensure => present,
    allowcdrom => 'true',
    }
}
Run Code Online (Sandbox Code Playgroud)

package资源包含 mysql-server 的所有依赖项。但我收到以下错误。

Building dependency tree...
Reading state information...
The following extra packages will be installed:
  mysql-common
The following NEW packages will be installed:
  libmysqlclient18 mysql-common
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get …
Run Code Online (Sandbox Code Playgroud)

puppet puppetmaster puppet-agent

5
推荐指数
2
解决办法
9429
查看次数

本地“傀儡申请”和“傀儡代理”对傀儡大师的区别

我们正在从包含所有配置的整体木偶存储库迁移。这个 repo 包含的东西不应该出现在每个节点上,因此基于 puppetmaster 的系统似乎是适当隔离事物的最佳方式。

我遇到的问题是,当复制到本地节点并puppet apply /etc/puppet/manifests/site.pp在其上运行时,相同的 repo 可以正常工作。我们的安装运行非常干净。

当我将 puppet repo 放在 puppetmaster 上并让代理签名时,除了将它的本地目录报告给 puppetmaster 之外,它似乎没有做任何事情。

有一段时间,我无法重现执行此操作的配置,我们的一个自建模块抛出了一个错误,表明它正在尝试从本地机器的modules目录中复制文件,而不是 puppetmaster应该喜欢。

这表明在为本地使用和通过 puppetmaster 构建存储库时,可能存在模块和清单语法差异。

如果有任何差异,它们是什么,或者转换工作的主要跳闸点是什么?


/etc/puppet/puppet.conf对主文件:

[main]
logdir=/var/log/puppet
vardir=/var/lib/puppet
ssldir=/var/lib/puppet/ssl
rundir=/var/run/puppet
factpath=$vardir/lib/facter
pluginsync=true

# Set up Environments
## Each environment has a dedicated 'modules' directory under /environments/ from
## which puppet will preferentially pull. Otherwise, it'll use the top level  
## 'modules' directory. That is where common code goes.
[master]
  manifest=$confdir/manifests/site.pp
  modulepath=$confdir/environments/$environment/modules:$confdir/modules
  ssl_client_header= SSL_CLIENT_S_DN
  ssl_client_verify_header …
Run Code Online (Sandbox Code Playgroud)

puppet puppetmaster

4
推荐指数
1
解决办法
2万
查看次数

Puppet 声称即使域正确解析也无法解析域

我有一个相当简单的 puppet 设置,一个主节点和一个节点,都运行 Debian Squeeze 6.0.4。我有两台机器的 DNS 条目,分别是客户端和主机。客户端和主服务器的 DNS 条目在两台机器上都正确解析为正确的 IP。

在我的客户端上,我有这样的配置:

[main]
server = master.example.org

logdir=/var/log/puppet
vardir=/var/lib/puppet
ssldir=/var/lib/puppet/ssl
rundir=/var/run/puppet
factpath=$vardir/lib/facter
pluginsync=true
templatedir=/var/lib/puppet/templates
Run Code Online (Sandbox Code Playgroud)

根据 /var/log/syslog 中的消息,密钥交换似乎失败了:

localhost puppet-agent[11364]: Could not request certificate: getaddrinfo: Name or service not known
Run Code Online (Sandbox Code Playgroud)

为什么分辨率不仅仅适用于木偶?

puppet puppetmaster

4
推荐指数
1
解决办法
3716
查看次数

puppet:如何向所有代理提交命令“yum update”?

我是 puppet 的新手,正在尝试创建清单,该清单将请求所有代理更新所有当前安装的 yum 包。

在清单中描述这一点的最佳方式应该是什么?

yum puppet puppetmaster

4
推荐指数
1
解决办法
4812
查看次数

puppet cert list -all: 错误:标题太长

我尝试重新启动我的木偶大师,但错误仍然存​​在。

也可以从所有尝试加入的傀儡特工身上看到。

puppet agent --server puppet.example.com --waitforcert 60 --test --verbose
Error: Could not request certificate: Error 400 on SERVER: header too long
Run Code Online (Sandbox Code Playgroud)

puppet puppetmaster

4
推荐指数
1
解决办法
1万
查看次数

使用 Puppet 创建用户帐户?

我刚刚开始使用 Puppet,我的测试 site.pp 文件中有以下代码:

class { 'account': {
  'danny':
     home_dir => '/home/danny',
     groups   => [ 'sudo', 'users' ],
     password => 'password'
  }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用Puppet Forge的帐户模块。我已经检查过模块是否安装正确。

使用上述代码时给出的错误是:

错误:无法从远程服务器检索目录:服务器上的错误 400:无法解析环境生产:“{”处的语法错误;在节点 testpuppet.domain.io 上的 /etc/puppet/manifests/site.pp:12 处应为“}” 警告:未在失败的目录上使用缓存错误:无法检索目录;跳过运行

site.pp 的第 12 行是:

class { 'account': {
Run Code Online (Sandbox Code Playgroud)

文档给出了以下示例:

account { 
  'sysadmin':
    home_dir => '/opt/sysadmin',
    groups   => [ 'sudo', 'users' ],
    ssh_key  => 'AAAAB3NzaC1yc2EAAAABIwAAAQEArfQmMkvtWRnwas3DIti9qAuSFQXKcE0kdp5f42PP8l2kTytJPPWp5T/q8PXDQ2d2X5KplMCMDiUQkchqhmDp840jsqBQ9iZPejAjv3w2kITgScFNymAcErtzX52iw4lnUyjZzomCW8G3YthQMaRm2NkI4wcVcjzq+SKyTfzrBoH21RgZlfcx+/50AFRrarpYqel9W5DuLmmShHxD8clPS532Z/1X+1jCW2KikUhdo98lxYTIgFno05lwFOS9Ry89UyBarn1Ecp1zXpIBE7dMQif3UyLUTU9zCVIoZiJj4iO5lemSSV0v8GL97qclBUVJpaCpc4ebR7bhi0nQ28RcxQ==',
    comment   => 'SysAdmin user',
}
Run Code Online (Sandbox Code Playgroud)

我使用的所有其他模块都在一个类中,例如 NTP 模块:

class { 
  '::ntp': 
  servers => [ 
    '0.uk.pool.ntp.org', 
    '1.uk.pool.ntp.org', 
    '2.uk.pool.ntp.org', 
    '3.uk.pool.ntp.org' 
  ], 
}
Run Code Online (Sandbox Code Playgroud)

使用 …

users puppet puppetmaster

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

puppet ×10

puppetmaster ×10

debian ×1

facter ×1

linux ×1

puppet-agent ×1

users ×1

yum ×1