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
的文件,以定义OpenStackDataPlaneDeployment
CR:apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneDeployment metadata: name: data-plane-deploy namespace: openstack
apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneDeployment metadata: name: data-plane-deploy
1 namespace: openstack
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
OpenStackDataPlaneDeployment
CR 名称必须是唯一的,必须包含小写字母数字字符、-
(hyphen)或.
(句点),且必须以字母数字字符开头和结尾。将本示例中的名称更新为反映部署中节点集的名称。
添加您要部署的所有
OpenStackDataPlaneNodeSet
CR:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<nodeSet_name
> 替换为您要包含在 data plane 部署中的OpenStackDataPlaneNodeSet
CR 的名称。
-
将
-
保存
openstack_data_plane_deploy.yaml
部署文件。 部署数据平面:
oc create -f openstack_data_plane_deploy.yaml -n openstack
$ oc create -f openstack_data_plane_deploy.yaml -n openstack
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以在部署执行时查看 Ansible 日志:
oc get pod -l app=openstackansibleee -w oc logs -l app=openstackansibleee -f --max-log-requests 10
$ oc get pod -l app=openstackansibleee -w $ oc logs -l app=openstackansibleee -f --max-log-requests 10
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果
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
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 Copied! Toggle word wrap Toggle overflow 验证 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>
$ 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 Copied! Toggle word wrap Toggle overflow 将 <
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
$ oc rsh nova-cell0-conductor-0 nova-manage cell_v2 discover_hosts --verbose
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您没有创建额外的单元,这个命令会将 Compute 节点映射到
cell1
。访问
openstackclient
pod 的远程 shell,并验证部署的 Compute 节点是否在 control plane 上可见:oc rsh -n openstack openstackclient openstack hypervisor list
$ oc rsh -n openstack openstackclient $ openstack hypervisor list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果某些 Compute 节点缺少形成虚拟机监控程序列表,请重试上一步。如果列表中仍缺少 Compute 节点,请检查所部署数据平面节点上
nova-compute
服务的状态和健康状况。验证 hypervisor 主机名是否为完全限定域名(FQDN):
hostname -f
$ hostname -f
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果 hypervisor 主机名不是 FQDN,例如,如果它作为短名称或全名注册,请联系红帽支持。