Puppet : インストール2015/07/22 |
構成管理ツール Puppet をインストールします。
任意のマシン単独でも使用できますが、ここではサーバー/クライアント構成で設定します。
事前に、サーバー/クライアント間の時刻同期設定 および 名前解決ができるよう設定しておく必要があります。
|
|
[1] | Puppet サーバーとするホストで puppet-server をインストールします。 |
[root@dlp ~]#
[root@dlp ~]# yum -y install https://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm
sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/puppetlabs.repo
[root@dlp ~]#
yum --enablerepo=puppetlabs-products,puppetlabs-deps -y install puppet-server
[root@dlp ~]#
vi /etc/puppet/puppet.conf
[main]
[root@dlp ~]# # [main] セクション内に追記 (Puppet サーバーの DNS 名)
dns_alt_names = dlp.srv.world,dlp
puppet master --verbose --no-daemonize Info: Creating a new SSL key for ca Info: Creating a new SSL certificate request for ca Info: Certificate Request fingerprint (SHA256): Notice: Signed certificate request for ca Info: Creating a new certificate revocation list Info: Creating a new SSL key for dlp.srv.world Info: csr_attributes file loading from /etc/puppet/csr_attributes.yaml Info: Creating a new SSL certificate request for dlp.srv.world Info: Certificate Request fingerprint (SHA256): Notice: dlp.srv.world has a waiting certificate request Notice: Signed certificate request for dlp.srv.world Notice: Removing file Puppet::SSL::CertificateRequest dlp.srv.world at '/var/lib/puppet/ssl/ca/requests/dlp.srv.world.pem' Notice: Removing file Puppet::SSL::CertificateRequest dlp.srv.world at '/var/lib/puppet/ssl/certificate_requests/dlp.srv.world.pem' Notice: Starting Puppet master version 3.8.1 # Ctrl + C を押下して終了
systemctl start puppetmaster [root@dlp ~]# systemctl enable puppetmaster |
[2] | Puppet クライアントとするホストで puppet をインストールします。 |
[root@node01 ~]#
[root@node01 ~]# yum -y install https://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm
sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/puppetlabs.repo
[root@node01 ~]#
yum --enablerepo=puppetlabs-products,puppetlabs-deps -y install puppet
[root@node01 ~]#
vi /etc/puppet/puppet.conf
[agent]
[root@node01 ~]# # [agent] セクション内に追記: Puppet サーバーのホスト名を指定
server = dlp.srv.world
puppet agent --test --ca_server=dlp.srv.world Info: Creating a new SSL key for node01.srv.world Info: Caching certificate for ca Info: csr_attributes file loading from /etc/puppet/csr_attributes.yaml Info: Creating a new SSL certificate request for node01.srv.world Info: Certificate Request fingerprint (SHA256): Info: Caching certificate for ca Exiting; no certificate found and waitforcert is disabled[root@node01 ~]# systemctl start puppet [root@node01 ~]# systemctl enable puppet |
[3] | Puppet サーバーで Puppet クライアントからの証明書を有効にします。 |
# 確認 [root@dlp ~]# puppet cert list "node01.srv.world" (SHA256) xx:xx:xx:xx:xx:xx:xx # 署名 [root@dlp ~]# puppet cert --allow-dns-alt-names sign node01.srv.world Notice: Signed certificate request for node01.srv.world Notice: Removing file Puppet::SSL::CertificateRequest node01.srv.world at '/var/lib/puppet/ssl/ca/requests/node01.srv.world.pem' |
[4] | Puppet サーバーでテストマニフェストを作成して動作確認します。 クライアントはデフォルトで30分毎にサーバーに問い合わせをするため、サーバー側でマニフェストを作成してもすぐには反映されません。 よってクライアント側での確認の際には、しばらく待つか、すぐに確認したい場合は puppetd をリスタートすれば OK です。 |
[root@dlp ~]#
vi /etc/puppet/manifests/site.pp # 例として「testgroup」という名前で GID「2000」のグループを作成 group { 'testgroup': ensure => present, gid => 2000, } # 確認 [root@node01 ~]# grep testgroup /etc/group testgroup:x:2000: |
[5] | ローカルにあるマニフェストを手動で適用する場合は以下のようにします。 |
[root@dlp ~]# puppet apply /etc/puppet/manifests/site.pp Notice: Compiled catalog for dlp.srv.world in environment production in 0.13 seconds Notice: /Stage[main]/Main/Group[testgroup]/ensure: created Notice: Finished catalog run in 0.34 seconds |
Sponsored Link |