搜索

3.3. 部署 overcloud

download PDF

使用您创建的环境文件部署 overcloud。

流程

  • 创建 overcloud 需要额外的参数来用于 openstack overcloud deploy 命令:

    $ openstack overcloud deploy --templates \
      -e /usr/share/openstack-tripleo-heat-templates/environments/external-ceph.yaml \
      -e /home/stack/templates/ceph-config.yaml \
      -e --ntp-server pool.ntp.org \
      ...

    这个示例命令使用以下选项:

  • --templates - 从默认的 heat 模板集合 /usr/share/openstack-tripleo-heat-templates/ 创建 overcloud。

    • -e /usr/share/openstack-tripleo-heat-templates/environments/external-ceph.yaml - 设置 director 以将现有的 Ceph Storage 集群集成到 overcloud。
    • -e /home/stack/templates/ceph-config.yaml - 添加自定义环境文件来覆盖由 -e /usr/share/openstack-tripleo-heat-templates/environments/external-ceph.yaml 设置的默认值。
    • --ntp-server pool.ntp.org - 设置 NTP 服务器。

3.3.1. 使用 CephFS 为共享文件系统服务添加环境文件

如果部署使用带有 CephFS 的共享文件系统服务(manila)的 overcloud,您必须添加额外的环境文件。

流程

  1. 创建并添加额外环境文件:

  2. 根据您使用的 CephFS 后端,修改 openstack overcloud deploy 命令。

    • 对于原生 CephFS:

       $ openstack overcloud deploy --templates \
         -e /usr/share/openstack-tripleo-heat-templates/environments/external-ceph.yaml \
         -e /usr/share/openstack-tripleo-heat-templates/environments/manila-cephfsnative-config.yaml \
         -e /home/stack/templates/ceph-config.yaml \
         -e --ntp-server pool.ntp.org
         ...
    • 对于 CephFS-NFS:

       $ openstack overcloud deploy --templates \
           -r /home/stack/custom_roles.yaml \
           -e /usr/share/openstack-tripleo-heat-templates/environments/external-ceph.yaml \
           -e /usr/share/openstack-tripleo-heat-templates/environments/manila-cephfsganesha-config.yaml \
           -e /home/stack/templates/ceph-config.yaml \
           -e /home/stack/templates/overcloud-networks-deployed.yaml\
           -e /home/stack/templates/overcloud-vip-deployed.yaml \
           -e --ntp-server pool.ntp.org
           ...
      注意

      自定义 ceph-config.yaml 环境文件会覆盖 external-ceph.yaml 文件中的参数,以及 manila-cephfsnative-config.yaml 文件或 manila-cephfsganesha-config.yaml 文件中的参数。因此,在 external-ceph.yamlmanila-cephfsnative-config.yamlmanila-cephfsganesha-config.yaml 后,将自定义的 ceph-config.yaml 环境文件包含在部署命令中。

      环境文件示例

      parameter_defaults:
          CinderEnableIscsiBackend: false
          CinderEnableRbdBackend: true
          CinderEnableNfsBackend: false
          NovaEnableRbdBackend: true
          GlanceBackend: rbd
          CinderRbdPoolName: "volumes"
          NovaRbdPoolName: "vms"
          GlanceRbdPoolName: "images"
          CinderBackupRbdPoolName: "backups"
          CephClusterFSID: <cluster_ID>
          CephExternalMonHost: <IP_address>,<IP_address>,<IP_address>
          CephClientKey: "<client_key>"
          CephClientUserName: "openstack"
          ManilaCephFSDataPoolName: manila_data
          ManilaCephFSMetadataPoolName: manila_metadata
          ManilaCephFSCephFSAuthId: 'manila'
          CephManilaClientKey: '<client_key>'
          ExtraConfig:

      • 根据您的具体环境,替换 <cluster_ID>, <IP_address>, 和 <client_key> 的值。

其他资源

3.3.2. 为对象存储添加外部 Ceph 对象网关(RGW)的额外环境文件

如果部署使用已存在的 RGW 服务进行对象存储的 overcloud,您必须添加额外的环境文件。

流程

  1. 将以下 parameter_defaults 添加到自定义环境文件中,如 swift-external-params.yaml,并调整值以适合您的部署:

    parameter_defaults:
       ExternalSwiftPublicUrl: 'http://<Public RGW endpoint or loadbalancer>:8080/swift/v1/AUTH_%(project_id)s'
       ExternalSwiftInternalUrl: 'http://<Internal RGW endpoint>:8080/swift/v1/AUTH_%(project_id)s'
       ExternalSwiftAdminUrl: 'http://<Admin RGW endpoint>:8080/swift/v1/AUTH_%(project_id)s'
       ExternalSwiftUserTenant: 'service'
       SwiftPassword: 'choose_a_random_password'
    注意

    示例代码片段包含的参数值可能与您在环境中使用的值不同:

    • 远程 RGW 实例的默认端口为 8080。根据外部 RGW 的配置方式,端口可能会有所不同。
    • overcloud 中创建的 swift 用户使用 SwiftPassword 参数定义的密码。您必须使用 rgw_keystone_admin_password 将外部 RGW 实例配置为使用同一密码与 Identity 服务进行身份验证。
  2. 将以下代码添加到 Ceph 配置文件中,将 RGW 配置为使用 Identity 服务。替换要适合您的环境的变量值:

        rgw_keystone_api_version = 3
        rgw_keystone_url = http://<public Keystone endpoint>:5000/
        rgw_keystone_accepted_roles = member, Member, admin
        rgw_keystone_accepted_admin_roles = ResellerAdmin, swiftoperator
        rgw_keystone_admin_domain = default
        rgw_keystone_admin_project = service
        rgw_keystone_admin_user = swift
        rgw_keystone_admin_password = <password_as_defined_in_the_environment_parameters>
        rgw_keystone_implicit_tenants = true
        rgw_s3_auth_use_keystone = true
        rgw_swift_versioning_enabled = true
        rgw_swift_account_in_url = true
        rgw_max_attr_name_len = 128
        rgw_max_attrs_num_in_req = 90
        rgw_max_attr_size = 256
        rgw_keystone_verify_ssl = false
    注意

    director 默认在 Identity 服务中创建以下角色和用户:

    • rgw_keystone_accepted_admin_roles: ResellerAdmin, swiftoperator
    • rgw_keystone_admin_domain: default
    • rgw_keystone_admin_project: service
    • rgw_keystone_admin_user: swift
  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
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.