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

1.2.9. Openstackのインスタンス作成

必要なプロセスが全部起動したところで、インスタンスを作成します。

1.2.9.1. Novaの環境変数を設定

一般ユーザなどでnovaコマンドを利用するための環境変数を設定します。

$ cat << 'NOVARC' | sudo tee -a /etc/bash.bashrc > /dev/null

# nova
export NOVA_USERNAME=admin
export NOVA_PROJECT_ID=adminTenant
export NOVA_PASSWORD=password
export EC2_PASSWORD=password
export NOVA_HOST=stack01
export NOVA_API_KEY=$NOVA_PASSWORD
export NOVA_URL=http://$NOVA_HOST:5000/v2.0/
export NOVA_VERSION=1.1
export NOVA_REGION_NAME=RegionOne

# glance
export OS_AUTH_USER=${NOVA_USERNAME}
export OS_AUTH_KEY=${NOVA_PASSWORD}
export OS_AUTH_TENANT=${NOVA_PROJECT_ID}
export OS_AUTH_URL=${NOVA_URL}
export OS_AUTH_STRATEGY=keystone

# euca2ools
export EC2_URL=http://$NOVA_HOST:8773/services/Cloud
export EC2_ACCESS_KEY=admin
export EC2_SECRET_KEY=$EC2_PASSWORD
NOVARC

1.2.9.2. ネットワークの作成

Openstack内部で利用するためのネットワークを作成します。

$ . /etc/bash.bashrc
$ sudo nova-manage network create \
--label nova_network1                \
--fixed_range_v4=10.0.0.0/24 \
--bridge_interface=eth0

作成したネットワークを確認します。

$ sudo nova-manage network list

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

インスタンスから外部に接続するだけ、またはインスタンス同士で内部通信だけの場合は必要ありませんが 外部からインスタンスにログインする場合はフローティングIPを作成する必要があります。

外部セグメントと同一アドレス帯で空きのIPアドレスをCIDRで設定しておきます。

$ sudo nova-manage float create  --ip_range=192.168.10.112/28

作成したフローティングIPを確認します。

$ sudo nova-manage float list

1.2.9.4. 仮想マシンイメージの作成

あとで別途記述します。とりあえずttylinuxで確認します。

1.2.9.5. 仮想マシンイメージの登録

ttylinuxの登録を行います。

$ sudo mkdir /opt/virt
$ cd /opt/virt
$ sudo mkdir ttylinux; cd ttylinux;
$ sudo wget http://smoser.brickies.net/ubuntu/ttylinux-uec/ttylinux-uec-amd64-12.1_2.6.35-22_1.tar.gz
$ sudo tar -xzvf ttylinux-uec-amd64-12.1_2.6.35-22_1.tar.gz
$ sudo glance add -A 999888777666 name="ttylinux-kernel" is_public=true container_format=aki disk_format=aki < ttylinux-uec-amd64-12.1_2.6.35-22_1-vmlinuz
$ sudo glance add -A 999888777666 name="ttylinux-ram" is_public=true container_format=ari disk_format=ari < ttylinux-uec-amd64-12.1_2.6.35-22_1-loader

一度登録したイメージを確認します。

$ glance  -A 999888777666 index

ラムディスクとカーネルの番号を確認して次のコマンドを実施します。

$ sudo glance add -A 999888777666 name="ttylinux-image" is_public=true container_format=ami disk_format=ami kernel_id=KERNEL_ID ramdisk_id=RAMDISK_ID < ttylinux-uec-amd64-12.1_2.6.35-22_1.img

登録したイメージを確認します。

$ glance  -A 999888777666 index

1.2.9.6. インスタンスの起動

登録しているイメージの一覧を確認します。

$ nova image-list

1.2.9.6.1. キーペアの作成

イメージ作成時にSSHのパスワードを設定していないので鍵なし認証でしかログイン出来ません。そのためここでログインするための鍵を作成します。

$ cd
$ nova keypair-add mykey > mykey
$ chmod 600 mykey
$ nova keypair-list

1.2.9.6.2. 仮想インスタンスのセキュリティ設定

何も設定しないと外部ネットワークからは何も出来ません。ここではicmpとSSHをデフォルトのセキュリティに設定します。

$ 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-rules default

1.2.9.6.3. インスタンスの起動

作成した鍵を付与して起動したいイメージ、フレーバーを確認してインスタンスを起動します。

$ nova image-list
$ nova flavor-list

確認後、起動します。

$ nova boot --flavor [flavor-id] --image [image-id] centos62_001 --key_name mykey

作成している過程を確認する場合は以下のログを確認します。

$ sudo tail -f /opt/stack/nova/nova-compute.log

また、使用可能になるにはインスタンスのステータスがACTIVEになる必要があります。以下のコマンドで確認します。

$ nova list

1.2.9.6.4. インスタンスへの接続

管理サーバからログインする場合はフローティングIPが無くてもインスタンス一覧で確認したIPでログインできます。

$ ssh -i mykey root@IPアドレス

1.2.9.6.5. フローティングIPの付与

フローティングIPを付与したら外部から鍵(ここではmykey)を利用してログインできるようになります。 付与するインスタンス名はeuca-describe-instancesで確認しておきます。 0は省いても問題ないです。 createでIPを割り当て、addでインスタンスにIPを付与します。

$ sudo nova-manage float list
$ nova floating-ip-create
$ nova add-floating-ip 1 192.168.10.113

IPの付与を解除する場合は以下のコマンドで実施します。

$ nova remove-floating-ip 1 192.168.10.113
$ floating-ip-delete 1 192.168.10.113

1.2.9.6.6. インスタンスの終了

suspendかpauseでインスタンスを停止します。deleteでインスタンスを削除します。

$ nova suspend [Image Name] #仮想マシン一時停止
$ nova resume [image-Name] #仮想マシン再開
$ nova pause [image-Name] #仮想マシン停止
$ nova unpause [image-Name] #仮想マシン再開
$ nova reboot [image-Name] #仮想マシン再起動

1.2.9.6.7. Novaサービスリスト確認

Computeノードを追加した場合はサービスリストに追加されていることを確認します。

$ sudo nova-manage service list

インスタンスの起動やスナップショットの作成などはHorizonで行ったほうが楽かもしれません。 ComputeNodeの追加に関してはまた別途記述します。