CentOS 7
Sponsored Link

OpenStack Train : Swift 設定#1 (Control ノード)2019/10/28

 
OpenStack Object Storage(Swift)を設定します。
当例では以下のような環境を例に Swift サービスを設定します。
------------+--------------------------+-------------+-----
            |                          |             |
        eth0|10.0.0.30             eth0|10.0.0.50    |
+-----------+-----------+  +-----------+-----------+ |
|    [ Control Node ]   |  |    [  Proxy Node  ]   | |
|                       |  |                       | |
|  MariaDB    RabbitMQ  |  |      Swift Proxy      | |
|  Memcached  httpd     |  |                       | |
|  Keystone             |  |                       | |
+-----------------------+  +-----------------------+ |
                                                     |
------------+--------------------------+-------------+------------+------------
        eth0|10.0.0.71             eth0|10.0.0.72             eth0|10.0.0.73
+-----------+-----------+  +-----------+-----------+  +-----------+-----------+
|   [ Storage Node#1 ]  |  |   [ Storage Node#2 ]  |  |   [ Storage Node#3 ]  |
|                       |  |                       |  |                       |
|     Swift-Account     |  |     Swift-Account     |  |     Swift-Account     |
|    Swift-Container    |  |    Swift-Container    |  |    Swift-Container    |
|     Swift-Object      |  |     Swift-Object      |  |     Swift-Object      |
+-----------------------+  +-----------------------+  +-----------------------+

[1] Control ノードの Keystone に Swift 用のユーザー等々を登録しておきます。
# swift ユーザー作成 (service プロジェクト所属)

[root@dlp ~(keystone)]#
openstack user create --domain default --project service --password servicepassword swift

+---------------------+----------------------------------+
| Field               | Value                            |
+---------------------+----------------------------------+
| default_project_id  | 2b9c4eda462e40a4a3d03b0a38f12bf1 |
| domain_id           | default                          |
| enabled             | True                             |
| id                  | c7d7134822074d078b6b1969eb066a56 |
| name                | swift                            |
| options             | {}                               |
| password_expires_at | None                             |
+---------------------+----------------------------------+

# swift ユーザーを admin ロール に加える

[root@dlp ~(keystone)]#
openstack role add --project service --user swift admin
# swift 用サービスエントリ作成

[root@dlp ~(keystone)]#
openstack service create --name swift --description "OpenStack Object Storage" object-store

+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | OpenStack Object Storage         |
| enabled     | True                             |
| id          | 8869cabb5fc44f8aaed46a541212e78b |
| name        | swift                            |
| type        | object-store                     |
+-------------+----------------------------------+

# Swift Proxy ノードを定義しておく

[root@dlp ~(keystone)]#
export swift_proxy=10.0.0.50
# swift 用エンドポイント作成 (public)

[root@dlp ~(keystone)]#
openstack endpoint create --region RegionOne object-store public http://$swift_proxy:8080/v1/AUTH_%\(tenant_id\)s

+--------------+---------------------------------------------+
| Field        | Value                                       |
+--------------+---------------------------------------------+
| enabled      | True                                        |
| id           | e0a0f45fcd0f41ce80bdf40fd0e08c8c            |
| interface    | public                                      |
| region       | RegionOne                                   |
| region_id    | RegionOne                                   |
| service_id   | 8869cabb5fc44f8aaed46a541212e78b            |
| service_name | swift                                       |
| service_type | object-store                                |
| url          | http://10.0.0.50:8080/v1/AUTH_%(tenant_id)s |
+--------------+---------------------------------------------+

# swift 用エンドポイント作成 (internal)

[root@dlp ~(keystone)]#
openstack endpoint create --region RegionOne object-store internal http://$swift_proxy:8080/v1/AUTH_%\(tenant_id\)s

+--------------+---------------------------------------------+
| Field        | Value                                       |
+--------------+---------------------------------------------+
| enabled      | True                                        |
| id           | 7845f1f8d2a44c94825d4b2313e696be            |
| interface    | internal                                    |
| region       | RegionOne                                   |
| region_id    | RegionOne                                   |
| service_id   | 8869cabb5fc44f8aaed46a541212e78b            |
| service_name | swift                                       |
| service_type | object-store                                |
| url          | http://10.0.0.50:8080/v1/AUTH_%(tenant_id)s |
+--------------+---------------------------------------------+

# swift 用エンドポイント作成 (admin)

[root@dlp ~(keystone)]#
openstack endpoint create --region RegionOne object-store admin http://$swift_proxy:8080/v1

+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | 41327202b82e440f8a57e2f92950b16a |
| interface    | admin                            |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | 8869cabb5fc44f8aaed46a541212e78b |
| service_name | swift                            |
| service_type | object-store                     |
| url          | http://10.0.0.50:8080/v1         |
+--------------+----------------------------------+
関連コンテンツ