事隔多日來繼續介紹後續 Ceph RGW 與 OpenStack Keystone 的整合配置,還沒有讀上篇的讀者可以先閱讀上篇,若有興趣也可逐步跟著這系列的文章進行操作,或許你會對於內容更有感覺唷!
話不多說就開始吧!!
前置條件
- 在虛擬機器或實體機器上已安裝 Ceph RGW 與 OpenStack Keystone
環境變數
- OS_USERNAME=admin
- OS_PASSWORD=password
- OS_PROJECT_NAME=admin
- OS_USER_DOMAIN_NAME=Default
- OS_PROJECT_DOMAIN_NAME=Default
- OS_AUTH_URL=http://172.17.1.100:5000/v3
- OS_IDENTITY_API_VERSION=3
注意,注意,注意,很重要所以講三次!!本篇介紹採用環境變數與上篇有些許不同。讀者需特別注意!
配置
首先修改 /etc/ceph/ceph.conf
檔案,並加入 OpenStack keystone 相關配置,如:domain, project, user …等。
整體配置如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| $ vim /etc/ceph/ceph.conf
... [client.radosgw.gateway] host = 172.17.1.110:6789 keyring = /etc/ceph/ceph.radosgw.keyring log file = /var/log/ceph/client.radosgw.gateway.log rgw enable usage log = true
# For keystone of openstack rgw keystone api version = 3 # Enable Keystone Auth for S3 APIs rgw keystone url = http://172.17.1.100:5000 rgw s3 auth use keystone = true rgw keystone admin user = admin rgw keystone admin password = password rgw keystone admin domain = Default rgw keystone admin project = admin rgw keystone accepted roles = admin rgw keystone verify ssl = false
|
OpenStack Keystone 參數部分讀者需依照自己建置 OpenStack Keystone 的設定自行修改。
Ceph RGW 配置完成後,需重新啟動
1
| $ systemctl restart ceph-radosgw@radosgw.gateway
|
配置完成後,就可以開始在建立 OpenStack Keystone 內建立 Ceph RGW 的使用者了,透過 openstack ec2 credentials
指令進行建立。
1 2 3 4 5 6 7 8 9 10 11 12
| $ openstack ec2 credentials create --project admin --user admin
+------------+--------------------------------------------------------------------------------------------------------------------------------------+ | Field | Value | +------------+--------------------------------------------------------------------------------------------------------------------------------------+ | access | 25f332ce156248e6b1370a30276db861 | | links | {u'self': u'http://172.17.1.100:5000/v3/users/4a6ccdd4c5d44b90951afd1c7f0051e0/credentials/OS-EC2/25f332ce156248e6b1370a30276db861'} | | project_id | 11545854141449f7abb6b7782f61cbce | | secret | ddd08e575e7949e0ba0efeed5386d679 | | trust_id | None | | user_id | 4a6ccdd4c5d44b90951afd1c7f0051e0 | +------------+--------------------------------------------------------------------------------------------------------------------------------------+
|
輸入完成後,系統會回應如上的資訊,其中 access
與 secret
就是 Ceph RGW 的 access key 與 secret key。
結果
在 OpenStack Keystone 使用者建立完成後,需要任意呼叫一支 Ceph RGW API 或透過第三方工具,如: s3browser, cyberduck 進行登入,才會在 Ceph RGW 看到該使用者資訊。
登入前檢查 Ceph RGW 當前使用者列表。
1 2 3 4 5
| $ radosgw-admin user list
[ "admin" ]
|
開啟 Cyberduck 並點擊視窗中左下角的”+”符號新增一個”S3(HTTP)”的連線,並且輸入您 Server URL 與 RGW Port,以及本篇介紹在 OpenStack Keystone 所建立的 ec2 credential access key 與 secret key 進行登入。
最後,我們再透過 Ceph RGW 指令檢查當前使用者列表。
1 2 3 4 5 6
| $ radosgw-admin user list
[ "admin", "11545854141449f7abb6b7782f61cbce" ]
|
從上述可以看到多一個名為 11545854141449f7abb6b7782f61cbce
的使用者,該名稱來自於 OpenStack Project Name。
若針對本篇教學有任何疑問或有敘述錯誤的地方,歡迎在底下留言討論唷~