3.2. 部署负载均衡服务
要在 OpenShift (RHOSO)负载均衡服务(octavia)上部署 Red Hat OpenStack Services,您必须配置 OVN 控制器为提供商网络创建一个 NIC 映射,并将其添加到控制负载均衡器(amphorae)的每个负载均衡服务的 networkAttachments 属性中。
先决条件
-
在工作站上安装了
oc命令行工具。 -
以具有
cluster-admin权限的用户身份登录到可访问 RHOSO 控制平面的工作站。
流程
使用 Skopeo 工具,获取 amphora 镜像版本。在后续步骤中,您将需要 SHA 格式的镜像版本:
$ podman login registry.redhat.io $ sudo dnf install -y skopeo $ skopeo inspect docker://registry.redhat.io/rhoso/\ octavia-amphora-image-rhel9:$(oc get openstackversion \ -o jsonpath='{.items[0].status.deployedVersion}' | \ awk -F '-' '{print $1}') --format '{{.Name}}@{{.Digest}}'打开
OpenStackControlPlaneCR 文件,并通过添加以下服务配置来启用负载均衡服务(octavia):apiVersion: core.openstack.org/v1beta1 kind: OpenStackControlPlane metadata: name: openstack-control-plane namespace: openstack spec: ... octavia: enabled: true template: octaviaHousekeeping: networkAttachments: - octavia octaviaHealthManager: networkAttachments: - octavia octaviaWorker: networkAttachments: - octavia ...使用在上一步中获取的 amphora 镜像版本,使用
octavia.template.amphoraImageContainerImage参数将 amphora 镜像添加到镜像服务(glance):- Example
... octavia: enabled: true template: octaviaHousekeeping: networkAttachments: - octavia octaviaHealthManager: networkAttachments: - octavia octaviaWorker: networkAttachments: - octavia amphoraImageContainerImage: registry.redhat.io/rhoso/\ octavia-amphora-image-rhel9@sha256:312cd5e8ea9fe261c1929aefececbeb22afe5e433ae76ef0860d98e561db21c9 ...
可选: 要启用流恢复,请执行以下步骤。
如需更多信息,请参阅使用 流恢复启用 TaskFlow 中断。
通过添加 schema 名称、
和副本数,在 Redis 中创建 octavia-redis 数据库octavia-redis::1:apiVersion: core.openstack.org/v1beta1 kind: OpenStackControlPlane metadata: name: openstack-control-plane namespace: openstack spec: ... redis: enabled: true templates: octavia-redis: replicas: 1 ...通过添加行 redis
ServiceName:数据库:octavia-redis来启用 octavia-redisapiVersion: core.openstack.org/v1beta1 kind: OpenStackControlPlane metadata: name: openstack-control-plane namespace: openstack spec: ... octavia: enabled: true template: databaseInstance: <Galera_CR> redisServiceName: octavia-redis octaviaHousekeeping: networkAttachments: - octavia octaviaHealthManager: networkAttachments: - octavia octaviaWorker: networkAttachments: - octavia ...
找到
ovn的服务配置,并在模板下添加以下配置:... ovn: template: ovnController: networkAttachment: tenant nicMappings: octavia: octbr-
networkAttachment- 注意 OVNnetworkAttachment属性和 octavianetworkAttachments属性之间的字符区别。name租户是一个示例值。 -
nicMappings- 该值必须是octavia: octbr。
-
使用负载均衡服务所需的值更新
OpenStackControlPlane自定义资源。- Example
$ oc apply -f openstack_control_plane.yaml -n openstack
验证
等待 RHOCP 创建负载平衡服务资源。运行以下命令来检查状态:
$ oc wait octavia octavia --for condition=Ready- 输出示例
您应该看到类似如下的输出:
octavia.octavia.openstack.org/octavia condition met
确认负载均衡服务 pod 正在运行:
$ oc get pods | grep octavia- 输出示例
您应该看到类似如下的输出:
octavia-api-78b56bb844-ngjhc 2/2 Running 0 12s octavia-healthmanager-f6hpx 1/1 Running 0 14s octavia-housekeeping-knwpf 1/1 Running 0 10s octavia-redis-redis-0 2/2 Running 0 20s octavia-rsyslog-4nkv8 1/1 Running 0 23s octavia-worker-l5hs4 1/1 Running 0 26s
从您的工作站访问 OpenStackClient pod 的远程 shell:
$ oc rsh -n openstack openstackclient确认存在网络
octavia-provider-net和lb-mgmt-net:$ openstack network list -f yaml- 输出示例
- ID: 2e4fc309-546b-4ac8-9eae-aa8d70a27a9b Name: octavia-provider-net Subnets: - eea45073-6e56-47fd-9153-12f7f49bc115 - ID: 77881d3f-04b0-46cb-931f-d54003cce9f0 Name: lb-mgmt-net Subnets: - e4ab96af-8077-4971-baa4-e0d40a16f55a网络
octavia-provider-net是外部提供商网络,仅限于 RHOSO control plane。lb-mgmt-net网络将负载均衡服务连接到 amphora 实例。
退出
openstackclientpod:$ exit