Puppet、構成管理システム。 パートI

Puppetは、多数の車両の構成と管理を自動化するツールです。 Puppetを使用すると、1台、数十台、数百台、数千台のマシンの構成を一元管理できます。



この記事では、システムの主な機能について説明します。



PuppetはRubyで記述されており、アーキテクチャはクライアント/サーバーです。 各管理対象ノードには、構成の更新のために定期的にサーバーにhttpsで連絡するクライアントが含まれています。



Puppet、構成管理システム








構成管理言語



設定は特別な言語で記述されます。 基本的な構成要素はリソースです。 各リソースには、タイプ、属性、および名前があります。 ファイルリソースの最も簡単な例は次のとおりです。



ファイル{"/ 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」に入れます。 管理者だけでなく役に立つかもしれません:-)



All Articles