5.3. 为一组带有预置备节点的 Networker 节点创建 OpenStackDataPlaneNodeSet CR
您可以为作为 Networker 节点的数据平面节点的每个逻辑分组定义 OpenStackDataPlaneNodeSet CR。您可以根据部署需要定义多个节点设置。每个节点只能包含在一个 OpenStackDataPlaneNodeSet CR 中。
您可以使用 nodeTemplate 字段配置通用属性,以应用到 OpenStackDataPlaneNodeSet CR 中的所有节点,以及节点特定属性的 nodes 字段。特定于节点的配置覆盖来自 nodeTemplate 的继承值。
如需示例 OpenStackDataPlaneNodeSet CR,它配置一组没有来自预置备的 Networker 节点的 OVS-DPDK 节点的 Networker 节点,请参阅 预置备的 Networker 节点的 OpenStackDataPlaneNodeSet CR 示例。
+ 对于一个示例 OpenStackDataPlaneNodeSet CR,它使用预置备的 Networker 节点配置 OVS-DPDK 的 Networker 节点集合,请参阅使用 DPDK ] 预置备的 Networker 节点示例 OpenStackDataPlaneNodeSet CR。
流程
在工作站上创建一个名为
openstack_preprovisioned_networker_node_set.yaml的文件,以定义OpenStackDataPlaneNodeSetCR:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 包含
services字段以覆盖默认服务。删除 Networker 节点不需要的nova、libvirt和其他服务:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将数据平面连接到 control plane 网络:
spec: ... networkAttachments: - ctlplanespec: ... networkAttachments: - ctlplaneCopy to Clipboard Copied! Toggle word wrap Toggle overflow 启用机箱作为网关:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 指定此集合中的节点是预置备:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 添加您创建的 SSH 密钥 secret,以便 Ansible 可以连接到 data plane 节点:
nodeTemplate: ansibleSSHPrivateKeySecret: <secret-key>nodeTemplate: ansibleSSHPrivateKeySecret: <secret-key>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<secret-key> 替换为您在 <link> 中为此节点创建的 SSH 密钥SecretCR 的名称,例如dataplane-ansible-ssh-private-key-secret。
-
将
-
在 Red Hat OpenShift Container Platform (RHOCP)集群上的
openstack命名空间中创建持久性卷声明(PVC)以存储日志。将volumeMode设置为Filesystem,将accessModes设置为ReadWriteOnce。不要为使用 NFS 卷插件的 PersistentVolume (PV)的日志请求存储。NFS 与 FIFO 不兼容,ansible-runner创建一个 FIFO 文件来存储日志。有关 PVC 的详情,请参考 RHOCP Storage 指南中的 了解持久性存储 和 规划部署 中的 Red Hat OpenShift Container Platform 集群要求。 为 Networker 节点启用持久性日志记录:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<pvc_name> 替换为 RHOCP 集群中的 PVC 存储名称。
-
将
指定管理网络:
nodeTemplate: ... managementNetwork: ctlplanenodeTemplate: ... managementNetwork: ctlplaneCopy to Clipboard Copied! Toggle word wrap Toggle overflow 指定用于提供用户名和密码的
SecretCR,以注册没有注册到红帽客户门户网站的节点的操作系统,并为节点启用软件仓库。以下示例演示了如何将节点注册到 Red Hat Content Delivery Network (CDN)。有关如何在 Red Hat Satellite 6.13 中注册节点的详情,请参阅管理主机。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 与您在 <link> 中创建的 secret 关联的用户[创建数据平面 secret]。
- 2
- 自定义一组节点的 Ansible 变量。有关可以使用的 Ansible 变量的列表,请参阅 https://openstack-k8s-operators.github.io/edpm-ansible/。
有关红帽客户门户网站注册命令的完整列表,请参阅 https://access.redhat.com/solutions/253273。有关如何登录到
registry.redhat.io的详情,请参考 https://access.redhat.com/RegistryAuthentication#creating-registry-service-accounts-6。添加网络配置模板以应用到您的网络节点。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
os-net-config供应商设置为nmstate。默认值为false。除非nmstate供应商有特定限制,否则将其改为true,否则您需要使用ifcfg供应商。有关nmstate供应商的优点和限制的更多信息,请参阅规划部署中的 https://docs.redhat.com/en/documentation/red_hat_openstack_services_on_openshift/18.0/html/planning_your_deployment/plan-networks_planning#plan-os-net-config_plan-network。 - 2
- 首次部署设置的节点时,将
edpm_network_config_update变量设置为false。更新或使用节点集时,将edpm_network_config_update变量设置为true,以便在更新时应用网络配置更改。然后,在更新或采用后将变量重置为false。如果没有将更新的网络配置重置为false,则每次创建包含configure-network服务的OpenStackDataPlaneDeploymentCR 时,都会重新应用更新的网络配置。
以下示例使用 DPDK 将 VLAN 网络配置应用到一组 data plane Networker 节点:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下示例将 VLAN 网络配置应用到没有 DPDK 的 data plane Networker 节点:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 有关 data plane 网络配置的更多信息,请参阅配置 网络服务 中的 自定义 数据平面网络。
-
在
nodeTemplate部分下,添加此组中节点集合的通用配置。此OpenStackDataPlaneNodeSet中的每个节点都会继承此配置。有关可用于配置通用节点属性的属性的信息,请参阅 Deploying Red Hat OpenStack Services on OpenShift 指南中的OpenStackDataPlaneNodeSetCR spec 属性。 在此节点集中定义每个节点:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意-
在
nodes部分中定义的节点可以配置nodeTemplate部分中配置的同一 Ansible 变量。其中,为特定节点和nodeTemplate部分配置了 Ansible 变量,则特定于节点的值会覆盖nodeTemplate部分中的值。 -
您不需要为节点复制所有
nodeTemplateAnsible 变量,以覆盖默认值并设置一些特定于节点的值。您只需要配置您要为节点覆盖的 Ansible 变量。 -
许多
ansibleVars在名称中包含edpm,它代表 "External Data Plane Management"。
有关可用于配置节点属性的属性的信息,请参阅 Deploying Red Hat OpenStack Services on OpenShift 指南中的
OpenStackDataPlaneNodeSetCR spec 属性。-
在
-
保存
openstack_preprovisioned_networker_node_set.yaml定义文件。 创建 data plane 资源:
oc create --save-config -f openstack_preprovisioned_networker_node_set.yaml -n openstack
$ oc create --save-config -f openstack_preprovisioned_networker_node_set.yaml -n openstackCopy to Clipboard Copied! Toggle word wrap Toggle overflow 通过确认状态为
SetupReady来验证 data plane 资源是否已创建:oc wait openstackdataplanenodeset openstack-data-plane --for condition=SetupReady --timeout=10m
$ oc wait openstackdataplanenodeset openstack-data-plane --for condition=SetupReady --timeout=10mCopy to Clipboard Copied! Toggle word wrap Toggle overflow 当状态为
SetupReady时,命令会返回一个condition met信息,否则会返回超时错误。如需有关 data plane 条件和状态的信息,请参阅 在 OpenShift 上部署 Red Hat OpenStack Services 中的 Data plane 条件 和状态。
验证是否为节点集合创建了
Secret资源:oc get secret | grep openstack-data-plane
$ oc get secret | grep openstack-data-plane dataplanenodeset-openstack-data-plane Opaque 1 3m50sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 验证是否已创建服务:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
以下示例 OpenStackDataPlaneNodeSet CR 从带有一些特定于节点的配置的预置备 Networker 节点创建一个节点集。将本示例中的 OpenStackDataPlaneNodeSet CR 的名称更新为描述集合中节点的名称。OpenStackDataPlaneNodeSet CR 名称必须是唯一的,仅包含小写字母数字字符和 - (hyphens)或 . (periods),以字母数字字符开头和结尾,且最大长度为 53 个字符。
以下示例 OpenStackDataPlaneNodeSet CR 从带有 OVS-DPDK 和一些节点特定配置的预置备的 Networker 节点创建一个节点集。将本示例中的 OpenStackDataPlaneNodeSet CR 的名称更新为描述集合中节点的名称。OpenStackDataPlaneNodeSet CR 名称必须是唯一的,仅包含小写字母数字字符,以及 -(hyphens)或 . (periods),以字母数字字符开头和结尾,且最大长度为 53 个字符。