我正在尝试配置我的 clinet 'Itai-test' 以从称为“puppetmaster”的人偶服务器接收人偶设置。
在我运行的服务器上:
[root@puppetmaster requests]# puppet cert --generate itai-test.domain
Error: A Certificate already exists for itai-test.domain
[root@puppetmaster requests]# puppet cert --sign itai-test.domain
Error: Could not find certificate request for itai-test.domain
[root@puppetmaster requests]#
Run Code Online (Sandbox Code Playgroud)
在我运行的傀儡客户端上:
[root@itai-test temp]# puppet agent --server puppetmaster.domain --waitforcert 60 --test
Notice: Did not receive certificate
Notice: Did not receive certificate
Notice: Did not receive certificate
Run Code Online (Sandbox Code Playgroud)
更多信息:在服务器上:
[root@puppetmaster ~]# puppet cert --revoke Itai-test
Error: Could not find a serial number for itai-test
[root@puppetmaster ~]# puppet cert --revoke …Run Code Online (Sandbox Code Playgroud) 是否有可能以puppet仅在特定时间内应用清单更改的方式进行设置,以便在我们决定时会发生服务器上的任何最终停机时间?
谢谢
是否可以从 master puppet 向节点发出命令以运行代理并将最新配置应用于它?
就像,我丢失了用户的密码,我无法登录,但是服务器上安装了 puppet 代理,我可以通过运行 puppet 代理在服务器上应用更改,但是由于它没有自动运行,我无法登录要手动运行它,如何运行它并通过 puppet master 应用配置?(如果可能的话)
首先,我知道在 serverfault 上已经有一个非常相似的问题,但它并没有完全回答我的问题。
所以,我的设置如下:我有一台服务器,运行 Ubuntu 14.04 LTS 和 puppet master 3.4.3 和 foreman 1.6。客户端是运行 puppet 代理 3.7.0 的 Windows 7 计算机。
自动运行工作正常,我只是无法让Run Puppet按钮工作。我总是收到带有此消息的红色叠加层:
failed to execute puppetrun: ERF12-4252 [ProxyAPI::ProxyException]: Unable to execute Puppet run ([RestClient::InternalServerError]: 500 Internal Server Error) for proxy https://puppetmaster:8443/puppet
Run Code Online (Sandbox Code Playgroud)
我按照wiki的说明在节点上添加了以前不存在的文件 auth.conf。我把它放在C:\ProgramData\PuppetLabs\puppet\etc\puppet.conf 文件所在的位置。我还在这个目录中添加了一个空的 namespaceauth.conf。在节点和服务器上我激活了listen=true。我在 sudoers 文件中添加了 foreman-proxy。我重新启动了节点服务和 puppetmaster 几次。这就是我发现的所有其他帖子都说“现在你有一个可以运行的运行木偶按钮”。除了我它不起作用。
我能找到的唯一日志条目是在 /var/log/foreman-proxy/proxy.log 中:
E, [2014-10-20T17:50:53.051681 #1119] ERROR -- : Failed puppet run: Check Log files
Run Code Online (Sandbox Code Playgroud)
我检查了我能找到的所有日志文件,但找不到关于此错误可能是什么的任何进一步信息。编辑:添加到 wiki 的链接第二次编辑:我还检查了工头错误代码,但不幸的是,我得到的代码没有任何链接到它的信息。(是的,我检查了代理通信错误 - 没有)
我有几台通过 puppet 管理的机器。这些机器位于不同的物理位置。每个位置都有一个特定的位置编号。
我有一个配置文件,需要在其中包含正确的位置编号。
所以/etc/abc.conf的内容是这样的:
this=that
location=$LOCATION_NUMBER
bananas=tasty
Run Code Online (Sandbox Code Playgroud)
当文件被推送到机器时,我需要 $LOCATION_NUMBER 实际上是位置号。
我可以用 puppet 管理这个文件吗?如何管理?
如果我为 LOCATION_NUMBER 导出一个因子,当 puppet 将文件下推到机器时,它可以写出正确的位置号吗?
谢谢。
# puppetca --list
-bash: puppetca: command not found
Run Code Online (Sandbox Code Playgroud)
我是 Puppet 服务器的新手,但我认为我已经正确安装了 puppet-server。
人偶怎么获得?
我处于不断旋转新虚拟机以进行开发的情况。我有一个可以克隆的基本映像,但它很快就会过时,而且您无法在许多虚拟机中添加更改。
我想设置一个在虚拟机第一次启动时运行的 puppet 脚本,并且有很多指南可以创建一个由 puppet 直接运行的 site.pp,但这涉及一个必须在虚拟机上设置的文件节点。我想做的是在 puppetmaster 上进行开发设置,以便我所有的 vm 都可以调用同一点并保持最新状态,并允许我使用文件服务器等创建一组全面的软件包。
我看到的问题是我不能/不想依靠主机名来识别虚拟机,我不在乎保留 pki 的历史记录,因为虚拟机名称可能会被重用。
puppet 可以与 puppetmaster 一起使用并且基本上忽略所有 pki 吗?我可以创建一个环境,以便我可以通过事实或其他方式将虚拟机注册到其中吗?我想做 puppet agent type=test1 或类似的。
通常,我如何通过集中式源使用 puppet,而我并不特别关心节点的安全性并期望节点经常来来去去?
我正在尝试创建一个函数,仅当第一个目录存在时才会创建目录/文件,而不是因为依赖失败而必须跳过它。
我已经尝试过这种“onlyif”解决方法,但不幸的是它不适用于我的功能。
$check_directory = file("/path/to/directory")
if($check_directory != '') {
file{"/path/to/config":
ensure => directory,
mode => 0755,
}
file{"/path/to/config/a.conf":
ensure => file,
mode => 0755,
content => template("config_template.conf"),
}
}
Run Code Online (Sandbox Code Playgroud)
我有一个错误:
Error: Is a directory - /path/to/directory
Run Code Online (Sandbox Code Playgroud)
有没有办法做任何其他 if 语句?或者什么参数?谢谢。
我正在尝试将/vagrant/scripts 位于 puppet master 上的文件夹及其子文件夹复制到代理中。我在以下配置中使用init.pp:
file {
'/home/vagrant/scripts':
ensure => 'file',
source => 'puppet:///modules/ycsb/scripts',
path => '/home/vagrant/YCSB/scripts',
owner => 'vagrant',
group => 'vagrant',
mode => '0744', # Use 0700 if it is sensitive
}
Run Code Online (Sandbox Code Playgroud)
当我检查代理时,我可以看到/scripts 文件夹,但没有其子文件夹。知道为什么会这样吗?
由于搞砸了,我必须重新生成客户端和服务器证书。
据我所知,主证书是自动生成的。
所以我在客户端生成了密钥:
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)