CTC 教育サービス
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes
先日、日本オープンスタックユーザ会主催の勉強会に参加して、「RDOとPackstackのご紹介」というタイトルでお話をさせていただきました。その中で、OpenStackをインストールして利用した経験について、参加者の方に聞いたところ、8割近くの手が上がりました。以前は、「OpenStackはインストールするだけで一苦労・・・」という話も聞きましたが、少しずつ状況が変わってきたようです。
今回のテーマである「Packstack」は、前回の記事で紹介した「Puppet」を用いた、OpenStackのインストールツールです。本コラムの第20回で紹介した、RDOによるOpenStackの環境を自動構築します。HAクラスタなどの本格的な構成には対応しませんが、簡易的な検証環境であれば、かなり手軽に構築することができます。これで、OpenStackを「実体験」できるユーザがますます増えることが期待できるでしょう。
本コラムの第11回で紹介した様に、OpenStackは、Nova、Glance、Cinder・・・など、さまざまなコンポーネントから構成されています。Packstackでは、コンポーネントごとに導入・設定用のマニフェストを用意しておき、別途用意した「Answerファイル」に基づいて、指定のサーバに指定のマニフェストを適用するという仕組みになります。
次は、Answerファイルにおける、Novaに関連する設定の一部です。Novaの管理機能をインストールするサーバのIPアドレスに加えて、「CONFIG_NOVA_COMPUTE_HOSTS」では、Nova Compute(仮想マシンインスタンスが起動するサーバ)として構成するサーバ群のIPアドレス(10.64.200.100~10.64.200.102)が指定されています。
CONFIG_NOVA_INSTALL=y CONFIG_NOVA_API_HOST=10.64.200.99 CONFIG_NOVA_CERT_HOST=10.64.200.99 CONFIG_NOVA_VNCPROXY_HOST=10.64.200.99 CONFIG_NOVA_COMPUTE_HOSTS=10.64.200.100,10.64.200.101,10.64.200.102
このAnswerファイルを用いてPackstackを実行すると、指定のサーバ群に必要なPuppetマニフェストが配布されて、複数サーバへのインストールが並列に行われます。つまり、1台の「インストールサーバ」から、ネットワーク経由で複数サーバの同時インストールが可能になります(図1)。多数のサーバをインストール際には、非常に便利なツールです。
図1 Packstackによる複数サーバのインストール
ただし、1つだけ残念なことがあります。Packstackの使い方についてのドキュメントがまだ整備されておらず、Answerファイルをどのように編集すれば、希望する構成でインストールできるのかがよく分かりません。典型的な構成での構築手順を筆者のBlogで紹介していますので、そちらを参考にしてください[*1][*2]。
筆者は、前述のBlog記事を書くにあたって、Packstackのソースコードを読んで、Answerファイルの書き方などを確認しました。ドキュメントがあるに越したことはありませんが、ソースコードから自分で仕様を確認して使いこなすというのも、オープンソースの醍醐味ですよね。
この中で、Packstackの仕組みについて、面白い点を発見しました。前述のように、Nova、Glance、Cinderなど、さまざまなコンポーネントのマニフェストが用意されているわけですが、新しいコンポーネントのマニフェストをプラグイン形式で追加できるようになっています。Packstackをインストールしたサーバで、図2のコマンドを実行すると、Packstackが提供するマニフェスト群と対応するプラグインモジュール群が確認できます。
図2 Packstackのプラグイン構造
OpenStackの新しいコンポーネントが登場した際は、そのコンポーネントのマニフェストとプラグインモジュールを追加することで、Packstackを追加コンポーネントに対応させることができるというわけです。このあたりの詳細は、こちらのBlog記事で解説しています。ややマニアックな内容ですが、興味のある方は、一読いただければと思います。
今回、Packstackのソースコードを読むという話が出てきましたが、そのソースコードは、バージョン管理ツール「git」で管理されています。最近のオープンソースでは、ソースコードの管理にgitを利用する事が非常に多くなって来ました。gitは、ソースコードを書く開発者向けのツールですが、その機能はソースコードを読む際にも役立てることができます。
次回は、「ソースコードを読む」という観点で、gitの機能を紹介したいと思います。
*1)「RDOデモ環境を確実に構築する手順」
Packstackを使って、1台のサーバでOpenStackが動作する環境を構築する方法を説明しています。
*2)「RDOデモ環境を確実に構築する手順(複数ノード編)」
Packstackを使って、1台のコントローラーノードと複数のコンピュートノードからなる環境を構築する方法を説明しています。
++ CTC教育サービスから一言 ++
このコラムでLinuxや周辺技術の技術概要や面白さが理解できたのではないかと思います。興味と面白さを仕事に変えるには、チューニングやトラブルシューティングの方法を実機を使用して多角的に学ぶことが有効であると考えます。CTC教育サービスでは、Linuxに関する実践力を鍛えられるコースを多数提供しています。興味がある方は以下のページもご覧ください。
CTC教育サービス Linuxのページ
http://www.school.ctc-g.co.jp/linux/
筆者書籍紹介 Software Design plusシリーズ 「独習Linux専科」サーバ構築/運用/管理 ――あなたに伝えたい技と知恵と鉄則 本物の基礎を学ぶ!新定番のLinux独習書 中井悦司 著 B5変形判/384ページ 定価3,129円(本体2,980円) ISBN 978-4-7741-5937-9 詳しくはこちら(出版社WEBサイト) |
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes