选择更安全的方式执行你的puppet更新
選擇更安全的方式執(zhí)行你的puppet更新
生產(chǎn)環(huán)境中,puppet的更新有需要節(jié)點(diǎn)自動(dòng)更新的,有需要通過puppetmaster推送更新的,還有需要節(jié)點(diǎn)更新時(shí)間離散的。下面講解三種更新方式
2.7?Puppet更新方式
2.7.1?節(jié)點(diǎn)定時(shí)更新
[root@agent1?~]#?vim?/etc/puppet/puppet.conf
[main]
?server=puppetserver.rsyslog.org??#指向puppetserver服務(wù)器
[agent]
?runinterval=5??#前期方便測(cè)試可采用客戶端自動(dòng)更新的方式,設(shè)置agent?5秒鐘去同步
2.7.2?節(jié)點(diǎn)離散更新(需要測(cè)試)
使用puppet的inline_template功能結(jié)合cron任務(wù)計(jì)劃執(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é)點(diǎn)數(shù)比較多的情況下,為了減輕puppet?server端同一時(shí)間的壓力,可以考慮方式二。
實(shí)現(xiàn)原理:根據(jù)客戶端的主機(jī)名做哈希表(每個(gè)主機(jī)名產(chǎn)生的哈希值具有唯一性),并作為計(jì)劃任務(wù)左右的分鐘或者小時(shí),每個(gè)客戶端會(huì)在過去的每小時(shí)的不同分鐘數(shù)運(yùn)行puppet,這個(gè)三列技術(shù)是有用的隨機(jī)任何的cron作業(yè),提高了可能性,因?yàn)樗麄儾粫?huì)互相干擾。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命令測(cè)試
[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
備注:如果主機(jī)比較多,可創(chuàng)建hosts.txt文件,然后將需要更新的節(jié)點(diǎn)主機(jī)名添加到hosts.txt文件中,然后跟上?--host?`cat?hosts.txt`參數(shù)即可
推送方法,在服務(wù)端運(yùn)行命令
puppet?kick?-p?10?–host?客戶端 或?puppetrun?-p?10?–host?客戶端
轉(zhuǎn)載于:https://blog.51cto.com/lookingdream/1831119
總結(jié)
以上是生活随笔為你收集整理的选择更安全的方式执行你的puppet更新的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是word2vector
- 下一篇: 算法复杂度为O(N) 的排序算法