第 5 章 安装中央位置


当您使用分布式计算节点(DCN)架构部署 Red Hat OpenStack 平台时,您必须提前决定您的存储策略。如果您在中央位置没有 Red Hat Ceph Storage 部署 Red Hat OpenStack Platform,则无法使用 Red Hat Ceph Storage 部署任何边缘站点。此外,您无法选择通过重新部署将 Red Hat Ceph Storage 添加到中央位置。

当您为分布式计算节点(DCN)架构部署中央位置时,您可以部署集群:

  • 使用或不使用 Compute 节点
  • 使用或不使用 Red Hat Ceph Storage

5.1. 在没有边缘存储的情况下部署中央控制器

如果您使用 Object Storage 服务(swift)作为中央位置镜像服务(glance)的后端,您可以在边缘站点部署没有块存储的分布式计算节点集群。因为每个架构的不同角色和网络配置集,以后无法更新没有块存储的站点,使其具有块存储。

重要:以下步骤使用 lvm 作为 Cinder 的后端,在生产环境中不支持。您必须将经认证的块存储解决方案部署为 Cinder 的后端。

以类似于典型的 overcloud 部署的方式部署中央控制器集群。此集群不需要任何 Compute 节点,因此您可以将 Compute 数量设置为 0 来覆盖默认值 1。Central 控制器具有特定的存储和 Oslo 配置要求。使用以下步骤满足这些要求。

先决条件

  • 您必须创建特定于环境的 network_data.yamlvip_data.yaml 文件。您可以在 /usr/share/openstack-tripleo-heat-templates/network-data-samples 中找到示例文件。
  • 您必须创建一个特定于您的环境的 overcloud-baremetal-deploy.yaml 文件。有关更多信息,请参阅为 overcloud 置备裸机节点

流程

以下流程概述了中央位置初始部署的步骤。

注意

以下步骤详细介绍了与 DCN 部署关联的部署命令和环境文件,而无需 glance 多存储。这些步骤不包括不相关的、但在网络等配置的各个方面。

  1. 以 stack 用户身份登录 undercloud。
  2. 查找 stackrc 文件:

    [stack@director ~]$ source /home/stack/stackrc
  3. 生成环境文件:

    sudo openstack tripleo container image prepare \
    -e containers.yaml \
    --output-env-file /home/stack/central/central-images-env.yaml
  4. 在主目录中,为您计划部署的每个堆栈创建目录。将中央位置的 network_data.yamlvip_data.yamlovercloud-baremetal-deploy.yaml 模板移到 /home/stack/central/

    mkdir /home/stack/central
    mkdir /home/stack/dcn0
    mkdir /home/stack/dcn1
    
    mv network_data.yaml /home/stack/central
    mv vip_data.yaml /home/stack/central
    mv overcloud-baremetal-deploy.yaml /home/stack/central
  5. 为 overcloud 置备网络。此命令为 overcloud 网络使用一个定义文件作为输入。您必须使用命令中的输出文件来部署 overcloud:

    (undercloud)$ openstack overcloud network provision \
    --output /home/stack/central/overcloud-networks-deployed.yaml \
    /home/stack/central/network_data.yaml
  6. 为 overcloud 置备虚拟 IP。此命令使用虚拟 IP 的定义文件作为输入。您必须使用命令中的输出文件来部署 overcloud:

    (undercloud)$ openstack overcloud network vip provision \
    --stack central \
    --output /home/stack/central/overcloud-vip-deployed.yaml \
    /home/stack/central/vip_data.yaml
  7. 置备裸机实例。该命令为裸机节点使用一个定义文件作为输入。您必须使用命令中的输出文件来部署 overcloud:

    (undercloud)$ openstack overcloud node provision \
    --stack central \
    --network-config \
    -o /home/stack/central/deployed_metal.yaml \
    /home/stack/central/overcloud-baremetal-deploy.yaml
  8. 使用类似如下的设置,创建一个名为 central/overrides.yaml 的文件:

    parameter_defaults:
      NtpServer:
        - 0.pool.ntp.org
        - 1.pool.ntp.org
      GlanceBackend: swift
    • ControllerCount:3 指定将部署三个节点。这些会将 swift 用于 glance,lvm 用于 cinder,并为边缘计算节点托管 control-plane 服务。
    • ComputeCount: 0 是一个可选参数,可防止使用中央 Controller 节点部署 Compute 节点。
    • GlanceBackend: swift 使用 Object Storage (swift)作为镜像服务(glance)后端。

      生成的配置通过以下方式与分布式计算节点(DCN)交互:

    • DCN 上的镜像服务创建从中央对象存储后端接收的镜像的缓存副本。镜像服务使用 HTTP 将镜像从对象存储复制到本地磁盘缓存中。

      注意

      中央 Controller 节点必须能够连接到分布式计算节点(DCN)站点。中央 Controller 节点可以使用路由层 3 连接。

  9. site-name.yaml 环境文件中为站点配置命名约定。Nova 可用区 Cinder 存储可用区必须匹配:

    cat > /home/stack/central/site-name.yaml << EOF
    parameter_defaults:
        NovaComputeAvailabilityZone: central
        ControllerExtraConfig:
            nova::availability_zone::default_schedule_zone: central
        NovaCrossAZAttach: false
    EOF
  10. 部署中央 Controller 节点。例如,您可以使用包含以下内容的 deploy.sh 文件:

    openstack overcloud deploy \
    --deployed-server \
    --stack central \
    --templates /usr/share/openstack-tripleo-heat-templates/ \
    -n /home/stack/central/network_data.yaml \
    -e /usr/share/openstack-tripleo-heat-templates/environments/network-environment.yaml \
    -e /usr/share/openstack-tripleo-heat-templates/environments/podman.yaml \
    -e /usr/share/openstack-tripleo-heat-templates/environments/nova-az-config.yaml \
    -e /home/stack/central/overcloud-networks-deployed.yaml \
    -e /home/stack/central/overcloud-vip-deployed.yaml \
    -e /home/stack/central/deployed_metal.yaml
注意

您必须在 openstack overcloud deploy 命令中包含用于配置网络配置的 heat 模板。为边缘架构设计需要 spine 和 leaf 网络。如需了解更多详细信息,请参阅 Spine Leaf Networking

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.