安裝puppet
2.1安裝需求
注:本文都是在centos5下進行安裝與配置。其它系統請參考官網。
ruby 1.8.2+ facter
其它的庫:
2.2 puppet版本
2.6.4
0.25.5
2.6.4和0.25.5 有功能和基本命令上有一些變化區別如下:
puppetmasterd → puppet master
puppetd → puppet agent
puppetca → puppet cert
ralsh → puppet resource
puppetrun → puppet kick
puppetqd → puppet queue
filebucket → puppet filebucket
puppetdoc → puppet doc
pi → puppet describe
通常我們使用epel安裝的puppet 都是0.25.5 。在安裝前做注意版本的區別。本文採用2.6.4版本,以下配置都是在2.6.4版本上完成。
其它系統相關的情況詳見:(遺憾的是沒有看到對windows的支援)
2.3原始碼包安裝
原始碼包安裝時,版本沒有太多的區別。
2.3.1 安裝ruby 最好使用rpm包安裝。可以採用epel 然後yum
yum install ruby ruby-devel ruby-doc*
2.3.2 安裝facter
$ wget
$ gzip -d -c facter-latest.tgz | tar xf -
$ cd facter-*
$ sudo ruby install.rb #使用root 賬號執行
$ wget
# untar and install it
$ gzip -d -c puppet-latest.tgz | tar xf -
$ cd puppet-*
$ sudo ruby install.rb # 使用rot安裝
2.4 yum安裝
1. epel 安裝0.25.5
2. 採用如下方式安裝2.6.4
2.4.1配置yum源
cd /etc/yum.repos.d/
vim puppet.repo
[puppetlabs]
name=puppet labs packages
baseurl=
enabled=0
gpgcheck=0
vim epel.repo
name=extra packages for enterprise linux 5 -$basearch
#baseurl=
mirrorlist=
failovermethod=priority
enabled=0
gpgcheck=0
[epel-puppet]
name=epel puppet
baseurl=
enabled=0
gpgcheck=0
vim ruby.repo
[ruby]
name=ruby
baseurl=
gpgcheck=0
enabled=0
2.4.2 公升級ruby
puppet 2.6 需要 ruby 1.8.6 去執行 puppet-dashboard
公升級ruby
# yum --enablerepo="ruby" update ruby
如果你沒有安裝ruby 請使用:
#yum -y install ruby
2.4.3 安裝puppet
安裝 puppet server
server端:on your puppetmaster server:
# yum --enablerepo=epel,epel-puppet install puppet-server>
client 端:on your puppet client
# yum --enablerepo="epel,epel-puppet" install puppet
2.5 gem安裝
$ wget
$ sudo gem install facter-1.5.7.gem
$ wget
$ sudo gem install puppet-0.25.1.gem
三、配置puppet
3.1配置伺服器端
3.1.1設定hostname
#echo 「puppetmaster.linuxtone.org」 > /etc/hostname
#hostname –f /etc/hostname
3.1.2 配置site.pp
vim /etc/puppet/site.pp
node default
}3.2配置客戶端
3.2.1設定hostname
#echo 「puppetclient.linuxtone.org」 > /etc/hostname
#hostname –f /etc/hostname
3.1.2 指定hosts 或使用dns解析
echo 「192.168.1.100 puppetmaster.linuxtone.org」 >> /etc/hosts
3.3驗證
3.3.1 客戶端執行:
puppetd --server master.example.com(puppetmaster.linuxtone.org) --test
上面的命令讓puppetd 從 master.example.com(puppetmaster.linuxtone.org) 去讀取puppet配置檔案. 第一次連線,雙方會進行ssl證書的驗證,這是乙個新的客戶端,在伺服器端那裡還沒有被認證,因此需要在伺服器端進行證書認證.
在伺服器端的機器上執行下面的命令來認證客戶端的證書
3.3.2 伺服器端執行: puppetca -s client.example.com
3.3.3 客戶端再次執行puppetd –server puppetmaster.linuxtone.org --test
這樣驗證就算是做完了。客戶端會在/tmp目錄生成內容為「hello,first puppet manifest」的temp1.txt 檔案。
3.4 自動驗證
內容 *.linuxtone.org
使用 Puppet 進行配置管理
注 本文譯自 今天,配置管理最成熟的工具是 puppet。但是,我想您一定想知道為什麼 puppet 如此受歡迎 與其他配置管理工具相比,它有什麼獨特之處。puppet 是配置管理工具,用於部署 配置和管理伺服器。它具有以下功能 puppet 使用主從架構,主從之間通過 ssl 使用安全的加密通道進...
集中化運維管理 Puppet管理之路
大資料時代高伸縮性 容錯性的特點給運維提出了更高的要求。系統管理不再是疲於安裝作業系統 對系統引數進行逐一配置與優化 打補丁 安裝軟體 配置軟體 新增某個服務的時代。為了提高效率 避免重複勞動 減少錯誤 積累知識,系統管理員都已開始做一些區域性的自動化工作。但這些還遠不夠,為了滿足運維需求,需要更徹...
集中化運維管理 Puppet管理之路
文 劉宇 大資料時代高伸縮性 容錯性的特點給運維提出了更高的要求。系統管理不再是疲於安裝作業系統 對系統引數進行逐一配置與優化 打補丁 安裝軟體 配置軟體 新增某個服務的時代。為了提高效率 避免重複勞動 減少錯誤 積累知識,系統管理員都已開始做一些區域性的自動化工作。但這些還遠不夠,為了滿足運維需求...