puppet自動化運維工具
Puppet是一款運維自動化工具,在一些大型的互聯網企業,它可以針對多臺服務器進行統一操作,如統一部署軟件,進行統一上線維護等,意思就是說在一臺linux服務器上所部署的操作,會通過puppet同步到其他linux服務器的一款強大工具。
Puppet使用的端口是8139
搭建puppetmaster:
v 規劃服務器主機名
# vim /etc/sysconfig/network
修改內容:
NETWORKING=yes
HOSTNAME=master.test.cn
# vim /etc/hosts
添加解析記錄:
1.1.1.128 master.test.cn
1.1.1.129 client.test.cn
# hostname master.test.cn
# bash
v 服務器時間同步
#vim /etc/ntp.com
添加兩行:
server 127.127.1.0
fudge 127.127.1.0 stratum 8
# yum -y install ntpdate
#service ntpd restart
#chkconfig ntpd on
v 安裝ruby
# yum -y install ruby
#ruby -v
v 安裝puppet和facter
# useradd -s /sbin/nologin puppet
# tar xzvf facter-1.7.1.tar.gz
# cd facter-1.7.1
# ruby install.rb
# tar xzvf puppet-2.7.21.tar.gz
# cd puppet-2.7.21
# ruby install.rb
# cp conf/redhat/fileserver.conf /etc/puppet/
# cp conf/redhat/puppet.conf /etc/puppet/
# cp conf/redhat/server.init /etc/init.d/puppetmaster
# chmod +x /etc/init.d/puppetmaster
# mkdir /etc/puppet/manifests
# mkdir /etc/puppet/modules
v Puppet服務證書與簽名
# iptables -F
# vim /etc/puppet/puppet.conf
在main行添加:
ssldir = $vardir/ssl
modulepath = /etc/puppet/modules:/usr/share/puppet/modules
# /etc/init.d/puppetmaster start
搭建client客戶端:
v 規劃服務器主機名
# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=client.test.cn
# vim /etc/hosts
1.1.1.128 master.test.cn
1.1.1.129 client.test.cn
# hostname client.test.cn
# bash
v 同步服務時間
# ntpdate 1.1.1.128
v 安裝ruby安裝工具
# yum -y install ruby
# ruby -v
v 安裝puppet和facter
#useradd -s /sbin/nologin puppet
# tar xzvf facter-1.7.1.tar.gz
# cd facter-1.7.1
# ruby install.rb
# tar xzvf puppet-2.7.2
# cd puppet-2.7.21
# ruby install.rb
# cp conf/redhat/puppet.conf /etc/puppet
# cp conf/redhat/client.init /etc/init.d/puppetclient
# chmod +x /etc/init.d/puppetclient
# iptables -F
# vim /etc/puppet/puppet.conf
在main項添加內容 :
ssldir = $vardir/ssl
server = master.test.cn
v 在client端申請與注冊
# puppet agent --server=master.test.cn --no-daemonize --verbose
在master端提交注冊信息
# puppet cert --list 查看申請列表
# puppet cert sign --all 提交注冊信息,會在下面目錄中創建證書
#ll /var/lib/puppet/ssl/ca/signed 查看client端的注冊信息文件
案例需求:需要將ssh服務的端口統一更改為9922
節點入口存放目錄:/etc/puppet/manifests/nodes
模塊存放目錄:/etc/puppet/modules
Puppet分發部署:
v 創建必要目錄
#mkdir -p /etc/puppet/modules/ssh/{manifests,templates,files}
#mkdir /etc/puppet/modules/ssh/files/ssh
#mkdir /etc/puppet/manifests/nodes
#chown -R puppet /etc/puppet/modules/
#ll /etc/puppet/modules/ssh
注:ssh/manifests目錄是ssh模塊配置文件目錄,ssh/files是ssh模塊的文件發布目錄
v 創建模塊配置文件
# vim /etc/puppet/modules/ssh/manifests/install.pp 確定客戶端是否安裝ssh服務
class ssh::install{
package{ "openssh":
ensure => present,
}
}
# vim /etc/puppet/modules/ssh/manifests/config.pp 配置需要同步的文件
class ssh::config{ 定義類
file { "/etc/ssh/sshd_config": 文件路徑
ensure => present, 確定客戶端此文件存在
owner =>"root", 文件所屬用戶
group =>"root", 文件所屬組
mode =>"0600", 文件屬性
source =>"puppet://$puppetserver/modules/ssh/ssh/sshd_config",從服務器同步文件
require => Class["ssh::install"], 調用ssh::install類
notify => Class["ssh::service"], 如果config.pp發生變化通知service.pp
}
}
# vim /etc/puppet/modules/ssh/manifests/service.pp
class ssh::service { 定義類
service {"sshd":
ensure=>running, 確定ssh在運行
hasstatus=>true, 查看ssh服務狀態
hasrestart=>true, 重啟ssh服務
enable=>ture, 服務器是否開機
require=>Class["ssh::config"] 調用ssh::config類
}
}
# vim /etc/puppet/modules/ssh/manifests/init.pp 模塊主配置文件
class ssh{
include ssh::install,ssh::config,ssh::service 調用上面三個類
}
v 復制已修改好的ssh的配置文件到默認目錄
# cp /etc/ssh/sshd_config /etc/puppet/modules/ssh/files/ssh/
#chown puppet /etc/puppet/modules/ssh/files/ssh/sshd_config
v 創建節點配置文件
# vim /etc/puppet/manifests/nodes/ssh.pp
node 'client.test.cn' { 定義客戶端入口
include ssh
}
# vim /etc/puppet/manifests/nodes/site.pp 配置節點位置
import "nodes/ssh.pp"
同步方法:
v 客戶端主動拉取
#puppet agent -t
v 服務器推送同步
2 客戶端
# echo "listen = true" >> /etc/puppet/puppet.conf
# echo "allow *" >> /etc/puppet/auth.conf
#/etc/init.d/puppetclient restart
#vim /etc/ssh/sshd_config
#netstat -lnupt |grep ssh
2 服務端
#puppet kick client.test.cn
另外有需要云服務器可以了解下創新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
網站名稱:52.puppet自動化運維工具-創新互聯
文章出自:http://m.kartarina.com/article20/ccgejo.html
成都網站建設公司_創新互聯,為您提供服務器托管、App設計、企業建站、網站排名、響應式網站、移動網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯