17.3. 使用外部对象存储集群

您可以通过在 Controller 节点上禁用默认对象存储服务部署来重复使用外部 OpenStack Object Storage (swift)集群。这会禁用 Object Storage 的代理和存储服务,并配置 haproxy 和 OpenStack 标识(keystone),以使用给定的外部对象存储端点。

注意

您必须手动管理外部 Object Storage (swift)集群上的用户帐户。

先决条件

  • 您需要外部 Object Storage 集群的端点 IP 地址,以及来自外部 Object Storage proxy-server.conf 文件的 authtoken 密码。您可以使用 openstack endpoint list 命令查找此信息。

流程

  1. 使用以下内容创建名为 swift-external-params.yaml 的新文件:

    • EXTERNAL.IP:PORT 替换为外部代理的 IP 地址和端口,
    • AUTHTOKEN 替换为 SwiftPassword 行上外部代理的 authtoken 密码。

      parameter_defaults:
        ExternalPublicUrl: 'https://EXTERNAL.IP:PORT/v1/AUTH_%(tenant_id)s'
        ExternalInternalUrl: 'http://192.168.24.9:8080/v1/AUTH_%(tenant_id)s'
        ExternalAdminUrl: 'http://192.168.24.9:8080'
        ExternalSwiftUserTenant: 'service'
        SwiftPassword: AUTHTOKEN
  2. 将此文件保存为 swift-external-params.yaml
  3. 使用以下外部对象存储服务环境文件以及与部署相关的任何其他环境文件,部署 overcloud:

    openstack overcloud deploy --templates \
    -e [your environment files] \
    -e /usr/share/openstack-tripleo-heat-templates/environments/swift-external.yaml \
    -e swift-external-params.yaml