中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

52.puppet自動化運維工具

發布時間:2020-08-30 15:06:56 來源:網絡 閱讀:295 作者:乘_風 欄目:建站服務器

puppet自動化運維工具

Puppet是一款運維自動化工具,在一些大型的互聯網企業,它可以針對多臺服務器進行統一操作,如統一部署軟件,進行統一上線維護等,意思就是說在一臺linux服務器上所部署的操作,會通過puppet同步到其他linux服務器的一款強大工具。

Puppet使用的端口是8139

 

 

搭建puppetmaster

規劃服務器主機名

# 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

服務器時間同步

#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

安裝ruby

# yum -y install ruby

#ruby -v

安裝puppetfacter

# 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

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客戶端:

規劃服務器主機名

# 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

同步服務時間

# ntpdate 1.1.1.128

安裝ruby安裝工具

# yum -y install ruby

# ruby -v

安裝puppetfacter

#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

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分發部署:

創建必要目錄

#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/filesssh模塊的文件發布目錄

創建模塊配置文件

# 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    調用上面三個類

}

復制已修改好的ssh的配置文件到默認目錄

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

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

創建節點配置文件

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

node 'client.test.cn' {                            定義客戶端入口

     include ssh

}

# vim /etc/puppet/manifests/nodes/site.pp          配置節點位置

import "nodes/ssh.pp"

同步方法:

客戶端主動拉取

#puppet agent -t

服務器推送同步

客戶端

# 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

服務端

#puppet kick client.test.cn

 


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

建始县| 广饶县| 罗甸县| 康保县| 丰镇市| 天津市| 易门县| 灌阳县| 滨海县| 恭城| 许昌县| 锡林浩特市| 东乌| 双牌县| 元氏县| 全州县| 彭阳县| 卫辉市| 新龙县| 湘西| 庆元县| 石嘴山市| 宣威市| 称多县| 塔河县| 桦甸市| 济南市| 青铜峡市| 中宁县| 杭锦后旗| 湟中县| 健康| 明溪县| 延庆县| 昔阳县| 顺义区| 蕲春县| 巴马| 凌源市| 宁南县| 高碑店市|