Openstack-ミラーサービスImage Serviceの配備

9443 ワード

Image Service
この文書では、controllerノードにImageサービスglanceをインストール、構成し、ミラーリングをローカルファイルシステムに格納する方法について説明します.
インストールの準備
Controllerノードip:192.168.1.1101
1.まずデータベースの作成、service credentialsAPI endpoints
$ mysql -uroot -p
  mysql> create database glance;
  mysql> grant all privileges on glance.* to 'glance'@'localhost' \
  identified by '123456' with grant option;
  mysql> grant all privileges on glance.* to 'glance'@'%' \
  identified by '123456' with grant option;
  mysql> exit;

2、adminCLIコマンドを使用するためにadmin-onlyユーザ環境に切り替える
$ source admin-openrc

3、設立service credentials
  • 作成glanceユーザー
  • $ openstack user create --domain default --password-prompt glance
    User Password:
    Repeat User Password:
    +---------------------+----------------------------------+
    | Field               | Value                            |
    +---------------------+----------------------------------+
    | domain_id           | default                          |
    | enabled             | True                             |
    | id                  | 3f4e777c4062483ab8d9edd7dff829df |
    | name                | glance                           |
    | password_expires_at | None                             |
    +---------------------+----------------------------------+
    
  • glanceユーザーおよびserviceプロジェクト追加adminロール
  • $ openstack role add --project service --user glance admin
    

    このコマンドは実行後に出力されません
  • 作成glanceサービス入口
  • $ openstack service create --name glance \
    --description "OpenStack Image" image
    +-------------+----------------------------------+
    | Field       | Value                            |
    +-------------+----------------------------------+
    | description | OpenStack Image                  |
    | enabled     | True                             |
    | id          | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
    | name        | glance                           |
    | type        | image                            |
    +-------------+----------------------------------+
    

    4、作成image service API endpoints
    $ openstack endpoint create --region RegionOne \
    image public http://192.168.1.101:9292
    
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 340be3625e9b4239a6415d034e98aace |
    | interface    | public                           |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
    | service_name | glance                           |
    | service_type | image                            |
    | url          | http://192.168.1.101:9292        |
    +--------------+----------------------------------+
    
    $ openstack endpoint --region RegionOne \
    image internal http://192.168.1.101:9292
    
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | a6e4b153c2ae4c919eccfdbb7dceb5d2 |
    | interface    | internal                         |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
    | service_name | glance                           |
    | service_type | image                            |
    | url          | http://192.168.1.101:9292        |
    +--------------+----------------------------------+
    
    $ openstack endpoint create --region RegionOne \
    image admin http://192.168.1.101:9292
    
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 0c37ed58103f4300a84ff125a539032d |
    | interface    | admin                            |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
    | service_name | glance                           |
    | service_type | image                            |
    | url          | http://192.168.1.101:9292           |
    +--------------+----------------------------------+
    

    コンポーネントのインストールと構成
    1、インストール
    # yum install openstack-glance
    

    2、編集/etc/glance/glance-api.confは、以下の内容を加える.
    [database]
    ...
    connection = mysql+pymysql://glance:[email protected]/glance
    
    [keystone_authtoken]
    ...
    auth_uri = http://192.168.1.101:5000
    auth_url = http://192.168.1.101:35357
    memcached_servers = 192.168.1.101:11211
    auth_type = password
    project_domain_name = Default
    user_domain_name = Default
    project_name = service
    username = glance
    password = 123456
    
    [paste_deploy]
    ...
    flavor = keystone
    
    [glance_store]
    ...
    stores = file,http
    default_store = file
    filesystem_store_datadir = /var/lib/glance/images/
    

    変更が完了すると、$cat/etc/glance/glance-apiと一致するプロファイルを確認するコマンドがあります.conf | grep -v ^# | grep -v ^$
    3、編集/etc/glance/glance-registry.confは、以下の内容を加える.
    [database]
    ...
    connection = mysql+pymysql://glance:[email protected]/glance
    
    [keystone_authtoken]
    ...
    auth_uri = http://192.168.1.101:5000
    auth_url = http://192.168.1.101:35357
    memcached_servers = 192.168.1.101:11211
    auth_type = password
    project_domain_name = Default
    user_domain_name = Default
    project_name = service
    username = glance
    password = 123456
    
    [paste_deploy]
    ...
    flavor = keystone
    

    変更が完了すると、$cat/etc/glance/glance-registryと一致するプロファイルを確認するコマンドがあります.conf | grep -v ^# | grep -v ^$
    4、構築image serviceデータベース
    # su -s /bin/sh -c "glance-manage db_sync" glance
    

    コマンド出力のdeprecation messagesは無視できます
    インストールの完了
  • 自動運転・起動の設定image services
  • # systemctl enable openstack-glance-api.service \
    openstack-glance-registry.service
    # systemctl start openstack-glance-api.service \
    openstack-glance-registry.service
    

    上記サービス開始後、$ss-lnp|grep 9292 tcp LISTEN 0 128*:9292:users:(「glance-api」、pid=10926、fd=4)、(「glance-api」、pid=10878、fd=4)$ss-lnp|grep 9191 tcp LISTEN 0 128*:9191:users:(「glance-registry」、pid=109114、fd=4)、(「glance-registry」、pid=10874、pid=10874、fd=10874、fd=10874、fd=10874、fd=10874、fd=10874、fd=10874、fd=10874、fd=10874、4)
    検証#ケンショウ#
    コントローラノードで検証
    1、adminCLIコマンドを使用するためにadmin-onlyユーザ環境に切り替える
    $ source admin-openrc
    

    2、ダウンロードテスト用image
    $ wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img
    

    3、cirrosミラーをミラーサービスにアップロードする.ミラーファイルはQCOW2フォーマット、bareコンテナフォーマットを指定する.publicすべてのprojectsがアクセスできるように見える.
    $ openstack image create "cirros" --file cirros-0.3.4-x86_64-disk.img \
    --disk-format qcow2 --container-format bare --public
    
    +------------------+------------------------------------------------------+
    | Field            | Value                                                |
    +------------------+------------------------------------------------------+
    | checksum         | ee1eca47dc88f4879d8a229cc70a07c6                     |
    | container_format | bare                                                 |
    | created_at       | 2017-01-14T00:58:31Z                                 |
    | disk_format      | qcow2                                                |
    | file             | /v2/images/583c1e1a-78bd-4030-8b09-84a29102123b/file |
    | id               | 583c1e1a-78bd-4030-8b09-84a29102123b                 |
    | min_disk         | 0                                                    |
    | min_ram          | 0                                                    |
    | name             | cirros                                               |
    | owner            | a84ed1f6ae5d433ca1f84396424eae8c                     |
    | protected        | False                                                |
    | schema           | /v2/schemas/image                                    |
    | size             | 13287936                                             |
    | status           | active                                               |
    | tags             |                                                      |
    | updated_at       | 2017-01-14T00:58:35Z                                 |
    | virtual_size     | None                                                 |
    | visibility       | public                                               |
    +------------------+------------------------------------------------------+
    

    4、ミラーアップロード成功を確認する
    $ openstack image list
    
    +--------------------------------------+--------+--------+
    | ID                                   | Name   | Status |
    +--------------------------------------+--------+--------+
    | 583c1e1a-78bd-4030-8b09-84a29102123b | cirros | active |
    +--------------------------------------+--------+--------+
    

    Imageサービスの導入が完了しました