Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Puppetを試してみた 〜スタンドアローン〜(途中)

2015/02/14 LT駆動開発 11 - 打倒オープンセミナー
http://ltdd.doorkeeper.jp/events/19716

  • Login to see the comments

  • Be the first to like this

Puppetを試してみた 〜スタンドアローン〜(途中)

  1. 1. PuppetPuppetをを 試してみた試してみた 〜スタンドアローン〜〜スタンドアローン〜 ((途中途中)) 2015/02/14 Sat 11
  2. 2. お約束 この発表は個人的な物で 仕事や所属等は全然関係 ありません。 誤記や間違い等あれば ご指摘頂けると 助かります。 @takatayoshitake
  3. 3. 自己紹介 @takatayoshitake あけましておめでとうございます 広島を中心に勉強会に出没。 オープンソースカンファレンス広島の お手伝いやいろんな勉強会で Ustとかやってます。 広島サーバユーザ友の会(仮称)や 日本CloudStackユーザ会 広島支部等 も最近はじめました。一応・・・OSC広島の公式キャラクタ ー 「あきちゃん」
  4. 4. 会場のみなさんに質問 A. 使ってる B. 使ってない PuppetPuppetについてについて
  5. 5. 全員使ってたらここで終了 使ってない方が居たら 次のページへ進む
  6. 6. インストール準備 下記の公式サイトの情報よりリポジトリ情報をインスト ール https://docs.puppetlabs.com/guides/puppetlabs_packag e_repositories.html 例: RHEL6 (or CentOS 6) $ sudo rpm -ivh http://yum.puppetlabs.com/puppetlabs- release-el-6.noarch.rpm
  7. 7. スタンドアローンインストール Puppetはスタンドアロン構成と、クライアント/サーバー 構成が可能ですが、まずはスタンドアローンから インストール yum install puppet -y 設定ファイル(マニフィスト)保存フォルダ作成 mkdir -p /etc/puppet/manifests/
  8. 8. Puppet Type Reference https://docs.puppetlabs.com/references/stable/type.html
  9. 9. OSH2015のLTの手順を自動化 http://www.slideshare.net/yo.takata/20150214osh2015yumlocalmirror
  10. 10. 1) /etc/puppet/manifests/centos-mirror.pp # httpdパッケージをインストール package { "httpd": provider => "yum", ensure => "installed" } # httpdサービスを起動する service { "httpd": name => "httpd", ensure => running, require => Package["httpd"] }
  11. 11. 2) /etc/puppet/manifests/centos-mirror.pp # /var/www/html/centos ディレクトリを作成する file { "/var/www/html/centos": ensure => directory, owner => "root", group => "root", require => Package["httpd"] } # /var/www/html/centos/6 ディレクトリを作成する file { "/var/www/html/centos/6": ensure => directory, owner => "root", group => "root", require => Package["httpd"], subscribe => File["/var/www/html/centos"] }
  12. 12. 3) /etc/puppet/manifests/centos-mirror.pp # /var/www/html/centos/6/updatesディレクトリを作成する file { "/var/www/html/centos/6/updates": ensure => directory, owner => "root", group => "root", require => Package["httpd"], subscribe => File["/var/www/html/centos/6"] } # /var/www/html/centos/6/updates/x86_64ディレクトリを作成する file { "/var/www/html/centos/6/updates/x86_64": ensure => directory, owner => "root", group => "root", require => Package["httpd"], subscribe => File["/var/www/html/centos/6/updates"] }
  13. 13. 4) /etc/puppet/manifests/centos-mirror.pp # /var/www/html/centos/6/extras ディレクトリを作成する file { "/var/www/html/centos/6/extras": ensure => directory, owner => "root", group => "root", require => Package["httpd"], subscribe => File["/var/www/html/centos/6"] } # /var/www/html/centos/6/extras/x86_64 ディレクトリを作成する file { "/var/www/html/centos/6/extras/x86_64": ensure => directory, owner => "root", group => "root", require => Package["httpd"], subscribe => File["/var/www/html/centos/6/extras"] }
  14. 14. 5) /etc/puppet/manifests/centos-mirror.pp # httpd用の設定ファイルを作成する file { "/etc/httpd/conf.d/centos-mirror.conf" : content => " <directory '/var/www/html/centos'> Options +Indexes +FollowSymLinks </directory>", mode => "0644", owner => "root", group => "root", subscribe => Service["httpd"] }
  15. 15. 6) /etc/puppet/manifests/centos-mirror.pp # updates の更新をftpでダウンロードする exec { '/usr/bin/lftp -e "mirror --delete --only-newer /Linux/centos/6/updates/x86_64 /var/www/html/centos/6/updates/x86_64 && exit" ftp.riken.jp': group => "root", user => "root", refreshonly => true } # extras の更新をftpでダウンロードする exec { '/usr/bin/lftp -e "mirror --delete --only-newer /Linux/centos/6/extras/x86_64 /var/www/html/centos/6/extras/x86_64 && exit" ftp.riken.jp': group => "root", user => "root", refreshonly => true }
  16. 16. 実行結果(1/2) # puppet apply /etc/puppet/manifests/centos-mirror.pp Notice: Compiled catalog for localhost in environment production in 1.11 seconds Warning: The package type's allow_virtual parameter will be changing its default value from false to true in a future release. If you do not want to allow virtual packages, please explicitly set allow_virtual to false. (at /usr/lib/ruby/site_ruby/1.8/puppet/type/package.rb:430:in `default') Notice: /Stage[main]/Main/Package[httpd]/ensure: created Notice: /Stage[main]/Main/Service[httpd]/ensure: ensure changed 'stopped' to 'running' Notice: /Stage[main]/Main/File[/etc/httpd/conf.d/centos- mirror.conf]/ensure: defined content as '{md5}562d61c3e8dc9015abe0f9857429bc3d'
  17. 17. 実行結果(2/2) Notice: /Stage[main]/Main/File[/var/www/html/centos]/ensure: created Notice: /Stage[main]/Main/File[/var/www/html/centos/6]/ensure: created Notice: /Stage[main]/Main/File[/var/www/html/centos/6/updates]/ensure: created Notice: /Stage[main]/Main/File[/var/www/html/centos/6/extras]/ensure: created Notice: /Stage[main]/Main/File[/var/www/html/centos/6/extras/x86_64]/en sure: created Notice: /Stage[main]/Main/File[/var/www/html/centos/6/updates/x86_64]/e nsure: created Notice: Finished catalog run in 6.83 seconds
  18. 18. まとめ ● 一部エラーが出たりコマン ド実行がうまくいってませ んが、手動で行った操作と 同様の作業をPuppetで実施 できました(汗 ※書き方が悪いだけでコマ ンドも多分実行できると思 います。 ご清聴ありがとうございました。

×