8.16. 使用 director Operator 应用 overcloud 配置
只有在创建 control plane、置备裸机 Compute 节点并生成 Ansible playbook 来配置各个节点上的软件后,才可使用 director Operator 配置 overcloud。创建 OpenStackDeploy 资源时,director Operator 会创建一个运行 ansible playbook 来配置 overcloud 的作业。
前提条件
- 确保 OpenShift Container Platform 集群正常运行,并且已正确安装了 director Operator。
-
确保已在工作站上安装了
oc命令行工具。 - 使用 OpenStackControlPlane 资源来创建 control plane。
- 使用 OpenStackBareMetalSet 资源来创建裸机 Compute 节点。
- 使用 OpentackConfigGenerator 为 overcloud 创建 Ansible playbook 配置。
- 使用 OpeenstackConfigVersion 选择 ansible playbook 的 hash/digest,用于配置 overcloud。
流程
在工作站上创建一个名为
openstack-deployment.yaml的文件。包含 Ansible playbook 的资源规格。例如:apiVersion: osp-director.openstack.org/v1beta1 kind: OpenStackDeploy metadata: name: default spec: configVersion: n5fch96h548h75hf4hbdhb8hfdh676h57bh96h5c5h59hf4h88h… configGenerator: default在资源规格中设置以下值:
metadata.name-
默认情况下,设置 Compute 节点 baremetal 设置的名称,默认为。 metadata.namespace-
设置为 diretor Operator 命名空间,默认为
openstack。 spec.configVersion- 要部署的 playbook 的 config 版本/git 哈希。
spec.configGenerator- configGenerator 的名称。
有关您可以在 spec 部分使用的值的更多描述,请查看
openstackdeployCRD 的自定义资源定义中的规格模式:$ oc describe crd openstackdeploy配置完 OpenStackDeploy 规范后,保存文件。
创建 OpenStackDeploy 资源:
$ oc create -f openstack-deployment.yaml -n openstack当部署运行时,它会创建一个 Kubernetes 作业来执行 Ansible playbook。您可以跟踪作业的日志,以观察运行的 Ansible playbook:
$ oc logs -f jobs/deploy-openstack-default另外,您可以通过登录到
openstackclientpod 来手动访问执行的 Ansible playbook。在/home/cloud-admin/work/directory中,您可以查找当前部署的 ansible playbook 和ansible.log文件。