5.6. 部署数据平面


您可以使用 OpenStackDataPlaneDeployment 自定义资源定义(CRD)在 data plane 节点上配置服务并部署数据平面。您可以通过创建 OpenStackDataPlaneDeployment 自定义资源(CR)来控制在数据平面上执行 Ansible。每个 OpenStackDataPlaneDeployment CR 型号单个 Ansible 执行。创建 OpenStackDataPlaneDeployment CR,以部署每个 OpenStackDataPlaneNodeSet CR。

注意

OpenStackDataPlaneDeployment 成功执行后,它不会自动执行 Ansible,即使 OpenStackDataPlaneDeployment 或相关的 OpenStackDataPlaneNodeSet 资源已更改。要启动另一个 Ansible 执行,您必须创建另一个 OpenStackDataPlaneDeployment CR。在创建一个新 OpenStackDataPlaneDeployment CR 前,删除环境中任何失败的 OpenStackDataPlaneDeployment CR,以允许新的 OpenStackDataPlaneDeployment 使用更新的 Secret 运行 Ansible。

流程

  1. 在工作站上创建一个名为 openstack_data_plane_deploy.yaml 的文件,以定义 OpenStackDataPlaneDeployment CR:

    apiVersion: dataplane.openstack.org/v1beta1
    kind: OpenStackDataPlaneDeployment
    metadata:
      name: data-plane-deploy 
    1
    
      namespace: openstack
    Copy to Clipboard Toggle word wrap
    1
    OpenStackDataPlaneDeployment CR 名称必须是唯一的,必须包含小写字母数字字符、- (hyphen)或 . (句点),且必须以字母数字字符开头和结尾。将本示例中的名称更新为反映部署中节点集的名称。
  2. 添加您要部署的所有 OpenStackDataPlaneNodeSet CR:

    spec:
      nodeSets:
        - openstack-data-plane
        - <nodeSet_name>
        - ...
        - <nodeSet_name>
    Copy to Clipboard Toggle word wrap
    • <nodeSet_name > 替换为您要包含在 data plane 部署中的 OpenStackDataPlaneNodeSet CR 的名称。
  3. 保存 openstack_data_plane_deploy.yaml 部署文件。
  4. 部署数据平面:

    $ oc create -f openstack_data_plane_deploy.yaml -n openstack
    Copy to Clipboard Toggle word wrap

    您可以在部署执行时查看 Ansible 日志:

    $ oc get pod -l app=openstackansibleee -w
    $ oc logs -l app=openstackansibleee -f --max-log-requests 10
    Copy to Clipboard Toggle word wrap

    如果 oc logs 命令返回类似以下错误的错误,请提高 --max-log-requests 值:

    error: you are attempting to follow 19 log streams, but maximum allowed concurrency is 10, use --max-log-requests to increase the limit
    Copy to Clipboard Toggle word wrap
  5. 验证 data plane 是否已部署:

    $ oc wait openstackdataplanedeployment data-plane-deploy --for=condition=Ready --timeout=<timeout_value>
    $ oc wait openstackdataplanenodeset openstack-data-plane --for=condition=Ready --timeout=<timeout_value>
    Copy to Clipboard Toggle word wrap
    • 将 < timeout_value > 替换为您希望命令等待任务完成的值。例如,如果您希望命令等待 60 分钟,您可以使用值 60m。如果 oc 等待 openstackdataplanedeploymentNodeSetReady 的完成状态在这个时间段内未返回 openstackdataplanenodeset,则命令会返回超时错误。使用适合部署大小的值。提供更多时间来完成部署任务。

      如需有关 data plane 条件和状态的信息,请参阅 在 OpenShift 上部署 Red Hat OpenStack Services 中的 Data plane 条件 和状态

  6. 将 Compute 节点映射到它们连接的 Compute 单元:

    $ oc rsh nova-cell0-conductor-0 nova-manage cell_v2 discover_hosts --verbose
    Copy to Clipboard Toggle word wrap

    如果您没有创建额外的单元,这个命令会将 Compute 节点映射到 cell1

  7. 访问 openstackclient pod 的远程 shell,并验证部署的 Compute 节点是否在 control plane 上可见:

    $ oc rsh -n openstack openstackclient
    $ openstack hypervisor list
    Copy to Clipboard Toggle word wrap

    如果某些 Compute 节点缺少形成虚拟机监控程序列表,请重试上一步。如果列表中仍缺少 Compute 节点,请检查所部署数据平面节点上 nova-compute 服务的状态和健康状况。

  8. 验证 hypervisor 主机名是否为完全限定域名(FQDN):

    $ hostname -f
    Copy to Clipboard Toggle word wrap

    如果 hypervisor 主机名不是 FQDN,例如,如果它作为短名称或全名注册,请联系红帽支持。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat