7.17. 使用 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 部分使用的值的更多描述,请查看
openstackdeploy
CRD 的自定义资源定义中的规格模式:$ 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
另外,您可以通过登录到
openstackclient
pod 来手动访问执行的 Ansible playbook。在/home/cloud-admin/work/directory
中,您可以查找当前部署的 ansible playbook 和ansible.log
文件。