选择更安全的方式执行你的puppet更新
選擇更安全的方式執(zhí)行你的puppet更新
生產(chǎn)環(huán)境中,puppet的更新有需要節(jié)點自動更新的,有需要通過puppetmaster推送更新的,還有需要節(jié)點更新時間離散的。下面講解三種更新方式
2.7?Puppet更新方式
2.7.1?節(jié)點定時更新
[root@agent1?~]#?vim?/etc/puppet/puppet.conf
[main]
?server=puppetserver.rsyslog.org??#指向puppetserver服務(wù)器
[agent]
?runinterval=5??#前期方便測試可采用客戶端自動更新的方式,設(shè)置agent?5秒鐘去同步
2.7.2?節(jié)點離散更新(需要測試)
使用puppet的inline_template功能結(jié)合cron任務(wù)計劃執(zhí)行agent服務(wù)端分散更新
cron?{?"run-puppet":?
command?=>?"/usr/sbin/?puppet?agent?--server=puppetserver.rsyslog.org?--test?>/dev/null??2>&1",?
minute?=>?inline_template("<%=?hostname.hash?%?60?%>"),?
}
備注:節(jié)點數(shù)比較多的情況下,為了減輕puppet?server端同一時間的壓力,可以考慮方式二。
實現(xiàn)原理:根據(jù)客戶端的主機名做哈希表(每個主機名產(chǎn)生的哈希值具有唯一性),并作為計劃任務(wù)左右的分鐘或者小時,每個客戶端會在過去的每小時的不同分鐘數(shù)運行puppet,這個三列技術(shù)是有用的隨機任何的cron作業(yè),提高了可能性,因為他們不會互相干擾。Hash生成的數(shù)值可以使無限大,上例中只是生成0-60,也就是限制了最大值為60。
2.7.3?服務(wù)端推送更新(puppet?kick)
1)、修改agent端的主配置文件
[root@agent1?~]#?vim?/etc/puppet/puppet.conf
[agent]
listen?=?true
...
2)、修改/etc/sysconfig/puppet
[root@agent1?~]#?vim?/etc/sysconfig/puppet?
PUPPET_SERVER=puppetserver.rsyslog.org
...
3)、新建namespaceauth.conf文件
[root@agent1?~]#?vim?/etc/puppet/namespaceauth.conf
[puppetrunner]
allow?puppetserver.rsyslog.org?
4)、修改auth.conf文件(在path?/前添加)
[root@agent1?~]#?vim?/etc/puppet/auth.conf
path?/run
method?save
allow?puppetserver.rsyslog.org
auth?any?
path?/
auth?any
5)、重啟agent端
6)、在puppetmaster端執(zhí)行puppetrun命令測試
[root@puppetserver?~]#?puppetrun?-p?10?--host?agent1.rsyslog.org
Triggering?agent1.rsyslog.org
Getting?status
status?is?success
agent1.rsyslog.org?finished?with?exit?code?0
Finished
備注:如果主機比較多,可創(chuàng)建hosts.txt文件,然后將需要更新的節(jié)點主機名添加到hosts.txt文件中,然后跟上?--host?`cat?hosts.txt`參數(shù)即可
推送方法,在服務(wù)端運行命令
puppet?kick?-p?10?–host?客戶端 或?puppetrun?-p?10?–host?客戶端
轉(zhuǎn)載于:https://blog.51cto.com/lookingdream/1831119
總結(jié)
以上是生活随笔為你收集整理的选择更安全的方式执行你的puppet更新的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是word2vector
- 下一篇: Adobe Acrobat readin