31 Aug 2014, 15:42

OpenStack をとりあえず動かしてみたい! vagrant で OpenStack を初体験したメモ

はじめに

最近とみに OpenStack という単語をきくようになった.

OpenStack がなんなのか知らないと, 何だか日本人なのに納豆がきらいといって白々しい目で見られるような, 子供にそのうち石をなげられるような惨めさを感じる.

というわけで, OpenStack について調べ, さらにはインストールしてみる.

OpenStack とは

まずは, OpenStack とはなにか, しらべてみた.

OpenStack の特徴

<div class="outline-text-3" id="text-2-1">
  <ul class="org-ul">
    <li>
      オープンソースで構成されるクラウド・インフラストラクチャー.
    </li>
    <li>
      クラウドに・インフラに関わるすべてのことが, 共通化されて自動化される.
    </li>
    <li>
      バイナリの API ではなく Web API で呼び出せるため, それぞれは独立性が担保され, 柔軟で開発しやすく使いやすい.
    </li>
    <li>
      Apache ライセンスを採用.
    </li>
    <li>
      IBM や HP など, 大企業が開発を牽引している.
    </li>
    <li>
      AWS クラウド コンピューティングに対するロックイン回避
    </li>
  </ul>
</div>

<div id="outline-container-sec-2-1-1" class="outline-4">
  <h4 id="sec-2-1-1">
    20 年前の Linux のような存在
  </h4>

  <div class="outline-text-4" id="text-2-1-1">
    <p>
      Linux は OpenStack のように, オープンソースであることによって, 早い成長を遂げている.しかし, Linux とおなじではない.
    </p>

    <ul class="org-ul">
      <li>
        草の根 vs 大企業: Linux はコミュニティが作り, その後ベンダーに採用されたテクノロジ.
      </li>
    </ul>

    <p>
      OpenStack は商業的なプロジェクトで, その後コミュニティに公開されたもの.
    </p>

    <p>
      <a href="https://jp.linux.com/news/linuxcom-exclusive/406215-lco201307029">リアリティ チェック: Openstack は第二の Linux ではない</a>
    </p>
  </div>
</div>

<div id="outline-container-sec-2-1-2" class="outline-4">
  <h4 id="sec-2-1-2">
    参考
  </h4>

  <div class="outline-text-4" id="text-2-1-2">
    <ul class="org-ul">
      <li>
        <a href="http://ja.wikipedia.org/wiki/OpenStack">OpenStack &#8211; Wikipedia</a>
      </li>
      <li>
        <a href="http://www.atmarkit.co.jp/ait/articles/1406/10/news039.html">NEC の柴田氏に聞く:OpenStack はなぜこれまで成功してきたのか &#8211; @ IT</a>
      </li>
      <li>
        <a href="http://itpro.nikkeibp.co.jp/article/Keyword/20121029/433321/">Network キーワード &#8211; OpenStack とは:ITpro</a>
      </li>
      <li>
        <a href="http://cloud.watch.impress.co.jp/docs/column/cloud/20140404_642748.html">【クラウド特捜部】プレーヤーがそろい表舞台に立つ OpenStack &#8211; クラウド Watch</a>
      </li>
    </ul>
  </div>
</div>

OpenStack のアーキテクチャ

<div class="outline-text-3" id="text-2-2">
  複数のサービスコンポーネントが Web ベースの RestAPI でつながっている. 詳細は, 別ページ参照.</p> 

  <ul class="org-ul">
    <li>
      <a href="http://thinkit.co.jp/story/2014/06/10/4999">OpenStack のアーキテクチャを理解しよう | Think IT (シンクイット)</a>
    </li>
    <li>
      <a href="http://docs.openstack.org/ja/trunk/install-guide/install/apt-debian/content/ch_overview.html">第 1 章 アーキテクチャー &#8211; OpenStack インストールガイド Debian 7.0 (Wheezy) 版 &#8211; juno</a>
    </li>
  </ul>
</div>

OpenStack のインストール方法

OpenStack のインストール方法はいろいろあるようだ.

公式ページのインストール方法.

DevStack

<div class="outline-text-3" id="text-3-1">
  簡単にインストールするためには, DevStack というものが有名なようだ.</p> 

  <ul class="org-ul">
    <li>
      <a href="http://devstack.org/">DevStack &#8211; Deploying OpenStack for Developers</a>
    </li>
    <li>
      <a href="http://www.ospn.jp/press/20120828no27-useit-oss.html"> 「オープンソース」を使ってみよう (第 23 回 DevStack でラクラク導入!</a>
    </li>
    <li>
      <a href="http://momijiame.tumblr.com/post/80665373356/vagrant-devstack-openstack">Vagrant と DevStack で OpenStack をサクッと試す | CUBE SUGAR STORAGE</a>
    </li>
    <li>
      <a href="https://github.com/openstack-dev/devstack.git">https://github.com/openstack-dev/devstack.git</a>
    </li>
  </ul>
</div>

RDO

<div class="outline-text-3" id="text-3-2">
  Linux ディストリビューションを VM 上に入れるという方法もある. RedHat が出している RDO というツールもある.</p> 

  <ul class="org-ul">
    <li>
      <a href="https://openstack.redhat.com/Main_Page">RDO</a>
    </li>
    <li>
      <a href="http://momijiame.tumblr.com/post/80582413671/vagrant-rdo-openstack">Vagrant と RDO で OpenStack をサクッと試す | CUBE SUGAR STORAGE</a>
    </li>
    <li>
      <a href="http://www.atmarkit.co.jp/ait/articles/1311/06/news004_2.html">Havana 登場! 何が変わった?/DevStack で Havana を試すには? (2/3) &#8211; @ IT</a>
    </li>
  </ul>
</div>

VMware Integrated OpenStack

<div class="outline-text-3" id="text-3-3">
  VMware も ディストリを出す予定らしい.</p> 

  <ul class="org-ul">
    <li>
      <a href="http://www.vmware.com/products/openstack">VMware Integrated OpenStack (Beta) | United States</a>
    </li>
    <li>
      <a href="http://www.atmarkit.co.jp/ait/articles/1408/26/news127.html">「 OpenStack の本質は API 」:OpenStack ディストリビューションを発表, ヴイエムウェアは何を考えているか &#8211; @ IT</a>
    </li>
  </ul>
</div>

docker

<div class="outline-text-3" id="text-3-4">
  docker のなかに devstack がはいっているという ちなみに, 自分の環境ではインストールできなかった.</p> 

  <ul class="org-ul">
    <li>
      <a href="https://registry.hub.docker.com/u/ewindisch/dockenstack/">https://registry.hub.docker.com/u/ewindisch/dockenstack/</a>
    </li>
    <li>
      <a href="https://github.com/ewindisch/dockenstack">https://github.com/ewindisch/dockenstack</a>
    </li>
  </ul>
</div>

vagrant-openstack にきめた

いろいろ試してみた (正確に表現すると, 失敗してみた) 結果, vagrant をつかうことにした.

vagrant ってなにってひとは, 過去記事を参照のこと.

environment

<div class="outline-text-3" id="text-4-1">
  <ul class="org-ul">
    <li>
      archlinux
    </li>
    <li>
      vagrant 1.6.3
    </li>
    <li>
      virtualBox 4.3
    </li>
  </ul>
</div>

手順

<div class="outline-text-3" id="text-4-2">
  <p>
    以下の記事から vagrant box があることを知ったので, それを利用する.
  </p>

  <ul class="org-ul">
    <li>
      <a href="http://qiita.com/takuan_osho/items/7f571fb35d282251e5e7">OpenStack 初心者でも Vagrant を使って OpenStack を体験する方法 &#8211; Qiita</a>
    </li>
    <li>
      <a href="https://github.com/TelekomLabs/vagrant-devstack">TelekomLabs/vagrant-devstack</a>
    </li>
  </ul>

  <p>
    github の README にしたがえば, vagrant up して, お茶を飲めと書いてある. 茶どころか, 回線速度が貧弱なので 1 時間くらいかかって, 喫茶店が閉店時間になって追い出されたのだが・・・ (_&#8217;Д`)
  </p>

  <p>
    [sourcecode language=&#8221;sh&#8221; title=&#8221;&#8221;]<br /> git clone https://github.com/TelekomLabs/vagrant-devstack.git<br /> cd vagrant-devstack<br /> vagrant up<br /> [/sourcecode]
  </p>

  <p>
    <a href="http://192.168.50.10/">http://192.168.50.10/</a> にアクセスして, user: admin/ password: devstack でログイン.
  </p>

  <div class="figure">
    <p>
      <img src="http://futurismo.biz/wp-content/uploads/wpid-2014-09-01-003629_632x482_scrot.png" alt="2014-09-01-003629_632x482_scrot.png" />
    </p></p>
  </div>
</div>

OpenStack で開発する

以下はブックマーク.

github リポジトリは以下.

開発に参加するための手引きがまとまっている.

開発やバグ管理は launchpad で実施されているようだ.

開発のための API や SDK とそのドキュメント.