7.2. 为 QoS 策略配置网络服务
Red Hat OpenStack Services on OpenShift (RHOSO) Networking 服务(neutron)中的服务质量功能通过 qos
服务插件提供。使用 ML2/OVN 机制驱动程序时,qos
会默认加载。但是,对于 ML2/SR-IOV,这并不为 true。
将 qos
服务插件与 ML2/SR-IOV 机制驱动程序搭配使用时,还必须在其对应的代理上加载 qos
扩展。
以下列表总结了为 QoS 配置网络服务时必须执行的任务。任务详情遵循这个列表:
对于所有 QoS 策略类型:
-
添加
qos
服务插件。 -
为代理(仅限SR-IOV)添加
qos
扩展。
-
添加
- 在 ML2/OVN 部署中,您可以为硬件卸载的端口启用最小带宽和带宽限制出口策略。您无法为硬件卸载的端口启用入口策略。
仅使用最小带宽策略调度虚拟机实例的其他任务:
- 如果与计算服务(nova)使用的名称不同,请指定虚拟机监控程序名称。
- 为每个 Compute 节点上为相关代理配置资源提供程序入口和出口带宽。
-
(可选)不支持 Mark
vnic_types
。
DSCP 标记策略的额外任务:
-
启用
edpm_ovn_encap_tos
。默认情况下,edpm_ovn_encap_tos
被禁用。
-
启用
先决条件
-
在工作站上安装了
oc
命令行工具。 -
以具有
cluster-admin
权限的用户身份登录到可访问 RHOSO 控制平面的工作站。
流程
如果使用 ML2/SR-IOV 机制驱动程序,您必须在 Compute 节点上启用
qos
代理扩展,也称为 RHOSO 数据平面。如需更多信息,请参阅为 SR-IOV 配置 QoS 策略的网络服务。
添加所需的 QoS 配置。将配置放在
ansibleVars
下的edpm_network_config_template
中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果要创建 DSCP 标记策略,请在
ansibleVars
下添加edpm_ovn_encap_tos: '1'
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启用
edpm_ovn_encap_tos
(代表
1)时,网络服务会将内部标头的 DSCP 值复制到外部标头。默认值为0
。-
保存
OpenStackDataPlaneNodeSet
CR 定义文件。 应用更新的
OpenStackDataPlaneNodeSet
CR 配置:oc apply -f my_data_plane_node_set.yaml
$ oc apply -f my_data_plane_node_set.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证 data plane 资源是否已更新:
oc get openstackdataplanenodeset
$ oc get openstackdataplanenodeset
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME STATUS MESSAGE my-data-plane-node-set False Deployment not started
NAME STATUS MESSAGE my-data-plane-node-set False Deployment not started
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在工作站上创建一个文件来定义
OpenStackDataPlaneDeployment
CR,如my_data_plane_deploy.yaml
:apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneDeployment metadata: name: my-data-plane-deploy
apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneDeployment metadata: name: my-data-plane-deploy
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 提示为定义文件和
OpenStackDataPlaneDeployment
CR 指定一个唯一的描述性名称,指示修改的节点集的目的。添加您修改的
OpenStackDataPlaneNodeSet
CR:spec: nodeSets: - my-data-plane-node-set
spec: nodeSets: - my-data-plane-node-set
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
保存
OpenStackDataPlaneDeployment
CR 部署文件。 部署修改后的
OpenStackDataPlaneNodeSet
CR:oc create -f my_data_plane_deploy.yaml -n openstack
$ oc create -f my_data_plane_deploy.yaml -n openstack
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以在部署执行时查看 Ansible 日志:
oc get pod -l app=openstackansibleee -n openstack -w oc logs -l app=openstackansibleee -n openstack -f \ --max-log-requests 10
$ oc get pod -l app=openstackansibleee -n openstack -w $ oc logs -l app=openstackansibleee -n openstack -f \ --max-log-requests 10
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证修改后的
OpenStackDataPlaneNodeSet
CR 是否已部署:Example
oc get openstackdataplanedeployment -n openstack
$ oc get openstackdataplanedeployment -n openstack
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME STATUS MESSAGE my-data-plane-node-set True Setup Complete
NAME STATUS MESSAGE my-data-plane-node-set True Setup Complete
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重复
oc get
命令,直到您看到NodeSet Ready
信息:Example
oc get openstackdataplanenodeset -n openstack
$ oc get openstackdataplanenodeset -n openstack
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME STATUS MESSAGE my-data-plane-node-set True NodeSet Ready
NAME STATUS MESSAGE my-data-plane-node-set True NodeSet Ready
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如需有关返回状态的含义的信息,请参阅 在 OpenShift 上部署 Red Hat OpenStack Services 指南中的 Data plane 条件和状态。
验证
确认已加载
qos
服务插件:openstack network qos policy list
$ openstack network qos policy list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果
qos
服务插件已加载,则不会收到ResourceNotFound
错误。