第 13 章 创建用于外部访问的 Ceph 密钥
这个功能的内容在此发行版本中作为 文档预览 提供,因此红帽不会完全验证。仅用于测试,不要在生产环境中使用。
对 Ceph 存储的外部访问是从不是本地的站点访问 Ceph。Ceph 存储在边缘(DCN)站点外部,就像位于边缘的 Ceph 存储对中央位置外部使用。
当您使用 Ceph 存储部署 central 或 DCN 站点时,您可以选择将默认的 openstack keyring 用于本地和外部访问。Altenatively,您可以创建单独的密钥供非本地站点访问。
如果您决定使用额外的 Ceph 密钥来访问外部站点,每个密钥必须具有相同的名称。在下面的示例中,密钥名称为 external。
如果您使用单独的密钥供非本地站点访问,您可以在不中断本地访问的情况下撤销和重新发布外部密钥以响应安全事件。但是,将单独的密钥用于外部访问将导致无法访问某些功能,如跨可用性区域备份和离线卷迁移。您必须平衡安全性与所需功能集的需求。
默认情况下,中央和所有 DCN 站点的密钥将被共享。
13.1. 创建用于外部访问的 Ceph 密钥 复制链接链接已复制到粘贴板!
完成以下步骤,为非本地访问创建 外部 密钥。
流程
创建用于外部访问的 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())'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 Copied! Toggle word wrap Toggle overflow 在您要部署的堆栈的目录中,使用上一命令的输出为密钥创建一个
ceph_keys.yaml环境文件,其中包含以下内容:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在站点的部署中包含
ceph_keys.yaml环境文件。例如,要使用ceph_keys.yaml环境文件部署中央站点,请运行以下命令:overcloud deploy \ --stack central \ --templates /usr/share/openstack-tripleo-heat-templates/ \ …. -e ~/central/ceph_keys.yamlovercloud deploy \ --stack central \ --templates /usr/share/openstack-tripleo-heat-templates/ \ …. -e ~/central/ceph_keys.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow