第 12 章 创建用于外部访问的 Ceph 密钥


警告

本发行版本中提供了此功能的内容作为 文档预览,因此不由红帽完全验证。它只用于测试,不要在生产环境中使用。

对 Ceph 存储的外部访问是从不是本地的任何站点访问 Ceph。位于 cental 位置的 Ceph 存储是边缘(DCN)站点外部的,就像位于边缘的 Ceph 存储一样,对于中央位置是外部的。

使用 Ceph 存储部署 central 或 DCN 站点时,您可以选择将默认的 openstack 密钥环用于本地和外部访问。备用情况下,您可以创建单独的密钥以供非本地站点访问。

如果您决定使用额外的 Ceph 密钥访问外部站点,每个密钥必须具有相同的名称。在以下示例中 key 的名称是 external

如果您使用单独的密钥通过非本地站点访问,您可以在不中断本地访问的情况下撤销和重新发布外部密钥以响应安全事件。但是,将单独的密钥用于外部访问将导致无法访问某些功能,如跨可用区备份和离线卷迁移。您必须根据所需的功能集平衡安全状况的需求。

默认情况下,central 和所有 DCN 站点的密钥将被共享。

12.1. 创建用于外部访问的 Ceph 密钥

完成以下步骤,为非本地访问创建 外部 密钥。

Process

  1. 创建用于外部访问的 Ceph 密钥。这个密钥是敏感的。您可以使用以下方法生成密钥:

    python3 -c 'import os,struct,time,base64; key = os.urandom(16) ; \
    header = struct.pack("<hiih", 1, int(time.time()), 0, len(key)) ; \
    print(base64.b64encode(header + key).decode())'
    Copy to Clipboard Toggle word wrap
  2. 在您要部署的堆栈的目录中,使用上一命令的输出为密钥创建一个 ceph_keys.yaml 环境文件,其内容如下:

    parameter_defaults:
      CephExtraKeys:
        - name: "client.external"
          caps:
            mgr: "allow *"
            mon: "profile rbd"
            osd: "profile rbd pool=vms, profile rbd pool=volumes, profile rbd pool=images"
          key: "AQD29WteAAAAABAAphgOjFD7nyjdYe8Lz0mQ5Q=="
          mode: "0600"
    Copy to Clipboard Toggle word wrap
  3. 在站点的部署中包含 ceph_keys.yaml 环境文件。例如,要使用 ceph_keys.yaml 环境文件部署中央站点,请运行以下命令:

     overcloud deploy \
             --stack central \
             --templates /usr/share/openstack-tripleo-heat-templates/ \
             ….
             -e ~/central/ceph_keys.yaml
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat