12.2. 使用外部 Ceph 密钥

您只能使用已部署的密钥。有关使用 外部 密钥部署站点的详情,请参考 第 12.1 节 “创建用于外部访问的 Ceph 密钥”。这应该为中央和边缘站点完成。

  • 当您部署使用中心提供的一个外部密钥的边缘站点时,请完成以下操作:

    1. 为边缘站点创建 dcn_ceph_external.yaml 环境文件。您必须包含 cephx-key-client-name 选项,才能指定要包含的部署密钥。

      sudo -E openstack overcloud export ceph \
      --stack central \
      --cephx-key-client-name external \
      --output-file ~/dcn-common/dcn_ceph_external.yaml
    2. 包含 dcn_ceph_external.yaml 文件,以便边缘站点可以访问中央站点的 Ceph 集群。包含 ceph_keys.yaml 文件,以在边缘站点为 Ceph 集群部署外部密钥。
  • 当您在部署边缘站点后更新中央位置时,请确保中央位置使用 dcn 外部 密钥:

    1. 确保 CephClientUserName 参数与所导出的密钥匹配。如果您使用这些示例所示的名称 external,请创建 glance_update.yaml 类似于以下内容:

        parameter_defaults:
          GlanceEnabledImportMethods: web-download,copy-image
          GlanceBackend: rbd
          GlanceStoreDescription: 'central rbd glance store'
          CephClusterName: central
          GlanceBackendID: central
          GlanceMultistoreConfig:
          dcn0:
             GlanceBackend: rbd
            GlanceStoreDescription: 'dcn0 rbd glance store'
            CephClientUserName: 'external'
            CephClusterName: dcn0
            GlanceBackendID: dcn0
          dcn1:
            GlanceBackend: rbd
            GlanceStoreDescription: 'dcn1 rbd glance store'
            CephClientUserName: 'external'
            CephClusterName: dcn1
            GlanceBackendID: dcn1
    2. 使用 openstack overcloud export ceph 命令,使其包含从中央位置访问 DCN 边缘访问 的外部 密钥。要做到这一点,您必须为 --stack 参数提供一个以逗号分隔的堆栈列表,并包含 cephx-key-client-name 选项:

      sudo -E openstack overcloud export ceph \
      --stack dcn0,dcn1,dcn2 \
      --cephx-key-client-name external \
      --output-file ~/central/dcn_ceph_external.yaml
    3. 使用原始模板重新部署中央站点,并包含新创建的 dcn_ceph_external.yamlglance_update.yaml 文件。

      openstack overcloud deploy \
             --stack central \
             --templates /usr/share/openstack-tripleo-heat-templates/ \
             -r ~/central/central_roles.yaml \
          ...
             -e /usr/share/openstack-tripleo-heat-templates/environments/cephadm/cephadm.yaml \
             -e /usr/share/openstack-tripleo-heat-templates/environments/nova-az-config.yaml \
             -e ~/central/central-images-env.yaml \
             -e ~/central/role-counts.yaml \
             -e ~/central/site-name.yaml
             -e ~/central/ceph.yaml \
             -e ~/central/ceph_keys.yaml \
             -e ~/central/glance.yaml \
             -e ~/central/dcn_ceph_external.yaml