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。

流程

  1. 在工作站上创建一个名为 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 规范后,保存文件。

  2. 创建 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 文件。