Puppet(パペット)。オープンソースの構成管理ツールです。サーバの環境設定/インストールなどを自動化します。

オープンソースの運用管理・運用自動化/Puppetとは

Puppet(パペット)。オープンソースの構成管理ツールです。サーバの環境設定/インストールなどを自動化します。

基本情報

概要

Puppet(パペット)とは、オープンソースの構成管理ツールです。サーバの環境設定/インストールなどを自動化します。

構成管理ツールとは

構成管理ツールの解説は、こちらを参照ください。
→OSSニュース →OSS情報 →Ansible

基本説明

Puppetは、「クライアント/サーバ構成」でサーバ構成を集中管理できる設定管理ツールです。「スタンドアロン構成」も可能です。UNIX系OS/Windowsをサポートしています。

ネットワーク設定、ユーザ/グループ作成、パッケージのインストール/アンインストール、設定ファイル/アプリケーションデータなどの配置、サービス起動設定/再起動処理、特定コマンド実行などの、構成管理として必要な処理を自動化します。

PuppetはRubyで実装されています。Puppetコマンド(各種操作の実行を行うフロントエンド機能)と、Rubyライブラリ(各種機能を実装)で構成されています。

構成情報を「マニフェスト」という設定ファイルに、Ruby型固有言語で定義します。Puppetコマンドで、そのマニフェストを実行することでサーバに反映されます。

経緯

Puppetは、「Puppet Labs」社が開発しています。

Puppetオープンソース版(無償利用可能)、「Puppet Enterprise」(サポート付き商用版)の2つのエディションがあります。

Puppetは、構成管理ツールとして、比較的長く使用されている実績があります。

導入メリット

・マニフェスト定義ファイルにより、サーバの設定ドキュメント/スクリプトを排除できる
・手作業でのサーバ設定が不要に
・バックアップが簡素になる
・完全な環境をいくつでも用意できる
・サーバ設定や管理機能の実装が容易
・バージョン管理システムとの親和性が高い

課題点

・学習コストがかかる
・既存サーバからマニュフェストを吸い出すことができない
・OSインストール、Puppet自身のインストールはできない
・全く異なる環境のマニフェスト/モジュールの再利用は難しい

TOPに戻る

主な特徴

マニフェスト

「マニフェスト」とは、サーバのあるべき状態を記述する設定ファイルです。独自のRuby型宣言型言語で記述します。

マニフェストに設定する項目を「リソース」と呼びます。扱えるリソースタイプとして、「user」(ユーザ管理)、「service」(サービス管理)、「package」(パッケージ管理)など、さまざまなものが用意されています。

マニフェストファイルに、リソースに対する項目/設定値を記述します。リソース間の依存関係も記述できます。

モジュール

「モジュール」とは、機能拡張のための仕組みです。特定の作業を実行するマニフェストを汎用化してモジュール化し、汎用ライブラリのように呼び出せます。

目的に応じた「モジュール」をインストールすることで、簡単に設定対象を拡張できます。

「Puppet Forge」サイトには、MySQL用/Nginx用など、多くのモジュールが蓄積されています。

マニフェスト実行タイミング

クライアント/サーバ構成の場合、クライアントは一定間隔でサーバにアクセスし、マニフェストが変更されていれば自動的にそれを実行してクライアント構成を変更できます。

サーバからクライアントに通知を送って、マニフェストを実行させることも可能です。

簡易ファイルサーバ機能

簡易的なファイルサーバ機能が用意されており、クライアント側にファイルを配置できます。

レポーティング機能

レポーティング機能があります。Puppetクライアントはマニフェストに従って実行したタスクの結果をPuppetサーバへ通知します。

抽象化レイヤー

OS/ディストリビューション/パッケージシステムなどの違いを吸収する「抽象化レイヤー」という機能があります。

TOPに戻る

同様製品(概要情報)

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「Ansible」「Chef」「Itamae」など。

TOPに戻る

導入事例

Webサービス系など、さまざまな領域で幅広く利用されています。

TOPに戻る

ライセンス情報

Puppetのライセンスは、「Apache License」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

TOPに戻る

ダウンロード

ダウンロードページ

TOPに戻る

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

Puppet最新TOPICS

【OSS公開】GitHub、サーバ管理/設定自動化ツール「Puppet」のためのノード設定変更時テストツール「octocatalog-diff」をオープンソース公開(2016年10月28日 19:03)

GitHubが、サーバ管理/設定自動化ツール「Puppet」のためのノード設定変更時テストツール「octocatalog-diff」をオープンソース公開した。 【Puppetとは】 http://www.ossnews.jp/oss_info/Puppet 【octocatalog-difとは】 ・オープンソース(MIT license) ・ノード設定変更時テストツール ・Ru...

Puppet最新CLOSEUPコラム

  • オープソース書籍(サイド)
  • OSSNEWSに広告を掲載しませんか?

facebook

twitter