第 6 章 使用 director Operator 配置和部署 overcloud


在为 overcloud 置备虚拟和裸机节点后,您可以配置 overcloud 节点。您必须创建一个 OpenStackConfigGenerator 资源来生成 Ansible playbook,将节点注册到红帽客户门户网站或 Red Hat Satellite,然后创建一个 OpenStackDeploy 资源来将配置应用到节点。

6.1. 使用 OpenStackConfigGenerator CRD 创建用于 overcloud 配置的 Ansible playbook

置备 overcloud 基础架构后,您必须创建一组 Ansible playbook,以便在 overcloud 节点上配置 Red Hat OpenStack Platform (RHOSP)。您可以使用 OpenStackConfigGenerator 自定义资源定义(CRD)创建这些 playbook。OpenStackConfigGenerator CRD 使用 RHOSP director config-download 功能将 heat 配置转换为 playbook。

提示

使用以下命令查看 OpenStackConfigGenerator CRD 定义和规格模式:

$ oc describe crd openstackconfiggenerator

$ oc explain openstackconfiggenerator.spec

先决条件

  • 您已创建了带有 OpenStackControlPlane CRD 的 control plane。
  • 已使用 OpenStackBarementalSets CRD 创建 Compute 节点。
  • 您已创建了包含自定义 heat 模板的 ConfigMap 对象。
  • 您已创建了包含自定义环境文件的 ConfigMap 对象。

流程

  1. 在工作站上创建一个名为 openstack-config-generator.yaml 的文件。包含用于生成 Ansible playbook 的资源规格。以下示例定义了生成 playbook 的规格:

    apiVersion: osp-director.openstack.org/v1beta1
    kind: OpenStackConfigGenerator
    metadata:
      name: default 1
      namespace: openstack
    spec:
      enableFencing: true 2
      gitSecret: git-secret 3
      imageURL: registry.redhat.io/rhosp-rhel8/openstack-tripleoclient:17.1
      heatEnvConfigMap: heat-env-config 4
      # List of heat environment files to include from tripleo-heat-templates/environments
      heatEnvs: 5
      - ssl/tls-endpoints-public-dns.yaml
      - ssl/enable-tls.yaml
      tarballConfigMap: tripleo-tarball-config 6
    1
    配置生成器的名称,默认为
    2
    设置为 true 以启用自动创建所需的 heat 环境文件以启用隔离。生产环境 RHOSP 环境必须启用隔离。运行 Pacemaker 的虚拟机需要 fence-agents-kubevirt 软件包。
    3
    设置为包含 Git 身份验证凭据的 ConfigMap 对象,默认为 git-secret
    4
    默认情况下,包含自定义环境文件的 ConfigMap 对象(默认为 heat-env-config )。
    5
    tripleo-heat-templates/environments 目录中由 TripleO 提供的默认 heat 环境文件列表,用于生成 playbook。
    6
    默认情况下,包含带有自定义 heat 模板的 tarball 的 ConfigMap 对象默认为 tripleo-tarball-config
  2. 可选: 要更改 OpenStackConfigGenerator CR 用来创建临时 heat 服务的容器镜像位置,请在 openstack-config-generator.yaml 文件中添加以下配置:

    spec:
      ...​
      ephemeralHeatSettings:
        heatAPIImageURL: <heat_api_image_location>
        heatEngineImageURL: <heat_engine_image_location>
        mariadbImageURL: <mariadb_image_location>
        rabbitImageURL: <rabbitmq_image_location>
    • <heat_api_image_location > 替换为托管 heat API 镜像的目录的路径,openstack-heat-api
    • <heat_engine_image_location > 替换为托管 heat 引擎镜像的目录的路径,即 openstack-heat-engine
    • <mariadb_image_location > 替换为托管 MariaDB 镜像的目录的路径,openstack-mariadb
    • <rabbitmq_image_location > 替换为托管 RabbitMQ 镜像的目录的路径,openstack-rabbitmq
  3. 可选: 要在 debug 模式中为生成配置创建 Ansible playbook,请在 openstack-config-generator.yaml 文件中添加以下配置:

    spec:
      ...​
      interactive: true

    有关在交互模式中调试 OpenStackConfigGenerator pod 的更多信息,请参阅 调试配置生成

  4. 保存 openstack-config-generator.yaml 文件。
  5. 创建 Ansible 配置生成器:

    $ oc create -f openstack-config-generator.yaml -n openstack
  6. 验证是否已创建配置生成器的资源:

    $ oc get openstackconfiggenerator/default -n openstack
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.