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

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

前提条件

  • 确保 OpenShift Container Platform 集群正常运行,并且已正确安装了 director Operator。
  • 确保已在工作站上安装了 oc 命令行工具。
  • OpenStackControlPlane 和 OpenStackBarementalSets 根据需要创建。
  • 配置一个 git-secret Secret,其中包含远程 Git 存储库的身份验证详情。
  • 配置包含自定义 heat 模板的 tripleo-tarball-config ConfigMap。
  • 配置包含自定义环境文件的 heat-env-config ConfigMap。

流程

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

    apiVersion: osp-director.openstack.org/v1beta1
    kind: OpenStackConfigGenerator
    metadata:
      name: default
      namespace: openstack
    spec:
      enableFencing: true
      gitSecret: git-secret
      imageURL: registry.redhat.io/rhosp-rhel8/openstack-tripleoclient:16.2
      heatEnvConfigMap: heat-env-config
      # List of heat environment files to include from tripleo-heat-templates/environments
      heatEnvs:
      - ssl/tls-endpoints-public-dns.yaml
      - ssl/enable-tls.yaml
      tarballConfigMap: tripleo-tarball-config

    在资源规格中设置以下值:

    metadata.name
    默认情况下,设置为 Compute 节点裸机设置的名称,默认为。
    metadata.namespace
    设置为 director Operator 命名空间,默认为 openstack
    spec.enableFencing
    启用自动创建所需的 heat 环境文件以启用隔离。
    注意

    生产 OSP 环境必须启用隔离。运行 pacemaker 的虚拟机需要 fence-agents-kubevirt 软件包。

    spec.gitSecret
    设置为包含 Git 身份验证凭据的 ConfigMap,默认为 git-secret
    spec.heatEnvs
    用于生成 playbook 的默认 tripleo 环境文件列表。
    spec.heatEnvConfigMap
    设置为包含自定义环境文件的 ConfigMap,默认为 heat-env-config
    spec.tarballConfigMap
    设置为包含带有自定义 heat 模板的 tarball 的 ConfigMap,默认为 tripleo-tarball-config

    有关您可以在 spec 部分中使用的值的更多描述,请查看 openstackconfiggenerator CRD 的自定义资源定义中的规格模式:

    $ oc describe crd openstackconfiggenerator

    配置完 Ansible 配置生成器规范后,保存文件。

  2. 创建 Ansible 配置生成器:

    $ oc create -f openstack-config-generator.yaml -n openstack

验证

  1. 查看配置生成器的资源:

    $ oc get openstackconfiggenerator/default -n openstack