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

OpenStackの利用

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

環境変数の設定

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

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

OpenStackのAPIを利用する場合に必要な環境変数設定ファイルを作成します。
また、テナントが違う場合やユーザが違う場合は別途作成が必要になります。
Dashboardから取得することも可能です。
$ cd /home/stack
$ cat << KEYSTONERC | sudo tee keystonerc > /dev/null
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

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

AWS互換のAPIを利用する場合に必要な環境変数設定ファイルを作成します。
eucaで始まるコマンド(Eucalyptusで利用されている)を利用できるようになります。
こちらもユーザはstackにしていますので適宜変更して下さい。
またこちらも、テナントが違う場合やユーザが違う場合は別途作成が必要になります。
先に作成したOpenStackAPIの環境変数を読みこませる必要があります。
こちらもDashboardから取得することもサンプルシェルを利用した場合は /etc/keystone/ec2rc として作成されているのでそちらも利用可能です。
$ . /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 EC2_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

内部ネットワークの作成

仮想マシンが利用する内部ネットワークの作成を行います。
ユーザは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
$ nova-manage network list

フローティングIPの作成

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

キーペアの作成

仮想マシンへSSHでログインするためのキーペアを作成します。
独自イメージでパスワードを予め設定してあるなどしてあれば必要ないでしょう。
$ cd /home/stack
$ nova keypair-add mykey > mykey
$ sudo chown stack:stack mykey
$ sudo chmod 600 mykey
$ nova keypair-list

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

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

Dashboardの利用

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

ログイン

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

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

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

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

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

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

仮想マシンの起動

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

仮想マシンの起動確認

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

仮想マシンへのログイン

Edit InstanceのメニューからVNC Consoleを選択します。
手順どおりであればUbuntu12.04のイメージはキーペアを利用しないとログイン出来ません。
noVNCを利用したコンソールログインを行う場合は一度キーペアを利用したログインをおこなってパスワードを変更しておきます。
グレイの部分を押さないとキーボード入力がうまくいきませんので注意して下さい。
$ ssh -i /home/stack/mykey ubuntu@10.0.0.2
$ sudo passwd ubuntu
../_images/Instance_vnc_console11.png

コマンドでインスタンスをブート

コマンドでもインスタンスは起動できます。
イメージとフレーバーを確認してブートします。
$ nova image-list
$ nova flavor-list
$ nova boot --flavor 1 --image a3b26eeb-cbe1-4645-b20b-ebc8af5a1761 precise_001 --key_name mykey
インスタンスの起動までは以上です。
全ての操作がDashboardで出来るわけではありませんが
ボリュームのアタッチやデタッチ、仮想マシンのスナップショット、ボリュームのスナップショットなど他にもありますがGUIで色々設定できます。
Swift、QuantumもKeystoneの設定を行えばDashboardでの操作が可能になります。
また、Ubuntuのパッケージでインストールを行った場合はJujuで利用するための設定をダウンロードできる機能がDashboardに追加されています。