ChefでDockerコンテナーの管理を効率的にしようという取り組みが始まった。まだ、バージョン0.2.0β版ではあるが、既存Cookbookをコンテナー環境でも利用できるようにするなど、意欲的な実装が含まれている。
オープンソースのサーバー構成設定自動化ツール「Chef」は2014年7月15日、Linuxコンテナー技術のDockerに対応したChefクライント「Chef Container 0.2.0」(β版)をリリースした。
Chefのブログエントリによると、LinuxコンテナーはDockerなどの台頭で急速に普及しているものの、利用する際にはコンテナーの設定管理そのものを適切に行う必要があり、既存のアプリケーションスタックをLinuxコンテナー上に移行する場合、インフラ側に置かれている関連コード類を全てアプリケーションスタック用に書き直す作業に大きな負担を強いられることがある。
そこで、フルスタックを管理できる自動化プラットフォームとしてChef Containerを開発し、ベアメタルサーバーを管理する場合でもLinuxコンテナーを管理する場合でも、既存のCookbookライブラリを利用できるようにした。
Chef Containerはコンテナーソリューションを横断する一貫した設定管理機能を提供する。これは、Chefクライアントにrunitおよびchef-initをバンドルすることによって実現したという。
runitはクロスプラットフォームの軽量オープンソースinitシステム、chef-initはコンテナーへのエントリーポイントとして動作するRubyGemだ。
Chef Containerの最初のリリースは、Docker内部の独特の実行環境に対応させた。Dockerコンテナーはデフォルトでinitシステムが欠落しているといった理由から、既存のChefワークフローを使ったDockerコンテナーのブートストラップやDockerイメージの作成が困難だった。
Chef Containerはコンテナープラグインの「knife」と併用することでこうした問題を解決し、Dockerイメージの作成やローンチを可能にしている。
knifeは、ここではChefを使ってコンテナーイメージのライフサイクルを管理するためのプラグインとして機能する。最初のリリースではDockerイメージ管理専用のワークフローを提供し、イメージの作成、管理、削除ができるようにしている。
同ブログエントリではChef Containerとknifeを使ってApache2 Dockerインスタンスをローンチする方法を紹介している。
Copyright © ITmedia, Inc. All Rights Reserved.