6.3. 使用 director Operator 应用 overcloud 配置
只有在创建了 control plane、置备裸机 Compute 节点并生成 Ansible playbook 以在每个节点上配置软件后,才可使用 director Operator (OSPdO)配置 overcloud。当您创建 OpenStackDeploy 自定义资源(CR)时,OSPdO 会创建一个作业,该作业将运行 Ansible playbook 来配置 overcloud。
使用以下命令查看 OpenStackDeploy CRD 定义和规格模式:
$ oc describe crd openstackdeploy
$ oc explain openstackdeploy.spec
先决条件
-
您已创建了带有
OpenStackControlPlaneCRD 的 control plane。 -
已使用
OpenStackBarementalSetsCRD 创建 Compute 节点。 -
您已使用
OpenStackConfigGeneratorCRD 为 overcloud 创建 Ansible playbook 配置。
流程
检索最新的
OpenStackConfigVersion对象的hash/digest,它代表应该用于配置 overcloud 的 Ansible playbook:$ oc get -n openstack --sort-by {.metadata.creationTimestamp} openstackconfigversion -o json在工作站上创建一个名为
openstack-deployment.yaml的文件,并包含 Ansible playbook 的资源规格:apiVersion: osp-director.openstack.org/v1beta1 kind: OpenStackDeploy metadata: name: default spec: configVersion: <config_version> configGenerator: default-
将
<config_version> 替换为在第 1 步中检索到的 Ansible playbookhash/digest,例如n5fch96h548h75hf4hbdhb8hfdh676h57bh96h5c5h59hf4h88h.. .
-
将
-
保存
openstack-deployment.yaml文件。 创建
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文件。