現在、構成/システム管理の実装を調査中であり、Puppetのデモをかなり行っています。 Puppetは、「このパッケージがインストールされ、この構成ファイルが存在し、このサービスが実行されていることを確認してください」というやや単純なExcelのようです。
あまりうまく機能しないソフトウェアを管理する良い実例を見つけることができないようです。いくつかの例:
このようなソフトウェアを環境に統合するために、Puppetユーザーはどのようなアプローチを採用しましたか?
私はローカルで作成されたファイルでサーバーを維持し、そのようなソフトウェア用の.debまたは.rpmパッケージを自分で作成します。
わざわざ何もしなかった場合は、ファイルをダウンロードするためにexec wget
を実行し、抽出メソッドを使用してexec
を実行し、creates
属性がメインを指すようにします。バイナリ。ただし、更新は処理されません。
更新を処理するには、インストールをexec
をrefreshonly => true
にし、notify
のexec
にwget
を配置します。
サンプル:
exec { "/usr/bin/wget http://fileserver.domain/jboss/jboss-${version}.prd.tar.gz -O /tmp/jboss.tgz":
creates => '/tmp/jboss.tgz',
require => Package['wget'],
alias => 'wget_jboss',
}
exec { '/bin/tar xzvf /tmp/jboss.tgz':
cwd => '/opt',
creates => "/opt/jboss-${version}/bin",
user => 'jboss',
group => 'jboss',
require => [ User['jboss'], Exec['wget_jboss'], File["/opt/jboss-${version}"], ],
before => Service['jboss'],
alias => 'untar_jboss',
}
1台のマシンにインストールして実行し、インストールしたファイルをtar/rpm/debに配置するだけです。もちろん、簡単ではない場合もあります。