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 介绍到此!!!

相关文章
相关标签/搜索