4.15. 使用其他容器镜像
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 中的相同属性匹配。