Puppet : インストール2023/10/12 |
構成管理ツール Puppet をインストールします。 事前に、サーバー/クライアント間の時刻同期設定 および 名前解決ができるよう設定しておく必要があります。 |
|
[1] | Puppet サーバーとするホストの設定です。 |
root@dlp:~# wget https://apt.puppet.com/puppet7-release-jammy.deb root@dlp:~# dpkg -i puppet7-release-jammy.deb Selecting previously unselected package puppet7-release. (Reading database ... 74156 files and directories currently installed.) Preparing to unpack puppet7-release-jammy.deb ... Unpacking puppet7-release (7.0.0-14jammy) ... Setting up puppet7-release (7.0.0-14jammy) ...
root@dlp:~#
vi /etc/puppetlabs/puppet/puppet.conf # 最終行に追記
dns_alt_names = dlp.srv.world,dlp
# 任意の [environment] 名
environment = production
[main]
certname = dlp.srv.world
server = dlp.srv.world
systemctl enable --now puppetserver |
[2] | Puppet クライアントとするホストの設定です。 |
root@node01:~# wget https://apt.puppet.com/puppet7-release-jammy.deb root@node01:~# dpkg -i puppet7-release-jammy.deb Selecting previously unselected package puppet7-release. (Reading database ... 74156 files and directories currently installed.) Preparing to unpack puppet7-release-jammy.deb ... Unpacking puppet7-release (7.0.0-14jammy) ... Setting up puppet7-release (7.0.0-14jammy) ...
root@node01:~#
vi /etc/puppetlabs/puppet/puppet.conf # 最終行に追記
[main]
certname = node01.srv.world
server = dlp.srv.world
[agent]
server = dlp.srv.world
ca_server = dlp.srv.world
# カタログを適用する間隔
# [0] 指定で常に
# 明示的に設定しない場合のデフォルトは 30分
runinterval = 30m
systemctl enable --now puppet |
[3] | Puppet サーバーで Puppet クライアントからの証明書を有効にします。 |
root@dlp:~# /opt/puppetlabs/server/bin/puppetserver ca list --all Requested Certificates: node01.srv.world (SHA256) EA:C2:8E:1F:7C:A6:BA:78:30:89:A4:0E:AB:81:C9:42:B5:2F:9C:A9:48:DE:80:70:65:A6:D1:FE:C1:35:20:6A Signed Certificates: dlp.srv.world (SHA256) B6:7B:AC:EF:08:20:C4:E9:C7:02:D4:43:33:5B:53:7D:1D:A1:F2:D6:51:2C:95:08:AF:A4:36:17:15:A1:3A:30 alt names: ["DNS:dlp.srv.world", "DNS:dlp", "DNS:dlp.srv.world"] authorization extensions: [pp_cli_auth: true] # sign root@dlp:~# /opt/puppetlabs/server/bin/puppetserver ca sign --certname node01.srv.world Successfully signed certificate request for node01.srv.world |
[4] | Puppet サーバーでテストマニフェストを作成して動作確認します。 クライアントはデフォルトで 30 分毎にサーバー上のカタログを適用するため、サーバー側でマニフェストを作成してもすぐには反映されません。 よって、クライアント側での確認の際には、しばらく待つか、[runinterval] の値を減らすか、あるいは、すぐに確認したい場合はサービスをリロードすれば OK です。 |
# マニフェスト格納ディレクトリ作成 # [production] の部分は [environment = ***] に設定した名称 root@dlp:~# mkdir -p /etc/puppetlabs/code/environments/production/manifests
root@dlp:~#
vi /etc/puppetlabs/code/environments/production/manifests/site.pp # 例として [testgroup] という名称で GID [2000] のグループを作成 group { 'testgroup': ensure => present, gid => 2000, } grep testgroup /etc/group testgroup:x:2000: |
[5] | ローカルホストのマニフェストを手動で適用したい場合は以下のように実行します。 |
root@dlp:~# /opt/puppetlabs/bin/puppet apply /etc/puppetlabs/code/environments/production/manifests/site.pp Notice: Compiled catalog for dlp.srv.world in environment production in 0.01 seconds Notice: /Stage[main]/Main/Group[testgroup]/ensure: created Notice: Applied catalog in 0.03 seconds root@dlp:~# grep testgroup /etc/group testgroup:x:2000: |
Sponsored Link |