3.14. 使用其他容器镜像
Red Hat OpenStack Services on OpenShift (RHOSO)服务使用特定发行版本和版本的容器镜像进行部署。有时,部署需要为该发行版本和版本生成的容器镜像以外的容器镜像。常见原因包括:
- 部署热修复.
- 使用经过认证的、供应商提供的容器镜像。
安装程序使用的容器镜像通过 OpenStackVersion
CR 控制。在部署服务期间,openstack
operator 会自动创建一个 OpenStackVersion
CR。或者,也可以在 OpenStackControlPlane
CR 的应用程序之前手动创建,但安装了 openstack
operator 后。这允许容器镜像为任何服务和组件单独指定。
这种设计的粒度取决于服务。例如,在块存储服务(cinder)中,所有 cinderAPI
、cinderScheduler
和 cinderBackup
pod 必须具有相同的镜像。但是,对于卷服务,会为每个 cinderVolumes
定义容器镜像。
以下示例演示了具有两个后端的 OpenStackControlPlane
配置:一个名为 ceph
,另一个名为 custom-fc
。custom-fc
后端需要一个经过认证的、供应商提供的容器镜像。此外,我们必须将其他服务镜像配置为使用热修补代码中的非标准镜像。
apiVersion: core.openstack.org/v1beta1 kind: OpenStackControlPlane metadata: name: openstack spec: cinder: template: cinderVolumes: ceph: networkAttachments: - storage < . . . > custom-fc: networkAttachments: - storage
以下示例演示了我们的 OpenStackVersion
CR 可能类似于正确设置容器镜像。
apiVersion: core.openstack.org/v1beta1 kind: OpenStackVersion metadata: name: openstack spec: customContainerImages: cinderAPIImages: <custom-api-image> cinderBackupImages: <custom-backup-image> cinderSchedulerImages: <custom-scheduler-image> cinderVolumeImages: custom-fc: <vendor-volume-volume-image>
-
将
<custom-api-image
> 替换为要使用的 API 服务镜像的名称。 -
将
<custom-backup-image
> 替换为要使用的 Backup 服务镜像的名称。 -
将
<custom-scheduler-image
> 替换为要使用的调度程序服务镜像的名称。 -
将
<vendor-volume-volume-image
> 替换为要使用的认证、厂商提供的镜像的名称。
OpenStackVersion
CR 中的 name
属性必须与 OpenStackControlPlane
CR 中的相同属性匹配。