OpenStack Rocky : Configure Swift (Control Node)2019/08/22 |
|
Configure OpenStack Object Storage (Swift).
This example is based on the emvironment like follows.
------------+---------------------------+-------------+---
| | |
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] | Add Swift user or service on Keystone Server (Control Node) first. |
|
# add swift user root@dlp ~(keystone)# openstack user create --domain default --project service --password servicepassword swift
+---------------------+----------------------------------+
| Field | Value |
+---------------------+----------------------------------+
| default_project_id | af821885c5934a9395aeabe996751847 |
| domain_id | default |
| enabled | True |
| id | 10d9d88ac90840e49cf377df97a4d8de |
| name | swift |
| options | {} |
| password_expires_at | None |
+---------------------+----------------------------------+
# add swift user in admin role root@dlp ~(keystone)# openstack role add --project service --user swift admin
# add an entry for swift service root@dlp ~(keystone)# openstack service create --name swift --description "OpenStack Object Storage" object-store +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | OpenStack Object Storage | | enabled | True | | id | 0d12ae308f0c4d9d8e8c6beb503b7676 | | name | swift | | type | object-store | +-------------+----------------------------------+ # define Proxy Node root@dlp ~(keystone)# export swift_proxy=10.0.0.50
# add an entry for swift endpoint (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 | 1444e22e3b72494585c306019b44e374 | | interface | public | | region | RegionOne | | region_id | RegionOne | | service_id | 0d12ae308f0c4d9d8e8c6beb503b7676 | | service_name | swift | | service_type | object-store | | url | http://10.0.0.50:8080/v1/AUTH_%(tenant_id)s | +--------------+---------------------------------------------+ # add an entry for swift endpoint (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 | 9a717f2ac783454a818143a77f72f1df | | interface | internal | | region | RegionOne | | region_id | RegionOne | | service_id | 0d12ae308f0c4d9d8e8c6beb503b7676 | | service_name | swift | | service_type | object-store | | url | http://10.0.0.50:8080/v1/AUTH_%(tenant_id)s | +--------------+---------------------------------------------+ # add an entry for swift endpoint (admin) root@dlp ~(keystone)# openstack endpoint create --region RegionOne object-store admin http://$swift_proxy:8080/v1 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | 0f6be19c6ed44bc6bf6814fbffce566a | | interface | admin | | region | RegionOne | | region_id | RegionOne | | service_id | 0d12ae308f0c4d9d8e8c6beb503b7676 | | service_name | swift | | service_type | object-store | | url | http://10.0.0.50:8080/v1 | +--------------+----------------------------------+ |
| Sponsored Link |
|
|