天天看點

記一次 Centos7 搭建 Puppet 叢集

一、基本資訊說明

官網:https://puppet.com/

epel源下載下傳位址:https://fedoraproject.org/wiki/EPEL/zh-cn

安裝包下載下傳位址:http://downloads.puppetlabs.com/puppet/

GitHub:https://github.com/puppetlabs/puppet

依賴關系:https://rubygems.org/gems/puppet

二、環境、工具說明

1、作業系統  Centos7.4 x64  Minimal 1708

安裝2台虛拟機

各節點 1G記憶體  1核CPU  20G磁盤

2、工具:xshell5

3、VMware 版本:VMware Workstation Pro15

三、安裝部署

1、安裝Centos7虛拟機

參考:https://blog.csdn.net/llwy1428/article/details/89328381

2、配置網卡

參考:https://blog.csdn.net/llwy1428/article/details/85058028

3、各個節點安裝基本工具

[[email protected] ~]# yum install -y vim net-tools lrzsz tree wget rpm unzip ntp
           

4、修改主機名

參考:https://blog.csdn.net/llwy1428/article/details/85156123

第一個節點:

[[email protected] ~]# hostnamectl set-hostname server.cn
           

第二個節點:

[[email protected] ~]# hostnamectl set-hostname slave.cn
           

效果如下:

記一次 Centos7 搭建 Puppet 叢集

5、配置防火牆

參考:https://blog.csdn.net/llwy1428/article/details/85156649

此處我關閉了防火牆

記一次 Centos7 搭建 Puppet 叢集

6、配置  hosts  檔案(ip以各自真實的ip為準,此處是我虛拟機的ip)

[[email protected] ~]# vi /etc/hosts
           
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.11.17 server.cn
192.168.11.18 slave.cn
           
[[email protected] ~]# vi /etc/hosts
           

slave 節點填入 server hosts 中的相同内容

7、配置節點間時間同步

參考:https://blog.csdn.net/llwy1428/article/details/89330330

記一次 Centos7 搭建 Puppet 叢集

8、設定  selinux  狀态

參考:https://blog.csdn.net/llwy1428/article/details/100938748

記一次 Centos7 搭建 Puppet 叢集

9、在各個節點上建立目錄,并進入目錄,下載下傳 rpm 檔案

Server節點:
[[email protected] ~]# mkdir /opt/puppet
[[email protected] ~]# cd /opt/puppet/
Slave節點:
[[email protected] ~]# mkdir /opt/puppet
[[email protected] ~]# cd /opt/puppet/
           

下載下傳 puppetlabs-release-7-10.noarch.rpm

以  server  節點為例(slave節點同server節點)

[[email protected] puppet]# wget https://yum.puppetlabs.com/el/7/products/x86_64/puppetlabs-release-7-10.noarch.rpm
           
記一次 Centos7 搭建 Puppet 叢集

10、安裝  puppetlabs-release-7-10.noarch.rpm

以  server  節點為例(slave節點同server節點):

[[email protected] puppet]# rpm -ivh puppetlabs-release-7-10.noarch.rpm
           
記一次 Centos7 搭建 Puppet 叢集

11、更新系統工具的最新版本,以  server  節點為例(slave節點同server節點):

[[email protected] ~]# yum -y update
           

12、在 Server 節點安裝 puppet-server

[[email protected] ~]# yum -y install factor ruby puppet-server
           

13、在 Slave 節點安裝 puppet 用戶端

[[email protected] ~]# yum -y install factor ruby puppet
           

14、修改各個節點的配置檔案

[[email protected] ~]# vim /etc/puppet/puppet.conf
           

在最後寫入如下三行配置:

certname = slave.cn
server = server.cn
report = true
           

如下圖:

記一次 Centos7 搭建 Puppet 叢集

15、在 Server 節點上啟動 puppet 服務:

[[email protected] ~]# systemctl start puppet puppetmaster
           

16、在 Slave 節點上啟動 puppet 用戶端:

[[email protected] ~]# systemctl start puppet
           

17、在服務端檢視啟動狀态

[[email protected] ~]# netstat -lntp
[[email protected] ~]# ps -ef | grep puppet
           
記一次 Centos7 搭建 Puppet 叢集
[[email protected] ~]# puppet master --no-daemonize --debug
           

出現最後一行版本号,說明服務已經啟動成功

記一次 Centos7 搭建 Puppet 叢集

18、檢視用戶端的認證清單及狀态

[[email protected] ~]# puppet cert list --all
           

server 端剛安裝好後,在   "slave.cn"  前面是沒有  “+” 号的,說明用戶端尚未被服務端認證。

此時在用戶端  Slave 節點測試或出現以下效果:

[[email protected] ~]# puppet agent --test
           
記一次 Centos7 搭建 Puppet 叢集

此時需要在服務端對用戶端進行認證操作

[[email protected] ~]# puppet cert sign slave.cn
           

注:

清除使用者證書:puppet cert --clean slave.cn    (client端要同時删除證書:rm -rf /var/puppet/ssl/slave.cn.local)

檢視認證結果清單

[[email protected] ~]# puppet cert list --all
           

服務節點和用戶端均已被認證,如下圖:

記一次 Centos7 搭建 Puppet 叢集

19、測試:

在服務端寫入檔案

[[email protected] ~]# vim /etc/puppet/manifests/site.pp
           
node default {
    file { "/tmp/helloworld.txt" :
        content => "Hello World!",
    }
}
           

儲存并退出    :wq

20、在用戶端檢視結果:

[[email protected] ~]# puppet agent --test
           
記一次 Centos7 搭建 Puppet 叢集

在用戶端檢視檔案

[[email protected] ~]# ll /tmp/
total 4
-rw-r--r--. 1 root root 12 Sep 17 21:15 helloworld.txt
[[email protected] ~]# cat /tmp/helloworld.txt 
Hello World!
           

至此,Centos7 搭建  Puppet  叢集配置完畢!

繼續閱讀