1、安装Ceph对象网关
从管理节点的工作目录,在ceph_admin节点上安装 Ceph 对象网关软件包
ceph-deploy install --rgw ceph_admin
2、 ceph-deploy rgw create ceph_admin
3、通过7480端口来访问
http://10.20.10.215:7480/
4、为S3访问新建一个RADOSGW用户
为了使用 REST 接口, 首先需要为 S3 接口初始化一个 Ceph 对象网关用户. 然后为 Swift 接口新建一个子用户.
sudo radosgw-admin user create --uid="yuanfan2020" --display-name="yuanfan2012 test"
5、创建一个SWIFT用户
如果要通过 Swift 访问,必须创建一个 Swift 子用户。需要分两步完成,第一步是创建用户,第二步创建密钥。
在 gateway host 主机上进行如下操作:
1)创建 Swift 用户:
sudo radosgw-admin subuser create --uid=yuanfan2020 --subuser=yuanfan2020:swift --access=full
2)创建用户的密钥:
sudo radosgw-admin key create --subuser=yuanfan2020:swift --key-type=swift --gen-secret
6、测试S3访问
你需要写一个 Python 测试脚本,并运行它以验证 S3 访问. S3 访问测试脚本将会连接 radosgw, 然后新建一个新的 bucket 再列出所有的 buckets.aws_access_key_id 和 aws_secret_access_key 的值就是前面radosgw_admin 命令的返回值中的 access_key 和 secret_key.
1)yum install python-boto
2)vi s3test.py
import boto
import boto.s3.connection
access_key = 'FNH3FUBB27GRDID62DJY'
secret_key = 'TqdjLKVgjYWiNHUHuiTKCx3huEQg4kDtMVnZg6pe'
conn = boto.connect_s3(
aws_access_key_id = access_key,
aws_secret_access_key = secret_key,
host = '10.20.10.215',port=7480,
is_secure=False,
calling_format = boto.s3.connection.OrdinaryCallingFormat(),
)
bucket = conn.create_bucket('yuanfan2012-new-bucket')
for bucket in conn.get_all_buckets():
print "{name}t{created}".format(
name = bucket.name,
created = bucket.creation_date,
)
3)python s3test.py
7、测试SWIFT访问
Swift 访问能够通过 swift 命令行客户端来验证
1)yum install python-setuptools
2)easy_install pip
3)pip install --upgrade setuptools
4)pip install --upgrade python-swiftclient 安装``swift`` 客户端
5)验证
swift -A http://10.20.10.215:7480/auth/1.0 -U yuanfan2020:swift -K 'wKxrZUHksKPYtO1qNCrRWwLGsX05bxKyJrDOnmoM' list
看到上面的输出,说明swift接口正常