Bosh Ceph Blobstore

Bosh CEPH Blobstore

我的团队想要将 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(如果您碰巧以一个为目标)。假设您在地址 IP_ADDRESS:PORT 有一家商店,其中有一个名为 BUCKET 的现有存储桶以及键 ACCESS_KEYSECRET_ACCESS_KEYconfig/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 验证,这包括在 s3_port 选项下添加 ssl_verify_peer: false(即嵌套是 blobstore -> s3 -> ssl_verify_peer。此时调用 bosh upload blobs 将按预期工作。

将 CEPH/Rados 存储告知 BOSH VM 部署清单文件需要包含 private.yml 中的项目和 blobstore 属性部分中的存储桶名称。

编辑 2015 年 8 月 20 日 根据 Ceph 网站 http://ceph.com/docs/master/radosgw/s3/#api,目前不支持 Bucket 策略。因此,存储桶可读的事实不会被存储桶的对象继承。这意味着如果使用 CEPH 存储代替官方 Amazon S3 进行存储,则 config/private.yml 文件是必需的。