文档章节

rgw s3与keystone集成简要文档

2
 25641463
发布于 2017/01/24 14:13
字数 780
阅读 210
收藏 0
点赞 0
评论 0

    虽然ceph官网有对rgw与keystone集成的描述。但是描述确实不够详细,尤其对keystone v2及v3的配置容易让使用者混淆。导致在部署过程中会遇到很多问题,下面具体描述一下L版openstack与J版ceph的keystone v2配置过程。

一、      背景介绍

      Ceph对象存储模块rgw与keystone可以对接。从而实现所有的对象存储帐号信息可以由keystone管理,keystone负责保存和认证swift和s3的账户及密码。这些账号信息不必在rgw中手动创建。在cliend端连接s3及swift时,rgw会向keystone发送认证请求,是否通过认证由keystone决定。

二、      配置文档

1.ceph配置

Rgw支持keystone v2及keystone v3认证。针对我的keystone v2生产环境,rgw 所需配置如下:

#开启s3 keystone认证

rgw_s3_auth_use_keystone = true

#keystone服务认证endpoint地址。s3作为内部服务,社区建议使用35357内部端口。

rgw_keystone_url = http://192.168.242.128:35357

#生产环境建议关闭admin_token认证。采用下列user,password,tenant组合替代

#rgw_keystone_admin_token = 1

#keystone中admin的信息

#如果采用admin_user的方式登录,需要配置nss_db_path地址

nss_db_path = /var/ceph/nss

rgw_keystone_admin_user = admin

rgw_keystone_admin_password = 1

rgw_keystone_admin_tenant=admin

#keystone v2认证

rgw_keystone_api_version = 2

#目前生产环境keystone没有开启ssl认证,所以关闭此认证。

rgw_keystone_verify_ssl=false

#rgw接受keystone中的角色名称。

rgw_keystone_accepted_roles = _member_, Member, admin

2.keystone配置

修改/etc/keystone/keystone-paste.ini如下字段,为如下红色字体

[filter:revoke_extension]

paste.filter_factory = keystone.contrib.s3:S3Extension.factory

[pipeline:public_api]

# The last item in this pipeline must be public_service or an equivalent

# application. It cannot be a filter.

pipeline = sizelimit url_normalize request_id build_auth_context token_auth admin_token_auth json_body ec2_extension s3_extension user_crud_extension public_service

[pipeline:admin_api]

# The last item in this pipeline must be admin_service or an equivalent

# application. It cannot be a filter.

pipeline = sizelimit url_normalize request_id build_auth_context token_auth admin_token_auth json_body ec2_extension s3_extension crud_extension admin_service

3.生成PKI(admin_token方式不需要)

keystone-manage pki_setup

4.重启keystone服务

5.创建swift服务

keystone service-create --name swift --type object-store
keystone endpoint-create --service-id <id> --publicurl http://radosgw.example.com/swift/v1 \
        --internalurl http://radosgw.example.com/swift/v1 --adminurl http://radosgw.example.com/swift/v1

6.签名pki(必须切换到root用户,sudo的方式报错)

mkdir /var/ceph/nss

openssl x509 -in /etc/keystone/ssl/certs/ca.pem -pubkey | \
        certutil -d /var/ceph/nss -A -n ca -t "TCu,Cu,Tuw"
openssl x509 -in /etc/keystone/ssl/certs/signing_cert.pem -pubkey | \
        certutil -A -d /var/ceph/nss -n signing_cert -t "P,P,P"

7.把生成的/var/ceph/nss/下的文件拷贝到rgw主机下的(nss_db_path )这个目录并修改为ceph:ceph用户/组。

8.启动rgw服务

通过openstack ec2系列命令可以创建下列AWS方式的访问账户。Access Key和Secret Key用来访问S3。

     Rgw 的账户对应于Keystone的租户。Keystone中的user对应Gateway中的subuser。在S3中,没有subuser的概念,因此ec2命令生成的多个access、secret key如果所属于一个Project ID,则访问的是相同的bucket资源。。同时需要注意的是,如果私有云使用s3作为backup或者轻量级io负载,keystone认证是没问题的。如果io请求负载过大,会使keystone的验证成为瓶颈,并且导致s3的请求超时,详细信息请搜索《Mirantis-Technical-Bulletin-S3-API-Keystone-integration-in-Ceph-RADOS-Gateway.pdf》

© 著作权归作者所有

共有 人打赏支持
2
粉丝 7
博文 15
码字总数 8009
作品 0
沈阳
高级程序员
RGW S3 Authorize解析

截止到目前为止,RGW S3的认证部分支持AWS v4认证、AWS v2认证以及匿名用户认证。这三种认证的总入口位于rgwprocess.cc::processrequest()函数,该函数中处理认证部分的代码如下: rgwproce...

linuxhunter
2016/04/18
267
0
Ceph v0.87.1 发行说明,分布式文件系统

Ceph v0.87.1 发布,此版本是 Giant 第一个关键版本,也许是最终版本,主要关注 Hammer 和 Firefly 稳定性修复。 建议所有用户升级到最新版本! UPGRADING 因为 Linux Kernel 3.18 版本的改进...

oschina
2015/02/27
613
1
ceph 0.80.11 发布,分布式文件系统

ceph 0.80.11 发布,主要更新如下: build/ops: ceph.spec.in: package mkcephfs on EL6 (issue#11955, pr#4924, Ken Dreyer) build/ops: debian: ceph-test and rest-bench debug packages......

oschina
2015/11/20
1K
5
RGW S3 CORS解析

一、RGW S3 CORS核心类关系图。 二、RGW S3 CORS处理类关系图。 三、RGW S3 CORS操作解析。 1、PUT CORS操作。 RGWPutCORS::execute() |RGWPutCORSObjStoreS3::getparams() |从HTTP请求数据流...

linuxhunter
2016/04/14
184
0
RGW S3 Multipart解析

S3分段上传技术主要应用在大文件的数据上传上,通常在S3客户端会对上传的大文件做一次分片操作。在RGW内部还会对S3客户端发送过来的数据再进行一次分片处理,RGW默认分片大小是4MB。下面就M...

linuxhunter
2016/04/13
255
1
RGW S3 ACL解析

RGW ACL主要类关系图如下图所示: RGW ACL处理类关系图如下图所示: RGW ACL主要处理流程详细说明如下。 一、PUT ACL。 RGWPutACL::execute() |从HTTP请求数据流中解析出RGWAccessControlPol...

linuxhunter
2016/04/14
89
0
Ceph v0.93 发布,分布式文件系统

Ceph v0.93 发布,此版本是开发版本,现已提供下载:src="https://github.com/ceph/ceph/archive/v0.93.zip" href="https://github.com/ceph/ceph/archive/v0.93.zip">https://github.com/c......

oschina
2015/02/28
1K
4
RadosGW框架分析

RadosGW分析。 一、RadosGW的main()函数解析。 RadosGW的main()函数位于rgwmain.cc中,该函数是RadosGW的入口函数。这里主要解析和RadosGW相关的内容,尽量省略WebServer的内容。 main()函数...

linuxhunter
2016/04/07
529
1
Ceph v0.94.3 发布,分布式文件系统

Ceph v0.94.3 发布,建议所有0.94.x的用户更新,主要更新内容如下: 升级 The pg ls-by-{pool,primary,osd} commands and pg ls now take the argument recovering instead of recovery in o......

oschina
2015/08/28
1K
4
Ceph v0.80.9 发行说明,分布式文件系统

Ceph v0.80.9 昨天正式发布:http://www.oschina.net/news/60353/ceph-0-80-9。 Ceph v0.80.9 firefly 是个 bug 修复版本,修复了 librbd 的性能回退问题;一个重要的 CRUSH 误操作;一些 RG...

oschina
2015/03/11
904
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

ndarray花式索引

花式索引 花式索引(Fancy indexing)是一个NumPy术语,它指的是利用整数数组进行索引。假设我们有一个8×4数组: In [117]: arr = np.empty((8, 4))In [118]: for i in range(8): ....

火力全開
4分钟前
0
0
Mybaties报错Error querying database

Mybaties我们经常用到动态SQL,如下我们利用动态去做判断,这样写当然没问题,但是当我们不是去判断orgCode(本文中orgCode一直为String类型)是否为空而是判断orgCode是否是一个值的时候该怎...

王子城
6分钟前
0
0
Android 调用手机自带的下载器下载

亲测有用,原文下载地址: 原文地址:https://blog.csdn.net/weixin_36554045/article/details/79108796 下面是原文: 创建一个广播类 public class UpdataBroadcastReceiver extends Broad...

她叫我小渝
10分钟前
0
0
idea工具debug断点红色变成灰色,断点无效

来自:idea工具debug断点红色变成灰色 没事别瞎点,禁用了断点当然不走了 看这篇博客底下的评论笑死我了 真香警告!

不开心的时候不要学习
12分钟前
0
0
知识点总结

jq如何拿到data-info的自定义属性 1.1 原生可以获取到所有属性el.attrbutes 1.2 jq的$(el).attr('属性名称') 继承的几种方式,原型链 2.1 扩展原型对象实现继承 2.2 替换原型对象实现继承 2....

litCabbage
15分钟前
0
0
python语言规范

http://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_style_rules/...

ghou-靠墙哭
19分钟前
0
0
istio 监控,遥测 (理论)

Istio提供了一种灵活的模型来强制执行授权策略并收集网格中服务的遥测。 基础架构后端旨在提供用于构建服务的支持功能。它们包括诸如访问控制系统,遥测捕获系统,配额执行系统,计费系统等之...

xiaomin0322
21分钟前
0
0
阿里资深专家面试问题收集

corejava hashcode相等的两个对象一定相等吗?equals呢?反过来相等吗? 介绍一下集合框架? hashtable,hashmap底层实现是什么?hashtable和concurrenthashmap底层实现的区别? hashmap和treemap的...

undefine
22分钟前
8
0
alpine安装软件指定安装源

linux-alpine安装软件指定安装源 一、永久修改apk下载源地址 vi etc/apk/repositories 替换成阿里源 http://mirrors.aliyun.com/alpine/v3.8/main/http://mirrors.aliyun.com/alpine/v3...

我心中有猛狗
22分钟前
0
0
Centos7通过yum安装nginx

添加源地址(直接install可能不是最新版本的) sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 安装 sudo yum install -y ng......

iplusx
24分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部