我的团队希望将我们的 BOSH 版本的 blob 存储在远程 blobstore 中。但是,我们有一个我们想要使用的内部 CEPH / Rados 存储。我知道 Rados 具有与 S3 兼容的接口,所以我想知道如何将它作为最终的 blobstore 启用。
我知道通常我只需要将访问密钥、秘密密钥和存储桶提供给 BOSH。但现在我还有一个 IP 主机(将来可能还有一个 url),它指定存储桶的存在位置。目前有没有办法设置它?
我的团队希望将我们的 BOSH 版本的 blob 存储在远程 blobstore 中。但是,我们有一个我们想要使用的内部 CEPH / Rados 存储。我知道 Rados 具有与 S3 兼容的接口,所以我想知道如何将它作为最终的 blobstore 启用。
我知道通常我只需要将访问密钥、秘密密钥和存储桶提供给 BOSH。但现在我还有一个 IP 主机(将来可能还有一个 url),它指定存储桶的存在位置。目前有没有办法设置它?
作为 BOSH 如何与 CEPH / Rados 存储交互的示例:
在内部 CEPH / Rados 存储中存储包
这需要配置发布以了解预期的 blobstore。请记住,当您运行bosh upload blobs
该命令时,如果您碰巧以 BOSH CLI 而非 BOSH 或 MicroBOSH VM 为目标,则该命令会解析该命令。假设您在 address 有一个商店,IP_ADDRESS:PORT
其中存在一个名为BUCKET
和键的存储桶ACCESS_KEY
和SECRET_ACCESS_KEY
. 该config/final.yml
文件应如下所示:
---
blobstore:
provider: s3
options:
bucket_name: BUCKET
host: IP_ADDRESS
s3_port: PORT
但该config/private.yml
文件应如下所示:
---
blobstore:
s3:
access_key_id: ACCESS_KEY
secret_access_key: SECRET_ACCESS_KEY
根据 CEPH 存储的设置方式,可能还需要关闭 ssl 验证,这将包括ssl_verify_peer: false
在s3_port
选项下添加(即嵌套将是blobstore
-> s3
-> ssl_verify_peer
。此时调用bosh upload blobs
将按预期工作。
告诉 BOSH VM 有关 CEPH / Rados 存储 的信息 部署清单文件需要在 private.yml 中包含项目,并在 blobstore 属性部分中包含存储桶名称。
编辑 2015 年 8 月 20 日
根据 CEPH 网站http://ceph.com/docs/master/radosgw/s3/#api,目前不支持存储桶策略。因此,存储桶可读的事实不会被存储桶的对象继承。这意味着,如果使用 CEPH 存储代替官方 Amazon S3 进行存储,则该config/private.yml
文件是强制性的。