この記事では、システムの主な機能について説明します。
PuppetはRubyで記述されており、アーキテクチャはクライアント/サーバーです。 各管理対象ノードには、構成の更新のために定期的にサーバーにhttpsで連絡するクライアントが含まれています。
構成管理言語
設定は特別な言語で記述されます。 基本的な構成要素はリソースです。 各リソースには、タイプ、属性、および名前があります。 ファイルリソースの最も簡単な例は次のとおりです。
ファイル{"/ etc / passwd":
所有者=> "ルート"
}
このリソースには、/ etc / passwdファイルの所有者の確認が含まれ、rootと異なる場合、Puppetはrootユーザーをこのファイルの所有者に設定します。
リソースはクラスにグループ化できます(通常、グループ化する必要があります)。 たとえば、Postfixのクラスには、Postfixメールサーバーのインストールと設定の両方のリソースが含まれます。
構成記述の主要な要素の1つはノードです。 このノードでは、特定のタイプの機能を説明できます。 たとえば、ノード「office desktop」または「web server」について説明できます。 したがって、オフィスのデスクトップの場合、オフィスのソフトウェアに必要なものはすべてインストールおよび構成され、Webサーバーの場合は何らかのApacheまたはnginxがインストールされます。
一般に、構成記述言語は、通常のOOP言語のほぼすべての機能をサポートしています。 したがって、本質的には、マシンの動作をプログラミングしていることがわかります。 実際、結果は読みやすく、理解しやすいかなり記述的な説明です。
ユーザーコミュニティは、Puppetの用語では「レシピ」と呼ばれるベストプラクティスを共有しています 。
どこでどのように機能しますか?
次に注意すべきことは、プラットフォームの独立性です。 スクリプトはLinuxとFreeBSDに等しく展開でき、特定のプラットフォームのすべての機能はPuppetクライアントによって考慮されます。 サポートされているプラットフォームのリストをチェックして、お気に入りのOSがPuppetでサポートされていることを確認できます。 Windowsはこのリストにありませんが、Puppetがcygwinを介して実行されていると報告されています。
パフォーマンスに関して。 彼女は今かなりいいです。 2ギガバイトのメモリを備えた平均的なサーバーを使用して50〜100台のマシンを制御できるとします。 ただし、バージョン0.25が近づいています。主な機能の1つは、XML-RPCからRESTへの移行です。これは、パフォーマンスの大幅な向上を意味します。
さらに、ほとんどすべてのWebサービスと同様に、Puppetはスケーラブルです。 Puppetは、nginxとMongrelを使用して起動できます。 そのため、組織が突然大規模に成長する状況を恐れることはできません。Puppetはこの作業に対処します:-)
まとめ
この入門記事を締めくくるのは、サーバーが1つしかない場合でも、Puppetが非常に役立つという事実です。 十分に文書化された構成があると、サーバーがクラッシュした場合、必要なほとんどすべてのインストールと構成が自動的に実行されるため、経済を別のサーバーに非常に迅速に展開できます。
次のパートでは、Puppetのインストール、構成、および基本機能について説明します。
今すぐPuppetについてもっと知りたい場合は、ドキュメントへようこそ :-)
PS
私は「Linux for all」に入れます。 管理者だけでなく役に立つかもしれません:-)