Glanceのインストールと設定

データベースを作成

MariaDBにglanceで使用するデータベースを作成し、アクセス権を付与します。

controller# mysql
MariaDB [(none)]> CREATE DATABASE glance;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
 IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
IDENTIFIED BY 'password';

MariaDB [(none)]> quit

データベースの確認

MariaDBにglanceユーザーでログインし、データベースの閲覧が可能であることを確認します。

controller# mysql -u glance -p
Enter password: ← MariaDBのglanceパスワードpasswordを入力
...
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| glance             |
+--------------------+

ユーザー、サービス、APIエンドポイントの作成

以下のコマンドで認証情報を読み込み、ImageサービスとAPIエンドポイントを設定します。

環境変数ファイルの読み込み

admin-openrcを読み込みます。

controller# source admin-openrc

glanceユーザーの作成

controller# openstack user create --domain default --password-prompt glance
User Password: password  ← glanceユーザーのパスワードを設定(本書はpasswordを設定)
Repeat User Password: password
+---------------------+----------------------------------+
| Field               | Value                            |
+---------------------+----------------------------------+
| domain_id           | default                          |
| enabled             | True                             |
| id                  | 3051a763c5754b77a51b67bf8c2da06b |
| name                | glance                           |
| options             | {}                               |
| password_expires_at | None                             |
+---------------------+----------------------------------+

adminロールをglanceユーザーとserviceプロジェクトに追加

controller# openstack role add --project service --user glance admin

glanceサービスの作成

controller# openstack service create --name glance \
--description "OpenStack Image" image
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | OpenStack Image                  |
| enabled     | True                             |
| id          | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
| name        | glance                           |
| type        | image                            |
+-------------+----------------------------------+

APIエンドポイントの作成

controller# openstack endpoint create --region RegionOne \
  image public http://controller:9292
controller# openstack endpoint create --region RegionOne \
  image internal http://controller:9292
controller# openstack endpoint create --region RegionOne \
  image admin http://controller:9292

Glanceのインストール

aptコマンドでglanceパッケージをインストールします。

controller# apt install glance

Glanceの設定変更

Glance(APIとレジストリー)の設定を行います。

controller# vi /etc/glance/glance-api.conf
...

[database]
#sqlite_db = /var/lib/glance/glance.sqlite      ← 既存設定があればコメントアウト
connection = mysql+pymysql://glance:password@controller/glance   ← 追記
...
[glance_store]
...
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/  ← 変更
...
[keystone_authtoken](既存の設定はコメントアウトし、以下を追記)
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = glance
password = password  ← glanceユーザーのパスワード
...
[paste_deploy]
...
flavor = keystone          ← 追記

次のコマンドで正しく設定を行ったか確認します。

controller# less /etc/glance/glance-api.conf | egrep -v "^\s*$|^\s*#"
controller# vi /etc/glance/glance-registry.conf

[DEFAULT]
...
[database]
#sqlite_db = /var/lib/glance/glance.sqlite      ← 既存設定があればコメントアウト
connection = mysql+pymysql://glance:password@controller/glance  ← 追記

[keystone_authtoken](既存の設定はコメントアウトし、以下を追記)
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = glance
password = password      ← glanceユーザーのパスワード

...
[paste_deploy]
flavor = keystone                ← 追記

次のコマンドで正しく設定を行ったか確認します。

controller# less /etc/glance/glance-registry.conf | egrep -v "^\s*$|^\s*#"

データベースに展開

次のコマンドでglanceデータベースのセットアップを行います。

controller# su -s /bin/sh -c "glance-manage db_sync" glance
...
Upgraded database to: pike01, current revision(s): pike01

インストールした時期によって異なるメッセージが表示されることがあるかもしれませんが、 Upgraded database to: pike01のようなメッセージが出力され、エラー出力がないことを確認します。

Glanceサービスの再起動

設定を反映させるためGlanceサービスを再起動します。

controller# service glance-registry restart
controller# service glance-api restart

ログの確認と使用しないデータベースファイルの削除

サービスの再起動後、ログを参照しGlanceの各サービスでエラーが起きていないことを確認します。

controller# tailf /var/log/glance/glance-api.log
controller# tailf /var/log/glance/glance-registry.log

イメージの取得と登録

Glanceへインスタンス用の仮想マシンイメージを登録します。ここでは、OpenStackのテスト環境に役立つ軽量なLinuxイメージ CirrOS を登録します。

イメージの取得

CirrOSのWebサイトより仮想マシンイメージをダウンロードします。

controller# wget http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img

イメージを登録

ダウンロードした仮想マシンイメージをGlanceに登録します。

controller# source admin-openrc
controller# openstack image create "cirros" \
  --file cirros-0.3.5-x86_64-disk.img \
  --disk-format qcow2 --container-format bare \
  --public

  +------------------+------------------------------------------------------+
  | Field            | Value                                                |
  +------------------+------------------------------------------------------+
  | checksum         | f8ab98ff5e73ebab884d80c9dc9c7290                     |
  | container_format | bare                                                 |
  | created_at       | 2017-09-05T04:34:49Z                                 |
  | disk_format      | qcow2                                                |
  | file             | /v2/images/30c9a014-b94a-4368-a883-ed738818f955/file |
  | id               | 30c9a014-b94a-4368-a883-ed738818f955                 |
  | min_disk         | 0                                                    |
  | min_ram          | 0                                                    |
  | name             | cirros                                               |
  | owner            | f44977aee5b0490f9cd4de231b3f569e                     |
  | protected        | False                                                |
  | schema           | /v2/schemas/image                                    |
  | size             | 13267968                                             |
  | status           | active                                               |
  | tags             |                                                      |
  | updated_at       | 2017-09-05T04:34:50Z                                 |
  | virtual_size     | None                                                 |
  | visibility       | public                                               |
  +------------------+------------------------------------------------------+

イメージの登録を確認

仮想マシンイメージが正しく登録されたか確認します。

controller# openstack image list
+--------------------------------------+--------+--------+
| ID                                   | Name   | Status |
+--------------------------------------+--------+--------+
| 30c9a014-b94a-4368-a883-ed738818f955 | cirros | active |
+--------------------------------------+--------+--------+

results matching ""

    No results matching ""