この記事は最終更新から1年以上経過しています。 気をつけてね。
Chef-Server12(RC2)の配布がはじまったので内容をチェックしてみた。 Chef Releases Chef 12 to Power DevOps Practices in the Enterprise | Chef Blog
今までEnterprise Chefとして提供されていたものが、ほぼそのままOSS版12になりました。
OrgnaizationやUserもそのままなので、1台あれば対象システムの管理区分けもできる。
構築環境
- Amazon EC2のUbuntu14.04
- ↑Ubuntu12用のパッケージで問題なく動く
Web管理の大幅変更
Management Console(WebのUI)はアドオンに。
従来のWeb-UIは廃止になり、アドオンパッケージのインストールになる。Chef-Serverのコアと切り離して使いやすい。
パッケージは上図のリンクからダウンロードして、あとは次のリンクに従って導入。
操作コマンドがopscode-manage-ctl
のままなのは置いておこう。
Reporting
パッケージは上の図リンクから、インストールなどは次を参照。
レポーティングが有効になったManagement Consoleを確認するため、ちょこちょことChef-Clientを実行してみる。
ナイスレポート、ヒストリーも悪くない。
CLI拡張と非同期のPush型Job
とりあえずジョブキューみたいなことができる(サーバいるけど)Push jobsも解禁になった。
これも適当に分散してしまって大丈夫なコンポーネントだ。
パッケージは上の図リンクから、インストールなどは次を参照。
ただ、RC2の現状インストールにはコツがいる。
リンクからダウンロードできる
opscode-push-jobs-server_1.1.1-1_amd64.deb
は、private-chef
パッケージに依存しているので--force
がいる。-
管理用の
opscode-push-jobs-server-ctl
にもパスが通らないので、ダイレクトに叩く。/opt/opscode-push-jobs-server/bin/opscode-push-jobs-server-ctl reconfigure
-
クライアント(ジョブを購読して実行する側)のパッケージは案内が無い
- ただ推測可能になっているので探す
knifeコマンドの拡張は
knife-push
gemを入れる
以上のことを踏まえれば、強引に使える状態にできる。
ジョブを登録
knifeから、ノードに実行してもらいたいジョブをpush-serverに登録する。
ジョブの名前はコマンドを直接でなく、事前登録済みのキーバリュー。設定に記載されていないジョブ名はquorum_failed
となり実行されない。
# knife job start chef-client ip-10-172-xxx-xxx.ap-northeast-1.compute.internal
Started. Job ID: 6b4dcd19a746b97aecbb30a0906b7778
Running (1/1 in progress) ...
Complete.
command: chef-client
created_at: Tue, 09 Sep 2014 08:37:04 GMT
id: 6b4dcd19a746b97aecbb30a0906b7778
nodes:
succeeded: ip-10-172-xxx-xxx.ap-northeast-1.compute.internal
run_timeout: 3600
status: complete
updated_at: Tue, 09 Sep 2014 08:37:12 GMT
ジョブIDから実行状況を確認したり、
# knife job status 6b4dcd19a746b97aecbb30a0906b7778
command: chef-client
created_at: Tue, 09 Sep 2014 08:37:04 GMT
id: 6b4dcd19a746b97aecbb30a0906b7778
nodes:
succeeded: ip-10-172-xxx-xxx.ap-northeast-1.compute.internal
run_timeout: 3600
status: complete
updated_at: Tue, 09 Sep 2014 08:37:12 GMT
全体のジョブ一覧を確認したり。
# knife job list
command: date
created_at: Tue, 09 Sep 2014 08:35:21 GMT
id: 6b4dcd19a7466b04fbe530a83bebd0c2
run_timeout: 3600
status: quorum_failed
updated_at: Tue, 09 Sep 2014 08:35:21 GMT
command: chef-client
created_at: Tue, 09 Sep 2014 08:37:04 GMT
id: 6b4dcd19a746b97aecbb30a0906b7778
run_timeout: 3600
status: complete
updated_at: Tue, 09 Sep 2014 08:37:12 GMT
追記: Analytics Platform
忘れていたので追記。
パッケージは上の図リンクから、インストールなどは次を参照。
Install Chef Analytics — Chef Docs
何が表示されるかはこちらが詳しい。
Chef Actions — Chef Docs
これはできれば別のサーバに入れましょう、通常のWebUIと競合しがち。
まとめ
OSS版はもはや結構しょぼかったので、これらの機能に対する敷居を下げて無償にすることでClient/Server構成の価値が少し回復しました。
個人的にはもう一年くらい早かったらよかったのにと思いました。