首先,简要介绍一下我们的设置:
我们已经开始扩展Foreman的使用,并希望启用Run木偶按钮。我跟踪了维基,并让它在最初的测试中发挥作用。然而,在进一步的测试中,按钮产生了一些非常不一致的结果。我似乎记得,在触发运行时,默认情况下有2分钟的播放,但这不是问题所在。有时,当我按下按钮,主机跳到并立即开始运行。然而,大多数情况下,它从不触发运行。
Foreman在sudoers配置中有以下内容:
Defaults:foreman-proxy !requiretty
foreman-proxy ALL = NOPASSWD: /usr/bin/puppet kick *主机在auth.conf中有以下内容,这是一个空白的namespaceauth.conf,puppet.conf中的listen = true。
# allow foreman to start puppet runs
path /run
auth any
method save
allow foreman.domain.lan当试图通过Foreman触发木偶运行时,这会出现在生产日志中。
Started GET "/hosts/host-a.domain.lan/puppetrun" for 192.168.8.48 at 2014-07-15 21:44:59 +0000
Processing by HostsController#puppetrun as HTML
Parameters: {"id"=>"host-a.domain.lan"}
Redirected to http://foreman.domain.lan/hosts/host-a.domain.lan
Completed 302 Found in 48ms (ActiveRecord: 1.3ms)
Started GET "/hosts/host-a.domain.lan" for 192.168.8.48 at 2014-07-15 21:44:59 +0000
Processing by HostsController#show as HTML
Parameters: {"id"=>"host-a.domain.lan"}
Rendered hosts/_overview.html.erb (16.2ms)
Rendered hosts/_metrics.html.erb (0.3ms)
Rendered hosts/show.html.erb within layouts/application (734.1ms)
Rendered home/_user_dropdown.html.erb (2.0ms)
Read fragment views/tabs_and_title_records-2 (0.2ms)
Rendered home/_topbar.html.erb (3.8ms)
Rendered layouts/base.html.erb (5.9ms)
Completed 200 OK in 781ms (Views: 652.3ms | ActiveRecord: 108.6ms)仅此而已,木偶跑步偶尔会在主机上触发,但并不总是这样。有什么想法吗?
编辑:我应该补充一点,当运行触发器不成功时,当运行傀儡代理--不去守护--调试时,主机端不会发出任何消息。
MOAR编辑:运行Foremanv1.5.1加上木偶3.6.2在木偶主人和领班,v3.3.1在主机上。
发布于 2014-07-16 17:50:23
我尝试了很多方法,以获得可靠的踢跑,但不能,这是不可取的,无论如何,所以我转到木偶。这需要配置智能代理的SSH密钥、领班代理用户及其sudo权限。关于这个傀儡运行方法的文档不多,而foreman中的调试日志记录不包括任何命令输出,因此很难知道什么地方/如何失败。
默认情况下,foreman用户没有shell (在RHEL上),因此无法运行/usr/bin/ssh。简单的usermod -s /bin/bash完成了这个任务,但对我来说,这似乎是一个安全风险。更重要的是,运行它需要不同的sudo权限,因此我不得不将foreman= NOPASSWD: /usr/bin/puppet改为foreman= NOPASSWD: /usr/bin/ssh。之后,只需配置ssh命令即可。
在我的例子中,我们部署了一个用户帐户和SSH密钥,用于在客户端计算机上运行带有sudo的木偶命令。我将私钥复制到某个位置--领班-代理可以使用它(例如:/etc/foreman/ puppetssh /id_rsa),并在/etc/foreman/setings.yml中配置傀儡参数,如下所示:
:puppetssh_command: /usr/bin/sudo /usr/bin/puppet agent -t --no-usecacheonfailure
:puppetssh_user: puppetssh
:puppetssh_keyfile: /etc/foreman-proxy/puppetssh/id_rsa发布于 2016-04-14 07:24:29
它对我有效,我选择了傀儡源http://theforeman.org/manuals/1.11/index.html#4.3.6Puppet
按照上面链接中的一条指令,在内容傀儡下面编辑文件中的下面一行。
/etc/foreman-proxy/settings.d/puppet.:puppetssh_command: /usr/bin/puppet agent --onetime --no-usecacheonfailure
转换成
:puppetssh_command: /usr/bin/puppet agent --test
现在它会像魅力一样发挥作用--如果它不起作用的话,可以随意回答,干杯
https://serverfault.com/questions/612812
复制相似问题