本系列文資料可參考以下:
繼 Day-5 寫完 Puppet Master / Server 之後,這篇要來跑 Agent 向 Server 更新。
目前主流大概是 RedHat / Debian 家族居多,所以這篇就來寫 Open Source 的 Ubuntu / CentOS OS 環境的安裝方式
在一開始先定義好 Puppet Master 和 Agent 運行的環境:
Master
Agent
Node.1 (Ubuntu)
Node.2 (CentOS)
Puppet agent 一樣要定義 Domain,測試可以先寫在 hosts
$ cat /etc/hosts
192.168.10.10 master.puppet.com
192.168.10.11 ubuntu.puppet.com
Puppet agent 必須準確校時。
$ sudo ntpdate time.stdtime.gov.tw
$ sudo timedatectl set-timezone Asia/Taipei
安裝 Puppet agent
從官方 apt repository 取得 Puppet package。
$ wget https://apt.puppetlabs.com/puppet5-release-xenial.deb
$ sudo dpkg -i puppet5-release-xenial.deb
$ sudo apt-get update
$ sudo apt-get install puppet-agent
修改 Puppet 的主要設定檔 puppet.conf
sudo vim /etc/puppetlabs/puppet/puppet.conf
[main]
certname = ubuntu.puppet.com
server = master.puppet.com
environment = production
runinterval = 2h
這邊和 master 不同之處在於:
Puppet agent 產生 certificate
$ sudo /opt/puppetlabs/bin/puppet agent --test
這個動作會嘗試將 certificate 和 Master 進行 signin。
在 Puppet master signin ubuntu.puppet.com 這個 node,否則會無法取得 catalog。
$ sudo /opt/puppetlabs/bin/puppet cert sign agent.puppet.com
回到 Agent 再跑一次 puppet agent -t
來測試和 master 的溝通
$ sudo /opt/puppetlabs/bin/puppet agent -t
...
...
Info: Applying configuration version '1503680249'
出現 Applying configuration version 代表能成功要到 catalog。
啟動 puppet agent daemon 常駐。
$ sudo systemctl start puppet
$ sudo systemctl enable puppet
步驟和 Ubuntu 安裝大致上相同,但是有幾個設定必須修改
step.1 中 hosts 修改為
$ cat /etc/hosts
192.168.10.10 master.puppet.com
192.168.10.12 centos.puppet.com
step.3 改為 yum repository 取得 Puppet package。
step.4 設定的 certname
改為自己的 Domain centos.puppet.com
。
step.6 在這邊 Puppet Master 則要 sign in centos.puppet.com
。
從這篇我們安裝了兩台 Node Agent,這兩台 Node 每 2h 會向 Puppet Master 更新設定,但這邊有個小小的陷阱 ... 嘿嘿 !!
之後再回來談這個 陷阱 該怎麼處理。