Puppet部署與應用

1、實驗環境node

wKiom1mtzPWxitH0AACWEMNuhXA495.png

wKiom1mtzQPxejoUAAAJVrueztc477.png

2、實驗步驟linux


搭建NTP servervim

#yum   isntall  -y  ntpruby

#vim   /etc/ntp.conf服務器

wKioL1mtzPGjO8lWAAAhXyPh7Vc087.png

#service     ntpd    startssh

#chkconfig   ntpd  ontcp


搭建puppetmaster 服務器ide

修改主機名測試

#vim /etc/sysconfig/networkui

HOSTNAME=master.test.cn

#vim   /etc/hosts

wKioL1mtzPyxihaDAAASOltz5Jw654.png

重啓計算機

 

Puppetmaster  做爲ntp客戶端的配置

#yum   install   -y  ntp

#ntpdate   192.168.1.40            時間同步


安裝ruby,注意順序,先安裝commpat-readline5的包,也可一塊兒安裝。

wKiom1mtzXLTz7iwAAAVXWHwKKw594.png

安裝完後檢查ruby的版本

#ruby   -v

wKioL1mtzWWCORf5AAAiGBQ3_nE417.png


Puppet,facter安裝

wKiom1mtzY6ywrCoAAAcCjwNX8o751.png

wKiom1mtzZuDccJcAABLDwhuAns774.png 

建立puppet主目錄

wKioL1mtzYqQ45-EAAAQQMAGFm8505.png

註明:manifests爲節點信息,modules爲模塊信息


puppet服務證書請求與簽名

修改配置文件:vim   /etc/puppet/puppet.conf

在[main]標題下添加一行,配置服務器模塊路徑

#vim   /etc/puppet/puppet.conf

wKiom1mtzbKCL6WRAADWCpgV3hU769.png

 

啓動puppet主程序

#service    puppetmaster   start

註明:puppetmaster 默認端口tcp  8140

 

搭建puppetclient(先配置client1)


修改主機名

#vim   /etc/sysconfig/network

wKioL1mtzanwhhxoAAALp_ltkfQ223.png

#vim   /etc/hosts

wKioL1mtzbXwtmVSAAASOltz5Jw748.png

重啓計算機

 

與時間服務器同步

#yum  -y  install    ntp (若是安裝了,請忽略)

#ntpdate 192.168.1.40


安裝ruby,注意順序,先安裝compat-readline5包,也可一塊兒安裝。

wKiom1mtzjuR4-2DAAAVXWHwKKw657.png


安裝完以後檢查ruby的版本:

wKiom1mtzkvyKxuWAAAiXbGqqYk331.png


Puppet,facter安裝

wKioL1mtzjmzgWMNAAAcCjwNX8o815.png

wKiom1mtzmKCCQhpAAA6vWHdS3g424.png


puppet服務證書請求與簽名

修改配置文件: vim  /etc/puppet/puppet.conf

在[main]標題下添加一行,設置服務器域名。

#vim  /etc/puppet/puppet.conf

wKioL1mtzlLgGN-5AADP-K7FSQE696.png

註明:

Client2的配置過程與client1相似,只要將主機名修改成 client2.test.cn便可。


申請與註冊

client端:

分別在client1和client2上進行註冊

wKioL1mtzl_BW8P4AAAQBLChvpw598.png

wKiom1mtzrvjLZPhAACDKPXi7eY456.png

等待一下子後,此時能夠按ctrl+c結束,由於puppet一直在等待任務,可是已經從server能夠查看到申請信息。

master 端:

查看申請註冊的客戶端

wKioL1mtzrSjG5p2AAAlfftPLK4298.png

wKioL1mtzwmgO7m4AAAV0M8Khm4548.png

將未註冊的客戶端進行註冊:

#puppet   cert   sign  --all

能夠經過目錄去查看已經註冊的客戶端

wKiom1mtz2aSnxoCAABLsGWiIGY443.png

配置實例(應用)

案例應用的背景:爲了保護linux的ssh端×××破,批量修改客戶端sshd端口,將端口22修改成9922,並實現重啓工做。

想完成以上幾點,須要明確幾點:

①需肯定openssh軟件包安裝

②需肯定存在ssh的配置文件

③肯定sshd的服務是系統服務

 

配置一個測試節點:

建立須要的必要目錄

wKioL1mtz17iXrSaAAA1GbtkKfM383.png

註明:建立ssh模塊,模塊的目錄爲ssh,模塊下有三個文件分別是:manifests、templates、files。

 

建立模塊配置文件install.pp

首先肯定客戶端安裝ssh服務

#vim  /etc/puppet/modules/ssh/manifests/install.pp

wKiom1mtz5XzCx92AAAWAsHftWg314.png

 

建立模塊配置文件config.pp

ssh主配置文件的配置:

#vim /etc/puppet/modules/ssh/manifests/config.pp

wKioL1mtz4mTB2cyAABe4Efuiaw288.png

注意:紅色的爲大寫。

註明:

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肯定

openssh已經安裝

  notify => Class["ssh::service"],//若是config.pp發生變化通知service.pp

   }

}

這個文件的內容主要是定義,發佈的配置文件權限以及調用ssh::install檢查client是否安裝了ssh服務,以及調用ssh::service從新啓動sshd服務

 

建立模塊配置文件service.pp

sshd服務的配置:

#vim  /etc/puppet/modules/ssh/manifests/service.pp

wKiom1mtz__x1piiAAA7ozoijDE190.png

註明:

class ssh::service{

        service{ "sshd":

ensure =>running,         //肯定sshd運

hasstatus=>true,         //puppet該服務支持status命令,即相似service sshd status命令             

hasrestart=>true,                //puppet該服務支持status命令,即相似service  sshd status命令  

enable=>true,              //服務是否開機啓

require=>Class["ssh::config"]       //確認config.pp調用

}

}


建立模塊主配置文件init.pp

該模塊的初始(入口)文件配置

#vim /etc/puppet/modules/ssh/manifests/init.pp

wKioL1mtz_jxtl5lAAAUbPRO_iQ671.png


創建服務器端ssh 統一維護文件

因爲服務器和客戶端的sshd_config文件默認配置同樣,此時將服務器端/etc/ssh/sshd_config複製到模塊默認路徑。

wKiom1mt0L-gWhV3AAAbgRP6Sk8984.png


建立測試節點配置文件,並將ssh加載進去

#vim  /etc/puppet/manifests/nodes/ssh.pp

wKioL1mt0LXBM8XMAAAalRPZKf4118.png

 

將測試節點載入puppet,即修改site.pp

#vim  /etc/puppet/manifests/site.pp

wKiom1mt0bPy2h11AAAJYInBJlc249.png

 

修改服務器端維護的sshd_config配置文件

#vim  /etc/puppet/modules/ssh/files/ssh/sshd_config

wKioL1mt0aLyYV-XAAAWNLZFzWI637.png

 

重啓puppet

#service    puppetmaster    restart

 

客戶端主動拉取:(client1上操做)

Client端:

wKiom1mt0fqSWlFMAAEBucclWUs258.png

驗證:vim  /etc/ssh/sshd_config

wKioL1mt0evCsHViAAAWOerNiSU697.png

查看ssh服務是否重啓,端口是否生效:

wKiom1mt0hahNtBzAAA1YK7KzM0130.png


服務器推送同步

Client2端:

修改配置文件

#vim   /etc/puppet/puppet.conf

最後一行添加:

 wKioL1mt0gbDLoh0AAAf6n2xTd0757.png

#vim    /etc/puppet/auth.conf

最後一行添加:

wKioL1mt0hTTWoHBAAAYw7ZK5Tc199.png

啓動puppet客戶端

wKiom1mt0kKALXi_AAAbXGf6ElY921.png

 

Master端:

開始往客戶端推送

wKiom1mt0lChVxHhAAArFY15Pvc264.png


驗證結果

在client2上驗證:

#vim  /etc/ssh/sshd_config

wKioL1mt0kDxGsDuAAAWOerNiSU158.png

 

查看ssh服務是否重啓,端口是否生效:

wKioL1mt1Yfw-RKZAAA1YK7KzM0404.png

Puppet 介紹到此!!!

相關文章
相關標籤/搜索