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

溫馨提示×

溫馨提示×

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

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

Puppet 安裝配置

發布時間:2020-04-30 20:27:38 來源:網絡 閱讀:569 作者:想站著的豬 欄目:編程語言

一、什么puppet?

1、基于ruby語言開發的系統配置集中管理工具,跨平臺

2、一個C/S架構,配置服務端和客戶端

puppet依賴于ruby與facter,安裝puppet3.x,需要ruby1.8.7版本及以上facter是一個系統盤點工具,收集主機的一些資料,比如OS、IP、CPU等

3、puppet是一個C/S結構開源軟件,基于Ruby的系統配置管理工具,安裝puppet3.x,需要ruby1.8.7版本及以上

4、默認情況下,客戶端每隔30分鐘連接一次puppet服務端

5、能管理多達40種資源,例如:file、user、cron、package、yum等,適合整個軟件的生命周期管理

原理圖:

Puppet 安裝配置


1)         客戶端通過facter收集客戶端信息并發送至服務端
2)         連接服務端并請求catalog日志
3)         請求節點(node)的信息
4)         從服務器端接收節點(node)的實例
5)         編譯代碼(包括語法檢查等工作)
6)         查詢是否有exported 虛擬資源
7)         如有,則從數據庫接收虛擬資源
8)         接收完整的catalog日志
9)         存儲catalog日志到數據庫
10)       客戶端接收完整的catalog日志

二、我們怎樣用puppet和實驗環境介紹

1、拓撲圖


Puppet 安裝配置

系統管理員經常陷入一系列的重復任務中:如升級軟件包、管理配置文件、系統服務、用戶管理、cron任務以及添加新的配置、修復錯誤等。這些任務通常是重 復低效的,解決這類任務的第一反應是讓他們自動化,于是出現了定制腳本。由于環境復雜,定制腳本和應用程序一再被重復開發,并且很難適合多種平臺,靈活性 和功能也很難保證,于是像Puppet這樣的自動化配置管理工具便出現了。

注:本次實驗要檢查防火墻確保8140端口開放.
禁用防火墻和SELinux
service iptables stop
chkconfig iptables off
setenforce 0
cat /etc/sysconfig/selinux <<EOF
SELINUX=disabled
SELINUXTYPE=targeted
EOF


2、下載

操作系統RHEL6.3 x64

facter下載: https://downloads.puppetlabs.com/facter/

puppet下載: https://downloads.puppetlabs.com/puppet/

3、puppetmaster與puppetclient可以相互解析(server和client都要如此)

vi /etc/hosts

192.168.0.200 puppetmaster.com

192.168.0.201 puppetclient1.com

4、puppet服務端與客戶端時間同步

yum install ntp -y

service ntpd start

ntpdate pool.ntp.org #同步時間

clock -w #將時間寫入硬件

chkconfig ntpd on

、安裝服務端puppet

1、安裝ruby環境

[root@puppetmaster ~]# yum install -y ruby ruby-libs ruby-shadow ruby-rdoc

2、安裝facter

安裝puppet之前必須先安裝facter
facter是一個系統盤點工具,收集主的一些資料,比如CPU,主機IP等,它收集到值發送給puppet服務器端,服務器端就可以根據不同的條件來對不同的節點機器生成不同的puppet配置文件

[root@puppetmaster ~]# tar zxvf facter-1.7.3.tar.gz
[root@puppetclient1 ~]# cd facter-1.7.3
[root@puppetmaster facter-1.7.3]# ruby install.rb

3、安裝配置puppet

[root@puppetmaster puppet-3.3.1]# useradd -s /sbin/nologin puppet
[root@puppetmaster ~]# tar zxvf puppet-3.3.1.tar.gz
[root@puppetclient1 ~]# cd puppet-3.3.1
[root@puppetclient1 puppet-3.3.1]# ruby install.rb
[root@puppetmaster puppet-3.3.1]# cp ext/redhat/puppet.conf /etc/puppet/
[root@puppetmaster puppet-3.3.1]# cp ext/redhat/server.init /etc/init.d/puppetmaster
[root@puppetmaster puppet-3.3.1]# chmod +x /etc/init.d/puppetmaster


剛開始的話, puppet.conf不需要配置就可以滿足。

[root@puppetmaster ~]# vi /etc/puppet/puppet.conf
[main]  #在main里面添加puppet服務端主機名

server = puppetmaster.com  

 

設置puppetmaster 服務開機啟動

[root@puppetmaster puppet-3.3.1]# chkconfig --add puppetmaster
[root@puppetmaster puppet-3.3.1]# chkconfig puppetmaster on
[root@puppetmaster puppet-3.3.1]# service puppetmaster start

注:要保證/var/lib/puppet/rrd目錄存在且屬主是puppet

  1. [root@puppetmaster puppet]# ls -l /var/lib/puppet/

  2. total 36

  3. drwxr-x--- 2 puppet puppet 4096 Sep  3 12:17 bucket

  4. drwxr-xr-x 2 root   root   4096 Sep  3 12:17 facts

  5. drwxr-xr-x 2 root   root   4096 Sep  3 12:17 lib

  6. drwxr-x--- 2 puppet puppet 4096 Sep  3 12:17 reports

  7. drwxr-x--- 2 puppet puppet 4096 Sep  3 12:17 rrd

  8. drwxr-x--- 2 puppet puppet 4096 Sep  3 12:17 server_data

  9. drwxrwx--x 8 puppet root   4096 Sep  3 12:26 ssl

  10. drwxr-xr-t 2 root   root   4096 Sep  3 12:17 state

  11. drwxr-x--- 2 puppet puppet 4096 Sep  3 12:17 yaml

要查看端口

  1. [root@puppetmaster puppet]# netstat -Tanlp | grep 8140

  2. tcp        0      0 0.0.0.0:8140                0.0.0.0:* LISTEN      4556/ruby


四、安裝客戶端puppet agent

1、安裝ruby環境

[root@puppetclient1 ~]# yum install -y ruby ruby-libs ruby-shadow ruby-rdoc


2、安裝facter

[root@puppetclient1 ~]# tar zxvf facter-1.7.3.tar.gz
[root@puppetclient1 ~]# cd facter-1.7.3
[root@puppetclient1 facter-1.7.3]# ruby install.rb

3、安裝配置puppet

[root@puppetclient1 puppet-3.3.1]# useradd -s /sbin/nologin puppet
[root@puppetclient1 ~]# tar zxvf puppet-3.3.1.tar.gz
[root@puppetclient1 puppet-3.3.1]# ruby install.rb
[root@puppetclient1 puppet-3.3.1]# cp ext/redhat/puppet.conf /etc/puppet/puppet.conf
[root@puppetclient1 puppet-3.3.1]# cp ext/redhat/client.init /etc/init.d/puppet
[root@puppetclient1 puppet-3.3.1]# chmod +x /etc/init.d/puppet


[root@puppetclient1 ~]# vi /etc/puppet/puppet.conf

Agent的配置主要是更改agent上的/etc/puppet/puppet.conf文件的[agent]部分。

agentvim /etc/puppet/puppet.conf 添加如下配置

      server = puppetmaster.com     #master服務器的地址

       runinterval = 3600               #每隔多久的時間進行自動更新,時間單位為秒

       listen =true                 #客戶端作為一個服務進行監聽,允許其它的機器觸發puppet運行允許遠程觸發puppet的節點配置

[root@puppetclient1 puppet-3.3.1]# chkconfig --add puppet
[root@puppetclient1 puppet-3.3.1]# chkconfig puppet on
[root@puppetclient1 puppet-3.3.1]# service puppet start
[root@puppetclient1 puppet-3.3.1]# netstat -tupln | grep 8140

注:要保證/var/lib/puppet/rrd目錄存在且屬主是puppet

  [root@puppetmaster puppet]# ls -l /var/lib/puppet/

  1. total 36

  2. drwxr-x--- 2 puppet puppet 4096 Sep  3 12:17 bucket

  3. drwxr-xr-x 2 root   root   4096 Sep  3 12:17 facts

  4. drwxr-xr-x 2 root   root   4096 Sep  3 12:17 lib

  5. drwxr-x--- 2 puppet puppet 4096 Sep  3 12:17 reports

  6. drwxr-x--- 2 puppet puppet 4096 Sep  3 12:17 rrd

  7. drwxr-x--- 2 puppet puppet 4096 Sep  3 12:17 server_data

  8. drwxrwx--x 8 puppet root   4096 Sep  3 12:26 ssl

  9. drwxr-xr-t 2 root   root   4096 Sep  3 12:17 state

  10. drwxr-x--- 2 puppet puppet 4096 Sep  3 12:17 yaml


 要查看端口

  1. [root@puppetmaster puppet]# netstat -Tanlp | grep 8140

  2. tcp        0      0 0.0.0.0:8140                0.0.0.0:* LISTEN      4556/ruby


五、配置簽名證書

1、客戶端創建證書注冊請求

[root@puppetclient1 ~]# puppet agent --test
Info: Creating a new SSL key for puppetclient1.com
Info: Caching certificate for ca
Info: Creating a new SSL certificate request for puppetclient1.com
Info: Certificate Request fingerprint (SHA256): 7E:10:48:3F:3C:D4:13:BA:BF:66:ED:86:52:92:19:05:1E:D2:3A:CD:06:67:27:80:60:D6:54:66:0E:33:F7:C7
Exiting; no certificate found and waitforcert is disabled


2、服務端查看證書注冊請求

[root@puppetmaster ~]# puppet cert list  #加--all查看所有
  "puppetclient1.com"     (SHA256) 7E:10:48:3F:3C:D4:13:BA:BF:66:ED:86:52:92:19:05:1E:D2:3A:CD:06:67:27:80:60:D6:54:66:0E:33:F7:C7
  "puppetclient1.com.com" (SHA256) 46:B6:95:A6:1B:6A:FD:83:E4:1C:72:D4:5C:3C:B5:EF:3D:F7:43:2C:09:CF:00:B8:44:18:E4:3E:B3:DC:6F:FD


3、服務端受理客戶端證書注冊請求

[root@puppetmaster ~]# puppet cert sign puppetclient1.com  #主機名改為--all,是受理所有
Notice: Signed certificate request for puppetclient1.com
Notice: Removing file Puppet::SSL::CertificateRequest puppetclient1.com at '/var/lib/puppet/ssl/ca/requests/puppetclient1.com.pem'


4、客戶端確認是否證書注冊成功

[root@puppetclient1 ~]# puppet agent --test


如果出現以下報錯,則在客戶端puppet.conf配置文件[main]里面添加pluginsync=false,再重啟!

Error: /File[/var/lib/puppet/lib]: Could not evaluate: Could not retrieve information from environment production source(s) puppet://puppetmaster.com/plugins


5、想清除證書使用

[root@puppetmaster ~]# puppet cert clean puppetclient1.com


六、簡單測試

1、服務端編寫配置

[root@puppetmaster ~]# vi /etc/puppet/manifests/site.pp #修改后立即,無需重啟
node 'puppetclient1.com' {      #指定某臺,也可以不寫為所有
file { "/tmp/test.txt":
            content=> "hello,puppet test\n";
            #source=> "puppet://$puppetserver/files/httpd.conf"
            #也可以這樣分發一個配置文件
    }
}


注:file是一個資源管理關鍵字,用來管理文件的,還有package軟件包管理,service管理系統服務,exec執行shell命令,/tmp/test.txt是創建文件名字,content定義文件內容

2、客戶端默認30分鐘與服務端同步配置文件,所以我們手動執行,也可以修改puppet.conf更改默認時間,添加runinterval=600,設置為10分鐘同步一次

[root@puppetclient1 ~]# puppet agent --test
[root@puppetclient1 ~]# ls /tmp/

test.txt


client端出現test.txt文件 至此,基本的puppet系統配置完成!

參考文章 http://56281688.blog.51cto.com/780901/1222560

向AI問一下細節

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

AI

遵化市| 惠水县| 胶南市| 鄂伦春自治旗| 鱼台县| 宜宾县| 孟州市| 临颍县| 松桃| 凌海市| 万山特区| 临江市| 广宁县| 博乐市| 齐河县| 蓝田县| 外汇| 嘉黎县| 育儿| 花莲市| 东辽县| 郧西县| 建宁县| 绥滨县| 微博| 乃东县| 孟州市| 金寨县| 霍山县| 博兴县| 高台县| 祥云县| 临沂市| 安西县| 东辽县| 岚皋县| 沛县| 武功县| 吕梁市| 应城市| 拉萨市|