このエントリーをはてなブックマークに追加

5.2.8. OpenStackの利用

ここまで来ている方は、OpenStackのインストールは済んでいるはずなのでOpenStackを利用しましょう。
環境変数の設定、ネットワーク、フローティングIP、キーペア、セキュリティグループの作成を行います。
それが済めばHorizonを利用して仮想マシンを起動します。

5.2.8.1. 環境変数の設定

OpenStackを利用する際に必要になりますので設定します。
また、euca2oolsのコマンドも利用できるようにそちらの環境変数も設定します。
ユーザはstackとしていますが利用するユーザ、ホストにあわせて下さい。

5.2.8.1.1. OpenStackAPI利用のための環境変数ファイルを作成

OpenStackのAPIを利用する場合に必要な環境変数設定ファイルを作成します。
また、テナントが違う場合やユーザが違う場合は別途作成が必要になります。
あと、novaコマンドを利用するたびにkeyringの入力を求められるため OS_NO_CACHE=true を追加しています。。
いつの間にかLaunchpadで答えてる人が。どこにそんなドキュメントがあったのか全く謎ですけど。
<Lauchpad https://answers.launchpad.net/nova/+question/210500>_
$ cat << KEYSTONERC | sudo tee /home/stack/keystonerc > /dev/null
export OS_NO_CACHE=True
export ADMIN_TOKEN=ADMIN
export OS_USERNAME=admin
export OS_PASSWORD=password
export OS_TENANT_NAME=admin
export OS_AUTH_URL=http://stack01:35357/v2.0/
KEYSTONERC
$ sudo chown stack:stack /home/stack/keystonerc

5.2.8.1.2. AWS互換API利用のための環境変数ファイルを作成

AWS互換のAPIを利用する場合に必要な環境変数設定ファイルを作成します。
eucaで始まるコマンド(Eucalyptusで利用されている)を利用できるようになります。
こちらもユーザはstackにしていますので適宜変更して下さい。
またこちらも、テナントが違う場合やユーザが違う場合は別途作成が必要になります。
先に作成したOpenStackAPIの環境変数を読みこませる必要があります。
$ . /home/stack/keystonerc
$ USER_ID=$(keystone user-list | awk "/admin / {print \$2}")
$ ACCESS_KEY=$(keystone ec2-credentials-list --user-id $USER_ID | awk "/admin / {print \$4}")
$ SECRET_KEY=$(keystone ec2-credentials-list --user-id $USER_ID | awk "/admin / {print \$6}")
$ cd /home/stack
$ cat << EUCARC | sudo tee eucarc > /dev/null
export tEC2_URL=http://stack01:8773/services/Cloud
export EC2_ACCESS_KEY=$ACCESS_KEY
export EC2_SECRET_KEY=$SECRET_KEY
EUCARC
$ sudo chown stack:stack eucarc
$ sudo chmod 600 eucarc
これは環境変数が固定されるので問題ない方のみおこなって下さい。
ログイン後にいちいち環境変数を読みこませるのが面倒なのでbashrcに設定してしまいます。
$ cat << NOVARC | sudo tee -a /etc/bash.bashrc > /dev/null
. /home/stack/keystonerc
. /home/stack/eucarc
NOVARC

5.2.8.2. 内部ネットワークの作成

仮想マシンが利用する内部ネットワークの作成を行います。
ユーザはrootで行う必要があります。
仮想マシン間や仮想マシンから外部への接続に利用するためのネットワークです。
コマンドのヘルプが壊れているので細かい設定内容がまだわかりません。
10.0.0.0を外部通信で利用しているのであればnova.confも含めて変更して下さい。
$ sudo nova-manage network create \
--label nova_network1        \
--fixed_range_v4=10.0.0.0/25 \
--bridge_interface=eth0      \
--multi_host=T

5.2.8.3. フローティングIPの作成

仮想マシンへ外部から接続する為に利用するフローティングIPの作成を行います。
ユーザはrootで行う必要があります。
外部へ接続するためのネットワークからレンジを設定して下さい。
$ sudo nova-manage float create --ip_range=192.168.10.112/28

5.2.8.4. キーペアの作成

仮想マシンへSSHでログインするためのキーペアを作成します。
独自イメージでパスワードを予め設定してあるなどしてあれば必要ないでしょう。
本項目以降で Please input your password for the keyring が出力されるようになっているのですがどうやれば聞かれないのかまだわかっていません。
なのでパスワードを適当に同じ物を連続で入力して下さい。
分かり次第手順書は修正します。
$ cd /home/stack
$ nova keypair-add mykey > mykey
$ sudo chown stack:stack mykey
$ sudo chmod 600 mykey
$ nova keypair-list
+-------+-------------------------------------------------+
| Name  | Fingerprint                                     |
+-------+-------------------------------------------------+
| mykey | da:2b:40:bf:b1:dd:71:8f:53:15:25:13:0a:e8:43:bd |
+-------+-------------------------------------------------+

5.2.8.5. セキュリティグループの設定

セキュリティグループはdefaultを利用しています。
icmpとSSHだけ許可しています。
但し、内部通信のセキュリティではなくフローティングIPへのセキュリティになります。
$ nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0
+-------------+-----------+---------+-----------+--------------+
| IP Protocol | From Port | To Port | IP Range  | Source Group |
+-------------+-----------+---------+-----------+--------------+
| icmp        | -1        | -1      | 0.0.0.0/0 |              |
+-------------+-----------+---------+-----------+--------------+
$ nova secgroup-add-rule default tcp 22 22 0.0.0.0/0
+-------------+-----------+---------+-----------+--------------+
| IP Protocol | From Port | To Port | IP Range  | Source Group |
+-------------+-----------+---------+-----------+--------------+
| tcp         | 22        | 22      | 0.0.0.0/0 |              |
+-------------+-----------+---------+-----------+--------------+
$ nova secgroup-list
+---------+-------------+
| Name    | Description |
+---------+-------------+
| default | default     |
+---------+-------------+
$ nova secgroup-list-rules default
+-------------+-----------+---------+-----------+--------------+
| IP Protocol | From Port | To Port | IP Range  | Source Group |
+-------------+-----------+---------+-----------+--------------+
| icmp        | -1        | -1      | 0.0.0.0/0 |              |
| tcp         | 22        | 22      | 0.0.0.0/0 |              |
+-------------+-----------+---------+-----------+--------------+
ここまででOpenStackを利用するための設定は全て終了です。
コマンドで仮想マシンを起動したりする方法についてはコマンドの記述の方を確認して下さい。
ここではDashboardを利用したインスタンスの起動方法までを記述します。
Dashboardは、基本的に直感的に利用出来るようになっていますのであまり詳しくは記述しません。

5.2.8.6. Dashboardの利用

まずはDashboardにログインしてみましょう。
URLはOpenStackをインストールしたIPアドレスとその後に /horizon を入れればOKです。

5.2.8.6.1. ログイン

ユーザ名、パスワードはKeystoneで設定したものを入力します。

../_images/ログイン7.png

5.2.8.6.2. プロジェクトの選択及びインスタンス画面への遷移

タブのProjectを押下しadminに変更します。
また、その下のメニューのInstance & Volumesを押下します。
../_images/Instance_and_Volumes8.png

5.2.8.6.3. イメージ選択画面への遷移

メニューのImages & Snapshotsを押下します。
右側にGlanceで登録したイメージが表示されていますのでアクションボタン(Launch)を押下します。
../_images/Images_and_Snapshots7.png

5.2.8.6.4. 仮想マシンの起動

仮想マシン名、CPUやメモリの大きさ、キーペア、仮想マシンを起動する数を選択してイメージを起動しましょう。
../_images/Launch_Instances7.png

5.2.8.6.5. 仮想マシンの起動確認

自動的にメニューのInstance & Volumesに遷移しますのでステータスがActiveになるのを待ちます。
Activeになれば無事仮想マシンを操作することが可能になりますが起動中少し時間がかかります。
../_images/Instance_and_Volumes27.png

5.2.8.6.6. 仮想マシンへのログイン

Edit InstanceのメニューからVNC Consoleを選択します。
手順どおりであればUbuntu12.04のイメージはキーペアを利用しないとログイン出来ません。
noVNCを利用したコンソールログインを行う場合は一度キーペアを利用したログインをおこなってパスワードを変更しておきます。
グレイの部分を押さないとキーボード入力がうまくいきませんので注意して下さい。
$ ssh -i /home/stack/mykey ubuntu@10.0.0.2
$ sudo passwd ubuntu
../_images/Instance_vnc_console7.png
インスタンスの起動までは以上です。
全ての操作がDashboardで出来るわけではありませんが
ボリュームのアタッチやデタッチ、仮想マシンのスナップショット、ボリュームのスナップショットなど他にもありますがGUIで色々設定できます。
Swift、QuantumもKeystoneの設定を行えばDashboardでの操作が可能になります。
また、Ubuntuのパッケージでインストールを行った場合はJujuで利用するための設定をダウンロードできる機能がDashboardに追加されています。