2.7. 将 DeploymentConfig 数据库迁移到 ImageStreams
在 2.6 中,部署包含数据库的 3scale DeploymentConfig 已从 ImageStreams 获取容器镜像,而不是直接引用镜像 URL。
迁移
backend-redisDeploymentConfig 以使用 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 jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
这会触发
backend-redisDeploymentConfig 重新部署,DeploymentConfig 现在有一个 ImageChange 触发器引用backend-redisImageStream。 backend-worker、backend-cron或backend-listener可能会临时失败,直到重新部署backend-redispod。等待 DeploymentConfig 容器集重新引导并再次处于 ready 状态。
-
这会触发
迁移
system-redisDeploymentConfig 以使用system-redisImageStream: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 jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
这会触发
system-redisDeploymentConfig 的重新部署,DeploymentConfig 现在有一个 ImageChange 触发器引用backend-redisImageStream。 - 等待 DeploymentConfig 容器集重新引导并再次处于 ready 状态。
-
这会触发
迁移
system-memcacheDeploymentConfig 以使用system-memcachedImageStream: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 jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
这会触发
system-memcacheDeploymentConfig 重新部署,DeploymentConfig 现在有一个 ImageChange 触发器引用system-memcachedImageStream。 - 等待 DeploymentConfig 容器集重新引导并再次处于 ready 状态。
-
这会触发
将
system-mysqlDeploymentConfig 迁移到system-mysqlImageStream: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 jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
这会触发
system-mysqlDeploymentConfig 重新部署,DeploymentConfig 现在有一个 ImageChange 触发器引用system-mysqlImageStream。 - 等待 DeploymentConfig 容器集重新引导并再次处于 ready 状态。
-
这会触发
迁移
zync-databaseDeploymentConfig 以使用zync-database-postgresqlImageStream: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-databaseDeploymentConfig 的重新部署,DeploymentConfig 现在有一个 ImageChange 触发器引用zync-database-postgresqlImageStream。 -
zyncDeploymentConfig pod 可能会临时失败,直到zync-database再次可用为止,这可能需要一些时间,直到再次就绪的状态为止。验证几分钟后所有 'zync' DeploymentConfig pod 是否处于 Ready 状态。 - 继续操作前,请等待 DeploymentConfig pod 重启并再次处于 ready 状态。
-
这会触发
删除不再使用的
postgresqlImageStream:oc delete ImageStream postgresql
$ oc delete ImageStream postgresqlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要确认成功,请验证:
- 所有与数据库相关的 DeploymentConfig 现在都使用 ImageStream。您可以验证是否创建了指向相应数据库 ImageStream 的 ImageChange 触发器。
-
ImageChange 触发器有一个名为
lastTriggeredImage的字段,其中包含指向registry.redhat.io的 URL。