3.2. 使用新网络驱动程序准备 neutron-api 组件
Red Hat OpenStack Services on OpenShift (RHOSO) openstack-neutron
services 在由红帽构建的 Linux 容器中执行。这些容器镜像包括 "in-tree" 网络驱动程序,如 ML2/OVN。您必须准备新容器镜像才能使用合作伙伴网络驱动程序。合作伙伴必须提供容器镜像,用于在红帽的 RHOSO 容器镜像之上添加额外的层。
- RHOSO 的合作伙伴容器镜像与适用于基于 director 的 RHOSP 的合作伙伴容器镜像类似。
- 提供合作伙伴容器镜像的目的是提供合作伙伴驱动程序所需的软件依赖项。
- 合作伙伴负责生成容器镜像,并且镜像必须在红帽 OpenStack 认证之前通过容器镜像认证流程。容器镜像认证与红帽 OpenStack 认证分开,是 红帽生态系统目录中包含的 要求。
在合作伙伴的网络驱动程序通过 Red Hat OpenStack 认证后,合作伙伴负责为 RHOSO 版本的每个后续次要更新生成经过认证的容器镜像。
- 对于每个次发行版本的 RHOSO 18 更新,合作伙伴必须为更新的版本生成更新的容器镜像,并在红帽生态系统目录中发布更新的容器镜像。
- 旧的 RHOSO 18 次要更新的容器镜像必须保留在红帽生态系统目录中。这样可确保不使用最新 RHOSO 版本的客户仍然可以访问为其 RHOSO 版本构建的合作伙伴容器镜像。
3.2.1. 为网络服务构建合作伙伴容器镜像 复制链接链接已复制到粘贴板!
合作伙伴必须提供红帽认证的容器镜像。neutron-server
服务包括 OVN 后端和许多服务插件的"in-tree"驱动程序。合作伙伴必须为 RHOSO neutron-server
容器镜像上的第 3 层网络驱动程序软件提供 neutron-server
容器镜像。
根据插件或驱动程序,您可能还需要在数据平面或 control plane 节点上部署其他服务或代理。对于 control plane,您可以使用 operator-sdk
添加新的 OpenShift operator,对于数据平面,您可以添加新的 OpenStackDataPlaneService
。您可以在官方 Neutron 代理镜像和 edpm-ansible
角色上构建 OpenStackDataPlaneService
服务。您负责新的自定义服务接口的稳定性。
流程
创建用于生成容器镜像的
Containerfile
:以下示例显示了用于生成neutron-server
容器镜像的Containerfile
或Dockerfile
示例,其中包含合作伙伴的openstack-neutron
驱动程序所需的外部软件依赖项。可以调整示例来生成任何其他 neutron 相关的容器镜像,其中包含合作伙伴的openstack-neutron
驱动程序所需的外部软件依赖项。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 使用 FROM 子句指定 RHOSO 基础镜像,本例中为
neutron-server
服务。18.0.1 标签指定发行版本。要根据特定的次版本生成镜像,请修改标签以指定该发行版本,如 18.0.0 或 openstack-neutron-server-rhel9:*18.0.0*。对于 RHOSO 18 GA,请使用 URL: registry.redhat.io/rhoso/openstack-neutron-server-rhel9:18.0。 - 2
- 示例
Containerfile
中的标签覆盖基础镜像中的对应标签,以唯一标识合作伙伴的镜像。 - 3
- 您可以通过此方法安装软件依赖项,或方法安装 4、5 或 6。
- 4
- 您可以通过此方法安装软件依赖项,或者方法 3、5 或 6。
- 5
- 您可以通过此方法安装软件依赖项,或者方法 3、4 或 6。
- 6
- 您可以通过此方法安装软件依赖项,或者方法 3、4 或 5。
-
构建、标记和上传容器镜像。您可以使用
podman build
或buildah build
命令来构建容器镜像。有关合作伙伴如何选择注册表并为 认证提供访问令牌的更多信息,请参阅红帽软件认证工作流指南。标记镜像,使其与对应的 RHOSO 18 基础镜像匹配。例如,当基础镜像版本 18.0.0 时,合作伙伴的镜像也会标记为版本 18.0.0。您还可以将上述示例流程用于其他 neutron 服务。确保使用正确的 RHOSOopenstack-neutron
基础镜像来代替openstack-neutron-server
基础镜像。 - 认证并发布容器镜像 :有关如何认证容器镜像的信息,请参阅 Red Hat Enterprise Linux 软件认证策略指南 和 Red Hat Software Certification Workflow Guide。您可以在 红帽生态系统目录 中发布容器镜像。
3.2.2. 维护合作伙伴容器镜像和镜像标签 复制链接链接已复制到粘贴板!
当合作伙伴通过认证包含容器镜像的网络解决方案时,合作伙伴负责在每次 OpenShift (RHOSO)容器镜像更改时重新构建该镜像。合作伙伴必须重建容器镜像:
- 每个 RHOSO 维护发行版本。
- 当 RHOSO 容器镜像被更新为解决 CVE 时。
例如,如果合作伙伴根据 RHOSO 18.0.1 认证其解决方案,合作伙伴必须在容器镜像中添加两个标签:
- 18.0.1 表示特定的版本。
- 18.0 表示这是与 RHOSO 18 相关的最新版本。
当 RHOSO 18.0.2 发布时,合作伙伴必须重建其镜像并更新镜像和标签:
- 新镜像的标签为 18.0.2。
- 旧的 18.0.1 镜像必须保留在红帽生态系统目录中。合作伙伴不得删除旧镜像。
- 从旧的 18.0.1 镜像中删除 18.0 标签,并将其添加到新的 18.0.2 镜像中。
3.2.3. 部署合作伙伴容器镜像 复制链接链接已复制到粘贴板!
使用 OpenShift 上的 Red Hat OpenStack Services (RHOSO),您可以使用 OpenStackVersion
自定义资源定义(CRD)覆盖任何服务的容器镜像。在以下示例中,CRD 配置 neutron-server
的自定义镜像,以使用名为"PartnerX"的合作伙伴的容器镜像。