私たちは、さまざまな開発サーバーと本番サーバーでPuppetを展開することを調査している小さなwebdevショップです。
Puppetmasterは、UbuntuのリポジトリにあるPuppet0.25.4を搭載したUbuntu10.04サーバーです。一部のpuppetクライアントはpuppet0.25.4を備えたUbuntuですが、その他はRedHatまたはCentosベースであり、puppet0.25.5パッケージを提供するEPELリポジトリを使用しています。
これらの新しいクライアントは「古い」puppetmasterと通信できないため、マスターをアップグレードするか、クライアントをダウングレードすることができます。ただし、クライアントを0.25.4にダウングレードするためのrpmが見つかりません。私は会社の単一のシステム管理者であるため、独自のパッケージを作成することは、私がなしで行うことができる雑用です。
異種環境で異なるクライアント/サーバーバージョンにどのように対処しますか?
可能な場合は、最新の安定版puppetmasterd
を使用することをお勧めします。時が来たときにクライアントをアップグレードするプロセスを大幅に簡素化します。このような比較的若くて動きの速いプロジェクトは、機能やバグ修正のマイナーリリースを頻繁に生成することが多く、非常に貴重であることがわかります。もちろん、アップグレード中に環境に影響を与える可能性のあるものをすべてプリエンプトするために、各ChangeLogを注意深く読む必要があります。
独自のバージョンをパッケージ化することはそれほど難しいことではなく、将来的には、今すぐ習得するのに十分な価値があると感じるはずのスキルです。今までに遭遇したバグを回避するために、Puppet用の独自のプレリリースパッケージをロールバックする必要がありました。
ただし、この特定のケースでは、 Debianの不安定なツリー からの新しいパッケージが機能する場合があります。あるいは、 bleeding Edge PPA もあります。必要に応じて、カットしてください。
Ubuntuバージョンをアップグレードする必要があります。ただし、古いredhatバージョンが必要な場合
参考までに:
新しい Pro Puppet の本は、ソースやパッケージからさまざまなプラットフォームにPuppetをインストールする方法と、複数のディストリビューションを柔軟に処理できるようにモジュールを作成する方法の概要を説明しています。