(第一篇) 針對複雜 IT 架構:中央跨平台自動更新設置提高效率 – Master/Agent 安裝篇

之前在 IT 方案之中,曾經介紹過一套 Puppet Open Source 的中央跨平台自動設置系統,筆者對此方案感到十分之有興趣,所以上了 Puppet Lab 官方網站研究 Open Source 版本如何部署。

因為是 Master/Agent 架構,筆者會於 VMware Workstation 11 之中安裝兩台 Centos 7.1 先作簡單測試。

Master 和 Agent 測試

Master:

網絡地址:192.168.1.230

電腦名稱:master.abc.com

FQDN: master.abc.com

Agent:

網絡地址:192.168.1.231

電腦名稱:agent.abc.com

FQDN: agent.abc.com

FQDN

Puppet 需要依靠 FQDN 進行查詢,所以會以 DNS 來查詢 FQDN,但因為本次教學內部沒有架設 DNS 伺服器,因此要更改兩台 CentOS 7.1 的 /etc/hosts 檔案進行 FQDN 查詢。

192.168.1.230    master master.abc.com

192.168.1.231    agent agent.abc.com

請測試是否能以 FQDN 進行 ping 測試。

關掉 firewalld 及 SELinux

我們測試前先在兩台 CentOS 7.1 關掉防火牆及 SELinux,以免出現問題:

systemctl stop firewalld

systemctl disable firewalld

vi /etc/selinux/config

SELINUX=disabled

跟著重新啟動 CentOS 7.1。

reboot

備注:防火牆需要開啟 TCP 8140 端口,以下是 iptables 和 firewalld 指令作參考:

於 /etc/sysconfig/iptables 加入 -A INPUT -m state –state NEW -m tcp -p tcp –dport 8140 -j ACCEPT

firewall-cmd –permanent –zone=public –add-port=8140/tcp

firewall-cmd –reload

Master

Step 1開始時請先使用 root 帳號登入,然後使用以下指令安裝 puppet release 套件。

rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm

Step 2使用 yum 安裝 puppet server。

yum install puppet-server

Step 3以下指令檢查 puppet-server 套件是否最新版本。

puppet resource package puppet-server ensure=latest

Step 4Master 預設是默認 puppet 名稱給 agent 查詢更新,我們要更改為 FQDN,請輸入 vi /etc/puppet/puppet.conf,於 [main] 內加入以下文字。

dns_alt_names = master,master.abc.com

Step 5接著重新啟動 puppet-server 服務

systemctl start puppetmaster

systemctl enable puppetmaster

Agent

Step 1同樣使用 root 帳號登入,然後使用以下指令安裝 puppet release 套件。

rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm

Step 2使用 yum 安裝 puppet agent。

yum install puppet

Step 3以下指令檢查 puppet 套件是否最新版本。

puppet resource package puppet-server ensure=latest

Step 4因為 agent 需要知道 Master 的位置才能查詢有沒有更新,請輸入 vi /etc/puppet/puppet.conf,於 [agent] 內加入以下文字。

server = master.abc.com

Agent 預設查詢更新時間為 30 分鐘,想在 30 秒內查詢更新的話,可於 [agent] 內加入以下文字。

runinterval = 30

Step 5接著重新啟動 puppet 服務

systemctl start puppet

systemctl enable puppet

下一篇教大家如何將 agent 連接 master,然後教大家在 master 的 manifests 寫一個簡單 Puppet 程式給 agent 新增使用者帳戶及安裝 Apache 服務。

 


 (第一篇) 針對複雜 IT 架構:中央跨平台自動更新設置提高效率 – Master/Agent 安裝篇

 https://www.facebook.com/hkitblog