OpenStackには、クラウドリソースを管理するための2つの異なるインターフェースがあります。1つはWebベースのOpenStackダッシュボードであるHorizonを介したもので、もう1つはOpenStackコマンドラインインターフェイスを介したものです。
このチュートリアルでは、コマンドラインから OpenStack 上で仮想マシンを作成または終了する方法を紹介します。このプロセスは OpenStack の Havana バージョンでテストされています。OpenStack Folsom のような以前のバージョンの OpenStack の場合は、このチュートリアルで使用するコマンドラインの "neutron" を "quantum" に置き換えるだけです。
OpenStack システムのデプロイセットが既に構築され、どこかで稼働していると仮定してみましょう。OpenStack CLI クライアントを使用して、既存の OpenStack システム上の仮想マシンを管理しようと思います。
OpenStack CLI クライアントのインストール
次に、必要な OpenStack コマンドラインクライアントをインストールします:
Debian、Ubuntu、Linux Mintでは、このコマンドを実行してください:
$ sudo apt-get install python-pip
$ sudo pip install python-novaclient python-keystoneclient python-neutronclient
CentOS、Fedora、またはRHELでは、次のコマンドを実行します:
$ sudo yum install python-pip
$ sudo pip install python-novaclient python-keystoneclient python-neutronclient
環境変数の設定
OpenStack CLI クライアントを使えるようにするには、必要な環境変数を設定する必要があります。そのためには、以下のように openrc.sh というスクリプトを作成します。
$ sudo vi openrc.sh export OS_USERNAME=dan
export OS_PASSWORD=my_password
export OS_TENANT_NAME=demo
export OS_AUTH_URL="http://...10:5000"/.0
上記のスクリプトでは、OS_USERNAME/OS_PASSWORDはOpenStackのユーザー名とパスワードです。OS_TENANT_NAMEは作成したプロジェクトの名前です。OS_AUTH_URLはKeystoneエンドポイントのURLです。OpenStack コンポーネント間の認証を担当する OpenStack サービスです。192.168.10.10を、デプロイされたシステム上でOpenStack Keystoneを実行しているホストのIPアドレスに置き換える必要があります。
次に、openrc.shを実行し、以下のように環境変数を設定します。
$ source openrc.sh
この時点で、OpenStack コマンドラインクライアントを実行する準備が整いました。実行中にエラーが発生しないことを確認してください:
$ nova list
コンテンツが空であるという結果が表示されます。
ネットワーク構築
これで、仮想マシンを接続するためのネットワークを構築する準備が整いました。
xmodulo "という新しいネットワークを作成します。
$ neutron net-create xmodulo
xmodulo_subnet "という新しいサブネットを作成し、先ほど構築したネットワークに追加します。
$ neutron subnet-create xmodulo .0/24 --name xmodulo_subnet
利用可能なネットワークのリストを確認し、ネットワークが正常に構築されたことを確認します。
$ neutron net-list
出力に、構築するネットワークの「ID」をメモしてください。この番号は、後で仮想マシンを作成するときに使用します。
仮想マシンの起動
仮想マシンを作成して起動する前に、まず知っておくべき情報がいくつかあります。
作成したい仮想マシンのタイプを確認します。以下のコマンドを実行してください。
$ nova flavor-list
この例では、64 MBのRAM、1つの仮想プロセッサ、ディスクを持たない最小の仮想マシンタイプ「m1.nano」を選択します。このタイプの名前を書いてください。
次に、仮想マシンに使用する仮想マシンイメージを選択します。利用可能なすべての仮想マシンイメージを一覧表示するには、このコマンドを使用します:
$ nova image-list
VMに使用したいイメージのIDをメモしてください。
次に、仮想マシンに使用するセキュリティグループのタイプを選択します。セキュリティグループは、仮想マシンの受信アクセスルールを決定します。使用可能なセキュリティグループを確認するには、次のコマンドを実行します:
$ nova secgroup-list
デフォルト」セキュリティグループのアクセスルールを確認するには、このコマンドを使用します:
$ nova secgroup-list-rules default
この例では、仮想マシンに「default」というセキュリティグループを選択します。このセキュリティグループにはルールはありません。
*** これまでに得た情報を使用して仮想マシンを作成します。すでに知っている仮想マシンのタイプ、仮想マシン・イメージのID、ネットワークのIDを指定します。
$ nova boot [vm-name] --flavor m1.nano --image d2b830be-3
7df-4fa9-90b2-91c472d19aaa --security-groups default -ni
c net-id=1cbcddcf-3a7d-481f-b6f2-a97c6447c925
仮想マシンが正常に作成され、起動したことを確認するには、次のコマンドを実行します:
$ nova list
仮想マシンの停止、サスペンド、クリア
特定の仮想マシンの実行を停止すると、その仮想マシンは完全にシャットダウンします。一方、仮想マシンをサスペンドすると、一時的にフリーズし、いつでもサスペンド状態から再起動できます。どちらの場合も、仮想マシンイメージはOpenStack内に残ります。
仮想マシンを停止するには、次のコマンドを実行します:
$ nova stop [vm-name]
VMを一時停止したい場合は、次のコマンドを実行してください:
$ nova suspend [vm-name]
このコマンドは、OpenStack から、停止した VM や停止した VM のイメージをクリアする場合に使用します:
$ nova delete [vm-name]