红帽OSP10 NFV配置指南: 4.5. 配置OVS-DPDK可组合角色

azeqjz OpenStack: 红帽OSP10 NFV配置指南: 4.5. 配置OVS-DPDK可组合角色

原文:
NETWORK FUNCTIONS VIRTUALIZATION CONFIGURATION GUIDE > Chapter 4. Configure DPDK Accelerated Open vSwitch (OVS) for Networking

4.5. 配置OVS-DPDK可组合角色

创建与部署一个可组合的角色,需要:

  • role_data.yaml文件的本地副本中定义新角色。
  • 创建OpenStack flavor,关联新角色,分配flavor给节点。
  • 修改network_environment.yaml文件以包含新角色。
  • 以更新后的这些角色部署overcloud。

在例子中,ComputeOvsDpdk是计算节点的可组合角色,用来在有OVS-DPDK兼容网卡的主机上启用DPDK。Red Hat OpenStack Platform提供的已有默认角色存储在/home/stack/roles_data.yaml文件中。

4.5.1. 修改roles_data.yaml以创建可组合角色

复制roles_data.yaml文件到/home/stack/templates路径下,增加新角色ComputeOvsDpdk

- name: ComputeOvsDpdk
  CountDefault: 1
  HostnameFormatDefault: compute-ovs-dpdk-%index%
  disable_upgrade_deployment: True
  ServicesDefault:
    - OS::TripleO::Services::CACerts
    - OS::TripleO::Services::CephClient
    - OS::TripleO::Services::CephExternal
    - OS::TripleO::Services::Timezone
    - OS::TripleO::Services::Ntp
    - OS::TripleO::Services::Snmp
    - OS::TripleO::Services::Sshd
    - OS::TripleO::Services::NovaCompute
    - OS::TripleO::Services::NovaLibvirt
    - OS::TripleO::Services::Kernel
    - OS::TripleO::Services::ComputeNeutronCorePlugin
    - OS::TripleO::Services::ComputeNeutronOvsDpdkAgent
    - OS::TripleO::Services::ComputeCeilometerAgent
    - OS::TripleO::Services::ComputeNeutronL3Agent
    - OS::TripleO::Services::ComputeNeutronMetadataAgent
    - OS::TripleO::Services::TripleoPackages
    - OS::TripleO::Services::TripleoFirewall
    - OS::TripleO::Services::OpenDaylightOvs
    - OS::TripleO::Services::SensuClient
    - OS::TripleO::Services::FluentdClient
    - OS::TripleO::Services::AuditD
    - OS::TripleO::Services::Collectd

在这个例子中,除ComputeNeutronOvsAgent外,新角色ComputeOvsDpdk的其他所有服务都和常规的计算角色一样。这里使用ComputeNeutronOvsDpdkAgent代替ComputeNeutronOvsAgent来映射OVS-DPDK服务。

为OVS-DPDK可组合角色准备计算节点

可组合角色允许给节点分配新角色,并将此新角色建立在该节点的特定支持上。

  1. 创建OpenStack flavor来标记OVS-DPDK节点。
# openstack flavor create --id auto --ram 4096 --disk 40 --vcpus 4 computeovsdpdkFlavor
# openstack flavor set --property "cpu_arch"="x86_64" --property "capabilities:boot_option"="local" --property "capabilities:profile"="ComputeOvsDpdk" computeovsdpdkFlavor

此例子创建computeovsdpdkFlavor,并使该flavor可以使用ComputeOvsDpdk可组合角色。

注意:
OVS-DPDK flavor还需要设置其他属性,参考Section 4.9, “Create a Flavor and Deploy an Instance for OVS-DPDK” 。

  1. 设置裸金属节点使用computeovsdpdkFlavor。
# ironic node-update compute-1 add properties/capabilities='profile:computeovsdpdkFlavor,boot_option:local'

此例子基于computeovsdpdkFlavor设置,配置裸金属节点compute-1使用OVS-DPDK可组合角色。

4.5.3. 为OVS-DPDK可组合角色修改network-environment.yaml

  1. 在该节点的网络配置network-environment.yaml文件添加OVS-DPDK服务的资源映射
resource_registry:
  # Specify the relative/absolute path to the config files you want to use for override the default.
  OS::TripleO::ComputeSriov::Net::SoftwareConfig: nic-configs/compute-ovs-dpdk.yaml
  OS::TripleO::Controller::Net::SoftwareConfig: nic-configs/controller.yaml

  OS::TripleO::Services::ComputeNeutronOvsDpdkAgent: /usr/share/openstack-tripleo-heat-templates/puppet/services/neutron-ovs-dpdk-agent.yaml
  1. 更改OpenStack flavor以使用关联可组合角色的flavor。
# Nova flavor to use.
  OvercloudControlFlavor: control
  OvercloudComputeFlavor: computeovsdpdkFlavor
  1. 根据OpenStack部署需要,配置network-environment.yaml文件的剩余部分,覆盖来自neutron-ovs-dpdk-agent.yaml的默认参数。

4.5.4 执行overcloud_deploy.sh脚本

以下例子定义使用可组合角色的openstack overcloud deployBash脚本。

# #!/bin/bash

openstack overcloud deploy --templates \
-r /home/stack/templates/roles_data.yaml \
-e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \
-e /home/stack/ospd-10-vlan-dpdk-single-port-composable-roles/network-environment.yaml

/home/stack/templates/roles_data.yaml是更新后的roles_data.yaml位置,这个文件定义了OVS-DPDK与可组合角色。

注意:
overcloud部署后,需要重启计算节点以执行tuned文本。

你可能感兴趣的:(红帽OSP10 NFV配置指南: 4.5. 配置OVS-DPDK可组合角色)