オープンソースなシステム管理フレームワーク Func

第2回 Funcのインストールと設定・起動

この記事を読むのに必要な時間:およそ 1.5 分

今回はFuncのインストールと設定,起動から,簡単な動作確認の方法までを解説します。

なお,Funcは最近のRed Hat系Linux以外では動作しないようですので,以下の解説も最近のRed Hat系Linuxを前提としています。

Funcのインストール

第1回で解説したように,Funcにはcertmasterとminionという2つの役割が存在しますが,インストール手順はどちらの場合でも同じです。

Fedora 7/8でのインストール

Fedora 7/8であれば,updatesリポジトリにFuncのRPMパッケージが存在しますので,yumで簡単にインストールできます。

$ sudo yum -y install func

Fedora 7/8以外のRed Hat系Linuxでのインストール

Fedora 7/8用のRPMパッケージはnoarchなので,他のディストリビューションでもそのまま利用できそうですが,Pythonのバージョンが異なるとライブラリのインストールパスが異なり,そのままではインストールできませんので,RPMパッケージが用意されていないディストリビューションでは,people.fedoraproject.org上にある,Michael DeHaan氏のサイトからSRPMファイルを入手して,RPMパッケージをリビルドし,インストールします。

まずはSRPMからリビルドするために必要なパッケージをインストールします。

$ sudo yum -y install rpm-build python-devel python-setuptools

次にFuncのSRPMファイルを取得し,RPMパッケージをリビルドします。

$ wget http://people.fedoraproject.org/~mdehaan/files/func/func-0.17-1.src.rpm
$ sudo rpmbuild --rebuild func-0.17-1.src.rpm

最後に,Funcの実行に必要なパッケージのインストールと,Func本体をインストールします。

$ sudo yum -y install pyOpenSSL
$ sudo rpm -ivh /usr/src/redhat/RPMS/noarch/func-0.17-1.noarch.rpm

Funcの起動

certmasterの起動

certmasterの起動には特に設定は必要ありません。以下のコマンドを実行することですぐに起動できます。

$ sudo /sbin/chkconfig certmaster on
$ sudo /etc/init.d/certmaster start

minionの起動

minionを起動するには,まず/etc/func/minion.confを変更する必要があります。certmasterパラメータに,certmasterとなっているホストを指定してください。それ以外は特に変更する必要はありません。

# configuration for minions

[main]
log_level = DEBUG
certmaster = certmaster.example.org
cert_dir = /etc/pki/func
acl_dir = /etc/func/minion-acl.d

設定変更が完了したら,funcdを起動します。

$ sudo /sbin/chkconfig funcd on
$ sudo /etc/init.d/funcd start

Funcでの通信にはSSL証明書での認証が必要であり,funcdをはじめて起動する時には,certmasterに対して証明書の署名リクエストが発生します。certmaster側では証明書へ署名するために,以下のようにコマンドを実行します。

// 証明書リクエスト元ホストの確認
$ sudo certmaster-ca --list
client.example.org
// 証明書リクエストへの署名
$ sudo certmaster-ca --sign client.example.org
/var/lib/func/certmaster/csrs/client.example.org.csr signed - cert located at /var/lib/func/certmaster/certs/client.example.org.cer

これでFuncを利用するための準備が完了です。

Funcの動作確認

certmaster上で以下のようにfuncコマンドを実行することで,Funcが正常に動作しているかどうか確認します。

$ sudo func "*" list_minions
['https://client.example.org:51234']
client.example.org
0

上のように,minionとなっているホストが表示されれば正常に動作しています。minionが複数ある場合には,以下のように複数のminionが表示されます。

$ sudo func "*" list_minions
['https://client0.example.org:51234', 'https://client1.example.org:51234']
client0.example.org
client1.example.org
0

Funcを活用するための第一歩は,funcコマンドを使いこなすことです。次回はfuncコマンドの利用方法について,詳細に解説する予定です。

著者プロフィール

宮下剛輔(みやしたごうすけ)

(株)paperboy&co.技術責任者。 社内ではサーバ周りからアプリケーション開発まで幅広く関わる一方,個人的にはPerlプログラミングを趣味として,サーバ管理用ユニットテストスイート Assurer(アシュラ)をオープンソースで公開したり,CPAN AuthorPlaggerコミッタとして活動している。また,YAPC::Asia 2007 Tokyo等の技術系カンファレンスでスピーカを務めるのも最近の楽しみのひとつ。共著書に『MASHUP++』がある。

URLhttp://mizzy.org/

コメント

コメントの記入