11.2. 构建系统镜像
本节提供构建系统镜像的步骤。
先决条件
- 您应该已经执行了准备 Oracle 数据库的步骤。
流程
从 GitHub 存储库克隆 3scale 的 OpenShift 模板。使用以下命令:
$ git clone --branch 2.9.1.GA https://github.com/3scale/3scale-amp-openshift-templates.git-
将您的 Oracle Database Instant 客户端软件包文件放在
3scale-amp-openshift-templates/amp/system-oracle/oracle-client-files目录中。 - 下载 3scale 2.9 amp.yml 模板。
使用
-f选项运行oc new-app命令并指定build.ymlOpenShift 模板:$ oc new-app -f build.yml使用
-f选项运行oc new-app命令以指示amp.ymlOpenShift 模板,并使用-p选项指定带有 OpenShift 集群域的WILDCARD_DOMAIN参数:$ oc new-app -f amp.yml -p WILDCARD_DOMAIN=mydomain.com输入以下
oc patch命令,将SYSTEM_PASSWORD替换为您在准备 Oracle 数据库中设置的 Oracle Databasesystem密码:$ oc patch dc/system-app -p '[{"op": "add", "path": "/spec/strategy/rollingParams/pre/execNewPod/env/-", "value": {"name": "ORACLE_SYSTEM_PASSWORD", "value": "SYSTEM_PASSWORD"}}]' --type=json $ oc patch dc/system-app -p '{"spec": {"strategy": {"rollingParams": {"post":{"execNewPod": {"env": [{"name": "ORACLE_SYSTEM_PASSWORD", "value": "SYSTEM_PASSWORD"}]}}}}}}'输入以下命令,替换
DATABASE_URL以指向在准备 Oracle 数据库中指定的 Oracle 数据库 :$ oc patch secret/system-database -p '{"stringData": {"URL": "DATABASE_URL"}}'输入
oc start-build命令以构建新系统镜像:$ oc start-build 3scale-amp-system-oracle --from-dir=.等待构建完成。要查看构建的状态,请运行以下命令:
$ oc get build <build-name> -o jsonpath="{.status.phase}"- 等待构建处于 Complete 状态。
11.2.1. 更新 ImageChange 触发器 复制链接链接已复制到粘贴板!
更新使用系统镜像的 DeploymentConfig 的 ImageChange 触发器,以便它们使用基于 Oracle 的新系统镜像。
先决条件
- 首先执行构建系统镜像的步骤。
流程
将当前的 3scale 发行版本保存到环境变量中:
$ export THREESCALE_RELEASE=2.9更新
system-appImageChange 触发器:$ oc set triggers dc/system-app --from-image=amp-system:${THREESCALE_RELEASE} --containers=system-master,system-developer,system-provider --remove $ oc set triggers dc/system-app --from-image=amp-system:${THREESCALE_RELEASE}-oracle --containers=system-master,system-developer,system-provider这会触发
system-appDeploymentConfig 的重新部署。等待它重新部署,其对应的新容器集就绪,并且旧的容器集已停止。更新
system-sidekiqImageChange 触发器:$ oc set triggers dc/system-sidekiq --from-image=amp-system:${THREESCALE_RELEASE} --containers=system-sidekiq,check-svc --remove $ oc set triggers dc/system-sidekiq --from-image=amp-system:${THREESCALE_RELEASE}-oracle --containers=system-sidekiq,check-svc这会触发
system-sidekiqDeploymentConfig 的重新部署。等待它重新部署,其对应的新容器集就绪,并且旧的容器集已停止。更新
system-sphinxImageChange 触发器:$ oc set triggers dc/system-sphinx --from-image=amp-system:${THREESCALE_RELEASE} --containers=system-sphinx,system-master-svc --remove $ oc set triggers dc/system-sphinx --from-image=amp-system:${THREESCALE_RELEASE}-oracle --containers=system-sphinx,system-master-svc这会触发
system-sphinxDeploymentConfig 的重新部署。等待它重新部署,其对应的新容器集就绪,并且旧的容器集已停止。
其他资源
有关 3scale 和 Oracle 数据库支持的更多信息,请参阅 Red Hat 3scale API 管理支持的配置。