CentOS6にpuppet2.6をインストール

  • 0
    いいね
  • 0
    コメント

    参考

    centos7の場合、puppet2系は提供されていない。あとruby2.0が入る
    
    https://yum.puppetlabs.com/el/7/products/x86_64/puppetlabs-release-7-12.noarch.rpm
    

    インストール

    • 最新はpuppet3系だが、puppet2系と互換性がない
    • puppet2.6とpuppet2.7でもうまく行かなかったため今回は2.6系最新の2.6.18をインストール。
    puppetインストール
    rpm -ivh https://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-12.noarch.rpm
    
    #yum install puppet-server-2.7.26
    yum install puppet-server-2.6.18
    
    依存関係
    =================================================================================================================================
     パッケージ                      アーキテクチャ        バージョン                       リポジトリー                        容量
    =================================================================================================================================
    インストールしています:
     puppet-server                   noarch                2.6.18-1.el6                     puppetlabs-products                 22 k
    依存性関連でのインストールをします。:
     augeas-libs                     x86_64                1.0.0-10.el6                     base                               314 k
     compat-readline5                x86_64                5.2-17.1.el6                     base                               130 k
     dmidecode                       x86_64                1:2.12-7.el6                     base                                74 k
     facter                          x86_64                1:2.4.6-1.el6                    puppetlabs-products                 99 k
     libselinux-ruby                 x86_64                2.0.94-7.el6                     base                               100 k
     pciutils                        x86_64                3.1.10-4.el6                     base                                85 k
     pciutils-libs                   x86_64                3.1.10-4.el6                     base                                34 k
     puppet                          noarch                2.6.18-1.el6                     puppetlabs-products                816 k
     ruby                            x86_64                1.8.7.374-4.el6_6                base                               538 k
     ruby-augeas                     x86_64                0.4.1-3.el6                      puppetlabs-deps                     21 k
     ruby-libs                       x86_64                1.8.7.374-4.el6_6                base                               1.7 M
     ruby-shadow                     x86_64                1:2.2.0-2.el6                    puppetlabs-deps                     13 k
     virt-what                       x86_64                1.11-1.2.el6                     base                                24 k
    
    トランザクションの要約
    =================================================================================================================================
    インストール        14 パッケージ
    
    総ダウンロード容量: 3.9 M
    インストール済み容量: 10 M
    これでいいですか? [y/N]
    

    設定

    # server
    touch /etc/puppet/manifests/site.pp 
    service puppetmaster start
    
    # client
    sed -i -e "s/#PUPPET_SERVER=puppet/PUPPET_SERVER=${HOSTNAME}/" /etc/sysconfig/puppet
    service puppet start
    puppet agent --server ${HOSTNAME} --test --noop
    
    sign
    # server
    puppet cert --list --all
    # 自分自身であればすでにsignされているので飛ばす
    #puppet cert sign ${HOSTNAME}
    
    # 念のため、certの削除方法
    #puppet cert clean ${HOSTNAME}
    
    # /etc/puppet/を2系のものに差し替えた時など、sslがおかしくなった場合は
    #mv /var/lib/puppet/ssl /var/lib/puppet/ssl.bak
    #service puppet restart
    #service puppetmaster restart
    

    動作例

    • 例として「testgroup」という名前で GID「2000」のグループを作成
    /etc/puppet/manifests/site.pp
    group { 'testgroup':
        ensure => present,
        gid    => 2000,
    }
    
    # dry-run
    puppet agent --server ${HOSTNAME} --test --noop --verbose
    # 実行
    puppet agent --server ${HOSTNAME} --test --verbose
    

    エラー例

    $ puppet agent --server ${HOSTNAME} --test --noop --verbose
    notice: Run of Puppet configuration client already in progress; skipping
    

    ロックファイルが残っているのが原因との情報もあったが、
    該当のロックファイルを見つけることができなかった。
    1分後くらいに再度実行すると実行できた。