测试访问 Swift 接口
注意,以下命令需要python环境和可用的pip服务。
如果没有会报错。
可参考连接安装pip3.5,然后把以下的pip换成 pip3.5执行。
centos6安装python3.5、pip3.5、easy_install-3.5
访问 Swift 接口可以通过 swift 命令行客户端来完成,然后通过客户端命令访问 Swift 接口。
# 安装 Swift 命令行客户端
$ sudo yum install python-setuptools
$ sudo easy_install pip
$ sudo pip install --upgrade setuptools
$ sudo pip install --upgrade python-swiftclient
# 访问 Swift 接口
$ swift -A http://admin:7480/auth/1.0 -U rgwuser:swift -K 'ja3mxJTGD7tvFsK1tVL8qScWPp2Wn657Jo4h4vLv' list
输出如下:
[zzq@localhost ~]$ swift -A http://admin:7480/auth/1.0 -U rgwuser:swift -K 'ja3mxJTGD7tvFsK1tVL8qScWPp2Wn657Jo4h4vLv' list
my-first-s3-bucket
[zzq@localhost ~]$
注意:admin可以替换为 为网关服务器的外网访问 IP 地址,这里为 admin-node 节点 IP,端口默认 7480,若已修改端口号,这里也需要对应修改一下。密钥 Key 为上边返回值中的 secret_key。
同样,测试通过。
更多swift信息参考:
https://www.swiftstack.com/docs/integration/python-swiftclient.html
删除子用户
sudo radosgw-admin subuser rm --subuser=rgwuser:swift
如果未正确生成swift的密码,而是用空密码访问的话会输出如下:
[zzq@localhost ~]$ swift -A http://admin:7480/auth/1.0 -U rgwuser:swift -K '' list
Auth version 1.0 requires ST_AUTH, ST_USER, and ST_KEY environment variables
to be set or overridden with -A, -U, or -K.
Auth version 2.0 requires OS_AUTH_URL, OS_USERNAME, OS_PASSWORD, and
OS_TENANT_NAME OS_TENANT_ID to be set or overridden with --os-auth-url,
--os-username, --os-password, --os-tenant-name or os-tenant-id. Note:
adding "-V 2" is necessary for this.
很多网上的帖子都是只创建了swift用户没有创建swift的key步骤,害人不浅,最终还是官网救了一命。
更多细节可参考官网:
http://docs.ceph.org.cn/radosgw/config/#id6
修改端口
如果我们想修改 7480 端口为其他值时,ceph 也是支持的,通过修改 Ceph 配置文件更改默认端口,然后重启 Ceph 对象网关即可。例如我们修改端口为 80。
修改 Ceph 配置文件
$ sudo vi /etc/ceph/ceph.conf
在 [global] 节点下增加
[client.rgw.admin]
rgw_frontends = "civetweb port=80"
重启 Ceph 对象网关
sudo systemctl restart ceph-radosgw.service #centos7
sudo service ceph-radosgw restart #centos6 |