9.2. 在 RHOSO 中启用和配置 TAPaaS
若要启用TAPaaS,请修改 OpenStackControlPlane 自定义资源(CR),以将 taas 和 tapmirror 插件包含在网络服务(neutron)配置中。
先决条件
- 在工作站上安装了 oc 命令行工具。
-
以具有
cluster-admin权限的用户身份登录到可访问 RHOSO 控制平面的工作站。 - 在 openstack 命名空间中部署了 OpenStackControlPlane 资源。
流程
找到您现有的网络服务插件:
echo service_plugins=$(oc exec "$(oc get pods -l service=neutron -o name | head -n 1)" -c neutron-api -- crudini --get /etc/neutron/neutron.conf.d/01-neutron.conf DEFAULT service_plugins)您应该看到类似如下的输出:
service_plugins=qos,ovn-router,trunk,segments,port_forwarding,log- 保存上一步中的输出。
如果您没有 OpenStackControlPlane CR YAML 文件(如
openstack_control_plane.yaml),请创建一个,如下例所示:$ oc get openstackcontrolplanes.core.openstack.org controlplane -o yaml > openstack_control_plane.yaml- 编辑工作站上的 OpenStack control plane CR 文件。
如果 CR 文件在
spec.neutron.template.customServiceConfig下有一个service_plugins参数键(value 对),请将该值替换为您在上一步中保存的列表。如果没有,请添加 参数。结果类似以下示例:service_plugins = qos,ovn-router,trunk,segments,port_forwarding,log,taas,tapmirror确保
[service_providers]部分存在,并且它包含参数键,值对TAAS:neutron_taas.services.taas.service_drivers.ovn.taas_ovn.TaasOvnDriver:default。请参见以下示例。警告service_plugins 列表是 additive。如前面的步骤所示,您必须包含现有的插件,如 ovn-router 和 trunk,以避免禁用必要的网络功能。
spec: neutron: ... template: ... customServiceConfig: | [DEFAULT] vlan_transparent = true agent_down_time = 600 router_distributed = true router_scheduler_driver = neutron.scheduler.l3_agent_scheduler.ChanceScheduler allow_automatic_l3agent_failover = true debug = true default_availability_zones = zone-1,zone-2 service_plugins = qos,ovn-router,trunk,segments,port_forwarding,log,taas,tapmirror [service_providers] service_provider = TAAS:TAAS:neutron_taas.services.taas.service_drivers.ovn.taas_ovn.TaasOvnDriver:default ...应用更新的配置:
$ oc apply -f openstack_control_plane.yaml
验证
验证 neutron pod 协调且没有错误。如果要观察进程,请包含
-w选项。$ oc get pods -l service=neutron -w -n openstack在以下示例中,neutron pod 已被成功协调:
$ oc get pods -l service=neutron NAME READY STATUS RESTARTS AGE neutron-d44b4c69-bvckl 2/2 Running 0 74s neutron-d44b4c69-dqmhd 2/2 Running 0 110s neutron-d44b4c69-n22wc 2/2 Running 0 2m29s