2.7. 将 DeploymentConfig 数据库迁移到 ImageStreams
在 2.6 中,部署包含数据库的 3scale DeploymentConfig 已从 ImageStreams 获取容器镜像,而不是直接引用镜像 URL。
迁移
backend-redis
DeploymentConfig 以使用 backend-redis ImageStream:oc patch dc/backend-redis -p "$(cat db-imagestream-patches/backend-redis-json.patch)" --type json
$ oc patch dc/backend-redis -p "$(cat db-imagestream-patches/backend-redis-json.patch)" --type json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
这会触发
backend-redis
DeploymentConfig 重新部署,DeploymentConfig 现在有一个 ImageChange 触发器引用backend-redis
ImageStream。 backend-worker
、backend-cron
或backend-listener
可能会临时失败,直到重新部署backend-redis
pod。等待 DeploymentConfig 容器集重新引导并再次处于 ready 状态。
-
这会触发
迁移
system-redis
DeploymentConfig 以使用system-redis
ImageStream:oc patch dc/system-redis -p "$(cat db-imagestream-patches/system-redis-json.patch)" --type json
$ oc patch dc/system-redis -p "$(cat db-imagestream-patches/system-redis-json.patch)" --type json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
这会触发
system-redis
DeploymentConfig 的重新部署,DeploymentConfig 现在有一个 ImageChange 触发器引用backend-redis
ImageStream。 - 等待 DeploymentConfig 容器集重新引导并再次处于 ready 状态。
-
这会触发
迁移
system-memcache
DeploymentConfig 以使用system-memcached
ImageStream:oc patch dc/system-memcache -p "$(cat db-imagestream-patches/system-memcached-json.patch)" --type json
$ oc patch dc/system-memcache -p "$(cat db-imagestream-patches/system-memcached-json.patch)" --type json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
这会触发
system-memcache
DeploymentConfig 重新部署,DeploymentConfig 现在有一个 ImageChange 触发器引用system-memcached
ImageStream。 - 等待 DeploymentConfig 容器集重新引导并再次处于 ready 状态。
-
这会触发
将
system-mysql
DeploymentConfig 迁移到system-mysql
ImageStream:oc patch dc/system-mysql -p "$(cat db-imagestream-patches/system-mysql-json.patch)" --type json
$ oc patch dc/system-mysql -p "$(cat db-imagestream-patches/system-mysql-json.patch)" --type json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
这会触发
system-mysql
DeploymentConfig 重新部署,DeploymentConfig 现在有一个 ImageChange 触发器引用system-mysql
ImageStream。 - 等待 DeploymentConfig 容器集重新引导并再次处于 ready 状态。
-
这会触发
迁移
zync-database
DeploymentConfig 以使用zync-database-postgresql
ImageStream:oc patch dc/zync-database -p "$(cat db-imagestream-patches/zync-database-postgresql.patch)"
$ oc patch dc/zync-database -p "$(cat db-imagestream-patches/zync-database-postgresql.patch)"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
这会触发
zync-database
DeploymentConfig 的重新部署,DeploymentConfig 现在有一个 ImageChange 触发器引用zync-database-postgresql
ImageStream。 -
zync
DeploymentConfig pod 可能会临时失败,直到zync-database
再次可用为止,这可能需要一些时间,直到再次就绪的状态为止。验证几分钟后所有 'zync' DeploymentConfig pod 是否处于 Ready 状态。 - 继续操作前,请等待 DeploymentConfig pod 重启并再次处于 ready 状态。
-
这会触发
删除不再使用的
postgresql
ImageStream:oc delete ImageStream postgresql
$ oc delete ImageStream postgresql
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要确认成功,请验证:
- 所有与数据库相关的 DeploymentConfig 现在都使用 ImageStream。您可以验证是否创建了指向相应数据库 ImageStream 的 ImageChange 触发器。
-
ImageChange 触发器有一个名为
lastTriggeredImage
的字段,其中包含指向registry.redhat.io
的 URL。