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 |
+--------------------------------------+--------+--------+