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。
流程
在工作站上创建一个名为
openstack_data_plane_deploy.yaml的文件,以定义OpenStackDataPlaneDeploymentCR:apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneDeployment metadata: name: data-plane-deploy namespace: openstack-
metadata.name:OpenStackDataPlaneDeploymentCR 名称必须是唯一的,必须包含小写字母数字字符、-(hyphen)或.(period),且必须以字母数字字符开头和结尾。将本示例中的名称更新为反映部署中节点集的名称。
-
添加您要部署的所有
OpenStackDataPlaneNodeSetCR:spec: nodeSets: - openstack-data-plane - <nodeSet_name> - ... - <nodeSet_name>-
将
<nodeSet_name> 替换为您要包含在 data plane 部署中的OpenStackDataPlaneNodeSetCR 的名称。
-
将
-
保存
openstack_data_plane_deploy.yaml部署文件。 部署数据平面:
$ oc create -f openstack_data_plane_deploy.yaml -n openstack您可以在部署执行时查看 Ansible 日志:
$ oc get pod -l app=openstackansibleee -w $ oc logs -l app=openstackansibleee -f --max-log-requests 10如果
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验证 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>将 <
timeout_value> 替换为您希望命令等待任务完成的值。例如,如果您希望命令等待 60 分钟,您可以使用值60m。如果oc 等待 openstackdataplanedeployment或NodeSetReady的完成状态在这个时间段内未返回openstackdataplanenodeset,则命令会返回超时错误。使用适合部署大小的值。提供更多时间来完成部署任务。如需有关 data plane 条件和状态的信息,请参阅 在 OpenShift 上部署 Red Hat OpenStack Services 中的 Data plane 条件 和状态。
将 Compute 节点映射到它们连接的 Compute 单元:
$ oc rsh nova-cell0-conductor-0 nova-manage cell_v2 discover_hosts --verbose如果您没有创建额外的单元,这个命令会将 Compute 节点映射到
cell1。访问
openstackclientpod 的远程 shell,并验证部署的 Compute 节点是否在 control plane 上可见:$ oc rsh -n openstack openstackclient $ openstack hypervisor list如果某些 Compute 节点缺少形成虚拟机监控程序列表,请重试上一步。如果列表中仍缺少 Compute 节点,请检查所部署数据平面节点上
nova-compute服务的状态和健康状况。验证 hypervisor 主机名是否为完全限定域名(FQDN):
$ hostname -f如果 hypervisor 主机名不是 FQDN,例如,如果它作为短名称或全名注册,请联系红帽支持。