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。
流程
在工作站上创建一个名为
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 配置生成器规范后,保存文件。
创建 Ansible 配置生成器:
$ oc create -f openstack-config-generator.yaml -n openstack
验证
查看配置生成器的资源:
$ oc get openstackconfiggenerator/default -n openstack