2.2. テンプレートベースのインストール環境における 2.11 から 2.12 へのアップグレード
テンプレートベースのインストール環境において、3scale 2.11 を 2.12 にアップグレードするには、本セクションに記載の手順に従います。
アップグレードを開始するには、3scale がデプロイされているプロジェクトに移動します。
oc project <3scale-project>
$ oc project <3scale-project>
続いて、以下の順序で手順を実行します。
2.2.1. 3scale プロジェクトのバックアップの作成 リンクのコピーリンクがクリップボードにコピーされました!
前の手順
なし
現在の手順
3scale プロジェクトのバックアップを作成するのに必要なアクションを以下のリストに示します。
手順
3scale で使用するデータベースに応じて、${SYSTEM_DB} を以下のいずれかの値に設定します。
-
データベースが MySQL の場合:
SYSTEM_DB=system-mysql -
データベースが PostgreSQL の場合:
SYSTEM_DB=system-postgresql
-
データベースが MySQL の場合:
既存の DeploymentConfigs でバックアップファイルを作成します。
THREESCALE_DC_NAMES="apicast-production apicast-staging backend-cron backend-listener backend-redis backend-worker system-app system-memcache ${SYSTEM_DB} system-redis system-sidekiq system-sphinx zync zync-database zync-que" for component in ${THREESCALE_DC_NAMES}; do oc get --export -o yaml dc ${component} > ${component}_dc.yml ; done$ THREESCALE_DC_NAMES="apicast-production apicast-staging backend-cron backend-listener backend-redis backend-worker system-app system-memcache ${SYSTEM_DB} system-redis system-sidekiq system-sphinx zync zync-database zync-que" for component in ${THREESCALE_DC_NAMES}; do oc get --export -o yaml dc ${component} > ${component}_dc.yml ; doneCopy to Clipboard Copied! Toggle word wrap Toggle overflow export allコマンドでエクスポートされるプロジェクト内のすべての既存 OpenShift リソースをバックアップします。oc get -o yaml --export all > threescale-project-elements.yaml
$ oc get -o yaml --export all > threescale-project-elements.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow export allコマンドでエクスポートされない追加の要素でバックアップファイルを作成します。for object in rolebindings serviceaccounts secrets imagestreamtags cm rolebindingrestrictions limitranges resourcequotas pvc templates cronjobs statefulsets hpa deployments replicasets poddisruptionbudget endpoints do oc get -o yaml --export $object > $object.yaml done
$ for object in rolebindings serviceaccounts secrets imagestreamtags cm rolebindingrestrictions limitranges resourcequotas pvc templates cronjobs statefulsets hpa deployments replicasets poddisruptionbudget endpoints do oc get -o yaml --export $object > $object.yaml doneCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 生成されたすべてのファイルが空ではないこと、およびそれらすべての内容が予想どおりであることを確認します。
次のステップ
2.2.2. 未使用の AMP_RELEASE 変数の削除 リンクのコピーリンクがクリップボードにコピーされました!
現在の手順
この手順では、未使用の AMP_RELEASE 変数を system-app コンテナー、system-app pre hook から削除し、AMP_RELEASE が存在しないことを確認します。
手順
system-appコンテナーから変数を削除します。変数名の後ろにあるダッシュ文字に注意してください。
oc set env dc/system-app AMP_RELEASE-
$ oc set env dc/system-app AMP_RELEASE-Copy to Clipboard Copied! Toggle word wrap Toggle overflow
system-apppre hook から変数を削除します。INDEX=$(oc get dc system-app -o json | jq '.spec.strategy.rollingParams.pre.execNewPod.env | map(.name == "AMP_RELEASE") | index(true)') oc patch dc/system-app --type=json -p "[{'op': 'remove', 'path': '/spec/strategy/rollingParams/pre/execNewPod/env/$INDEX'}]"$ INDEX=$(oc get dc system-app -o json | jq '.spec.strategy.rollingParams.pre.execNewPod.env | map(.name == "AMP_RELEASE") | index(true)') oc patch dc/system-app --type=json -p "[{'op': 'remove', 'path': '/spec/strategy/rollingParams/pre/execNewPod/env/$INDEX'}]"Copy to Clipboard Copied! Toggle word wrap Toggle overflow AMP_RELEASE が存在しないことを確認します。
oc get dc system-app -o yaml | grep AMP_RELEASE
$ oc get dc system-app -o yaml | grep AMP_RELEASECopy to Clipboard Copied! Toggle word wrap Toggle overflow
次のステップ
2.2.3. MySQL 設定のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
3scale デプロイメントで外部データベースモードが有効になっていて、MySQL 8.0 を使用している場合は、3scale 2.12 の認証プラグインを mysql_native_password に設定します。
MySQL 設定ファイルに以下を追加します。
[mysqld] default_authentication_plugin=mysql_native_password
[mysqld]
default_authentication_plugin=mysql_native_password
現在の手順
この手順では MySQL 設定 configmap にパッチを適用し、MySQL 8.0 へのアップグレードを有効にします。
現在の 3scale インストールに system-mysql デプロイメントが存在する場合に限り、この手順を実行します。
手順
configmapにパッチを適用します。oc patch configmap/mysql-extra-conf --type merge -p '{"data": {"mysql-default-authentication-plugin.cnf": "[mysqld]\ndefault_authentication_plugin=mysql_native_password"}}'$ oc patch configmap/mysql-extra-conf --type merge -p '{"data": {"mysql-default-authentication-plugin.cnf": "[mysqld]\ndefault_authentication_plugin=mysql_native_password"}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow configmapが更新されていることを確認します。oc get cm mysql-extra-conf -o jsonpath='{.data.mysql-default-authentication-plugin\.cnf}'$ oc get cm mysql-extra-conf -o jsonpath='{.data.mysql-default-authentication-plugin\.cnf}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下が返されるはずです。
[mysqld] default_authentication_plugin=mysql_native_password
[mysqld] default_authentication_plugin=mysql_native_passwordCopy to Clipboard Copied! Toggle word wrap Toggle overflow
次のステップ
2.2.4. 3scale イメージのアップグレード リンクのコピーリンクがクリップボードにコピーされました!
前の手順
現在の手順
この手順では、アップグレードプロセスに必要な 3scale イメージを更新します。
2.2.4.1. system イメージのパッチ リンクのコピーリンクがクリップボードにコピーされました!
新しいイメージストリームタグを作成します。
oc patch imagestream/amp-system --type=json -p '[{"op": "add", "path": "/spec/tags/-", "value": {"annotations": {"openshift.io/display-name": "AMP system 2.12"}, "from": { "kind": "DockerImage", "name": "registry.redhat.io/3scale-amp2/system-rhel7:3scale2.12"}, "name": "2.12", "referencePolicy": {"type": "Source"}}}]'$ oc patch imagestream/amp-system --type=json -p '[{"op": "add", "path": "/spec/tags/-", "value": {"annotations": {"openshift.io/display-name": "AMP system 2.12"}, "from": { "kind": "DockerImage", "name": "registry.redhat.io/3scale-amp2/system-rhel7:3scale2.12"}, "name": "2.12", "referencePolicy": {"type": "Source"}}}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 手順を進めるには、ご自分の 3scale デプロイメントで使用しているデータベースを考慮してください。
- データベースが Oracle DB の場合は、次に記載されている手順に従います。Patching the system image:3scale with Oracle Database
- データベースが Oracle DB 以外の場合は、次に記載されている手順に従います。Patching the system image:3scale with other databases
2.2.4.1.1. システムイメージのパッチ適用: Oracle データベースを使用する 3Scale リンクのコピーリンクがクリップボードにコピーされました!
Oracle Database を使用して 3scale のシステムイメージのパッチ適用を開始するには、システムイメージをビルドする必要があります。
GitHub リポジトリーから 3scale OpenShift テンプレートをダウンロードし、アーカイブをデプロイメントします。
tar -xzf 3scale-amp-openshift-templates-3scale-2.12.0-GA.tar.gz
tar -xzf 3scale-amp-openshift-templates-3scale-2.12.0-GA.tar.gzCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
Oracle Database の Instant Client パッケージファイルを
3scale-amp-openshift-templates-3scale-2.12.0-GA/amp/system-oracle/oracle-client-filesディレクトリーに配置します。 -fオプションを使用してoc processコマンドを実行し、oc applyコマンドでbuild.ymlOpenShift テンプレートを指定し、-fオプションを使用して既存のビルドをオーバーライドします。oc process -f build.yml | oc apply -f -
$ oc process -f build.yml | oc apply -f -Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc start-buildコマンドを入力し、新しいシステムイメージをビルドします。oc start-build 3scale-amp-system-oracle --from-dir=.
$ oc start-build 3scale-amp-system-oracle --from-dir=.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
system-appImageChange トリガーにパッチを適用します。古い
2.11-oracleトリガーを削除します。oc set triggers dc/system-app --from-image=amp-system:2.11-oracle --containers=system-master,system-developer,system-provider --remove
$ oc set triggers dc/system-app --from-image=amp-system:2.11-oracle --containers=system-master,system-developer,system-provider --removeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいバージョン固有のトリガーを追加します。
oc set triggers dc/system-app --from-image=amp-system:2.12-oracle --containers=system-master,system-developer,system-provider
$ oc set triggers dc/system-app --from-image=amp-system:2.12-oracle --containers=system-master,system-developer,system-providerCopy to Clipboard Copied! Toggle word wrap Toggle overflow これがトリガーとなり
system-appが再デプロイされます。再デプロイが完了し、対応する新規 Pod が使用できる状態になり、古い Pod が終了するまで待ちます。
system-sidekiqImageChange トリガーにパッチを適用します。古い
2.11-oracleトリガーを削除します。oc set triggers dc/system-sidekiq --from-image=amp-system:2.11-oracle --containers=system-sidekiq,check-svc --remove
$ oc set triggers dc/system-sidekiq --from-image=amp-system:2.11-oracle --containers=system-sidekiq,check-svc --removeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいバージョン固有のトリガーを追加します。
oc set triggers dc/system-sidekiq --from-image=amp-system:2.12-oracle --containers=system-sidekiq,check-svc
$ oc set triggers dc/system-sidekiq --from-image=amp-system:2.12-oracle --containers=system-sidekiq,check-svcCopy to Clipboard Copied! Toggle word wrap Toggle overflow これがトリガーとなり
system-sidekiqが再デプロイされます。再デプロイが完了し、対応する新規 Pod が使用できる状態になり、古い Pod が終了するまで待ちます。
system-sphinxImageChange トリガーにパッチを適用します。古い
2.11-oracleトリガーを削除します。oc set triggers dc/system-sphinx --from-image=amp-system:2.11-oracle --containers=system-sphinx,system-master-svc --remove
$ oc set triggers dc/system-sphinx --from-image=amp-system:2.11-oracle --containers=system-sphinx,system-master-svc --removeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいバージョン固有のトリガーを追加します。
oc set triggers dc/system-sphinx --from-image=amp-system:2.12-oracle --containers=system-sphinx,system-master-svc
$ oc set triggers dc/system-sphinx --from-image=amp-system:2.12-oracle --containers=system-sphinx,system-master-svcCopy to Clipboard Copied! Toggle word wrap Toggle overflow これがトリガーとなり
system-sphinxが再デプロイされます。再デプロイが完了し、対応する新規 Pod が使用できる状態になり、古い Pod が終了するまで待ちます。
- 3scale をスケールダウンした場合は、元に戻します。
2.2.4.1.2. システムイメージのパッチ適用: 他のデータベースを使用する 3scale リンクのコピーリンクがクリップボードにコピーされました!
system-appImageChange トリガーにパッチを適用します。古い
2.11トリガーを削除します。oc set triggers dc/system-app --from-image=amp-system:2.11 --containers=system-master,system-developer,system-provider --remove
$ oc set triggers dc/system-app --from-image=amp-system:2.11 --containers=system-master,system-developer,system-provider --removeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいバージョン固有のトリガーを追加します。
oc set triggers dc/system-app --from-image=amp-system:2.12 --containers=system-master,system-developer,system-provider
$ oc set triggers dc/system-app --from-image=amp-system:2.12 --containers=system-master,system-developer,system-providerCopy to Clipboard Copied! Toggle word wrap Toggle overflow これがトリガーとなり
system-appが再デプロイされます。再デプロイが完了し、対応する新規 Pod が使用できる状態になり、古い Pod が終了するまで待ちます。
system-sidekiqImageChange トリガーにパッチを適用します。古い
2.11トリガーを削除します。oc set triggers dc/system-sidekiq --from-image=amp-system:2.11 --containers=system-sidekiq,check-svc --remove
$ oc set triggers dc/system-sidekiq --from-image=amp-system:2.11 --containers=system-sidekiq,check-svc --removeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいバージョン固有のトリガーを追加します。
oc set triggers dc/system-sidekiq --from-image=amp-system:2.12 --containers=system-sidekiq,check-svc
$ oc set triggers dc/system-sidekiq --from-image=amp-system:2.12 --containers=system-sidekiq,check-svcCopy to Clipboard Copied! Toggle word wrap Toggle overflow これがトリガーとなり
system-sidekiqが再デプロイされます。再デプロイが完了し、対応する新規 Pod が使用できる状態になり、古い Pod が終了するまで待ちます。
system-sphinxImageChange トリガーにパッチを適用します。古い
2.11トリガーを削除します。oc set triggers dc/system-sphinx --from-image=amp-system:2.11 --containers=system-sphinx,system-master-svc --remove
$ oc set triggers dc/system-sphinx --from-image=amp-system:2.11 --containers=system-sphinx,system-master-svc --removeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいバージョン固有のトリガーを追加します。
oc set triggers dc/system-sphinx --from-image=amp-system:2.12 --containers=system-sphinx,system-master-svc
$ oc set triggers dc/system-sphinx --from-image=amp-system:2.12 --containers=system-sphinx,system-master-svcCopy to Clipboard Copied! Toggle word wrap Toggle overflow これがトリガーとなり
system-sphinxが再デプロイされます。再デプロイが完了し、対応する新規 Pod が使用できる状態になり、古い Pod が終了するまで待ちます。
2.2.4.2. apicast イメージのパッチ リンクのコピーリンクがクリップボードにコピーされました!
amp-apicastイメージストリームにパッチを適用します。oc patch imagestream/amp-apicast --type=json -p '[{"op": "add", "path": "/spec/tags/-", "value": {"annotations": {"openshift.io/display-name": "AMP APIcast 2.12"}, "from": { "kind": "DockerImage", "name": "registry.redhat.io/3scale-amp2/apicast-gateway-rhel8:3scale2.12"}, "name": "2.12", "referencePolicy": {"type": "Source"}}}]'$ oc patch imagestream/amp-apicast --type=json -p '[{"op": "add", "path": "/spec/tags/-", "value": {"annotations": {"openshift.io/display-name": "AMP APIcast 2.12"}, "from": { "kind": "DockerImage", "name": "registry.redhat.io/3scale-amp2/apicast-gateway-rhel8:3scale2.12"}, "name": "2.12", "referencePolicy": {"type": "Source"}}}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow apicast-stagingImageChange トリガーにパッチを適用します。古い
2.11トリガーを削除します。oc set triggers dc/apicast-staging --from-image=amp-apicast:2.11 --containers=apicast-staging --remove
$ oc set triggers dc/apicast-staging --from-image=amp-apicast:2.11 --containers=apicast-staging --removeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいバージョン固有のトリガーを追加します。
oc set triggers dc/apicast-staging --from-image=amp-apicast:2.12 --containers=apicast-staging
$ oc set triggers dc/apicast-staging --from-image=amp-apicast:2.12 --containers=apicast-stagingCopy to Clipboard Copied! Toggle word wrap Toggle overflow これがトリガーとなり
apicast-stagingが再デプロイされます。再デプロイが完了し、対応する新規 Pod が使用できる状態になり、古い Pod が終了するまで待ちます。
apicast-productionImageChange トリガーにパッチを適用します。古い
2.11トリガーを削除します。oc set triggers dc/apicast-production --from-image=amp-apicast:2.11 --containers=apicast-production,system-master-svc --remove
$ oc set triggers dc/apicast-production --from-image=amp-apicast:2.11 --containers=apicast-production,system-master-svc --removeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいバージョン固有のトリガーを追加します。
oc set triggers dc/apicast-production --from-image=amp-apicast:2.12 --containers=apicast-production,system-master-svc
$ oc set triggers dc/apicast-production --from-image=amp-apicast:2.12 --containers=apicast-production,system-master-svcCopy to Clipboard Copied! Toggle word wrap Toggle overflow これがトリガーとなり
apicast-productionが再デプロイされます。再デプロイが完了し、対応する新規 Pod が使用できる状態になり、古い Pod が終了するまで待ちます。
2.2.4.3. backend イメージのパッチ リンクのコピーリンクがクリップボードにコピーされました!
amp-backendイメージストリームにパッチを適用します。oc patch imagestream/amp-backend --type=json -p '[{"op": "add", "path": "/spec/tags/-", "value": {"annotations": {"openshift.io/display-name": "AMP Backend 2.12"}, "from": { "kind": "DockerImage", "name": "registry.redhat.io/3scale-amp2/backend-rhel8:3scale2.12"}, "name": "2.12", "referencePolicy": {"type": "Source"}}}]'$ oc patch imagestream/amp-backend --type=json -p '[{"op": "add", "path": "/spec/tags/-", "value": {"annotations": {"openshift.io/display-name": "AMP Backend 2.12"}, "from": { "kind": "DockerImage", "name": "registry.redhat.io/3scale-amp2/backend-rhel8:3scale2.12"}, "name": "2.12", "referencePolicy": {"type": "Source"}}}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow backend-listenerImageChange トリガーにパッチを適用します。古い
2.11トリガーを削除します。oc set triggers dc/backend-listener --from-image=amp-backend:2.11 --containers=backend-listener --remove
$ oc set triggers dc/backend-listener --from-image=amp-backend:2.11 --containers=backend-listener --removeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいバージョン固有のトリガーを追加します。
oc set triggers dc/backend-listener --from-image=amp-backend:2.12 --containers=backend-listener
$ oc set triggers dc/backend-listener --from-image=amp-backend:2.12 --containers=backend-listenerCopy to Clipboard Copied! Toggle word wrap Toggle overflow これがトリガーとなり
backend-listenerが再デプロイされます。再デプロイが完了し、対応する新規 Pod が使用できる状態になり、古い Pod が終了するまで待ちます。
backend-workerImageChange トリガーにパッチを適用します。古い
2.11トリガーを削除します。oc set triggers dc/backend-worker --from-image=amp-backend:2.11 --containers=backend-worker,backend-redis-svc --remove
$ oc set triggers dc/backend-worker --from-image=amp-backend:2.11 --containers=backend-worker,backend-redis-svc --removeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいバージョン固有のトリガーを追加します。
oc set triggers dc/backend-worker --from-image=amp-backend:2.12 --containers=backend-worker,backend-redis-svc
$ oc set triggers dc/backend-worker --from-image=amp-backend:2.12 --containers=backend-worker,backend-redis-svcCopy to Clipboard Copied! Toggle word wrap Toggle overflow これがトリガーとなり
backend-workerが再デプロイされます。再デプロイが完了し、対応する新規 Pod が使用できる状態になり、古い Pod が終了するまで待ちます。
backend-cronImageChange トリガーにパッチを適用します。古い
2.11トリガーを削除します。oc set triggers dc/backend-cron --from-image=amp-backend:2.11 --containers=backend-cron,backend-redis-svc --remove
$ oc set triggers dc/backend-cron --from-image=amp-backend:2.11 --containers=backend-cron,backend-redis-svc --removeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいバージョン固有のトリガーを追加します。
oc set triggers dc/backend-cron --from-image=amp-backend:2.12 --containers=backend-cron,backend-redis-svc
$ oc set triggers dc/backend-cron --from-image=amp-backend:2.12 --containers=backend-cron,backend-redis-svcCopy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドがトリガーとなり
backend-cronが再デプロイされます。再デプロイされ、対応する新しい Pod の準備が整い、以前の Pod が終了するまで待ちます。
2.2.4.4. zync イメージへのパッチ適用 リンクのコピーリンクがクリップボードにコピーされました!
amp-zyncイメージストリームにパッチを適用します。oc patch imagestream/amp-zync --type=json -p '[{"op": "add", "path": "/spec/tags/-", "value": {"annotations": {"openshift.io/display-name": "AMP Zync 2.12"}, "from": { "kind": "DockerImage", "name": "registry.redhat.io/3scale-amp2/zync-rhel8:3scale2.12"}, "name": "2.12", "referencePolicy": {"type": "Source"}}}]'$ oc patch imagestream/amp-zync --type=json -p '[{"op": "add", "path": "/spec/tags/-", "value": {"annotations": {"openshift.io/display-name": "AMP Zync 2.12"}, "from": { "kind": "DockerImage", "name": "registry.redhat.io/3scale-amp2/zync-rhel8:3scale2.12"}, "name": "2.12", "referencePolicy": {"type": "Source"}}}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow zyncImageChange トリガーにパッチを適用します。古い
2.11トリガーを削除します。oc set triggers dc/zync --from-image=amp-zync:2.11 --containers=zync,zync-db-svc --remove
$ oc set triggers dc/zync --from-image=amp-zync:2.11 --containers=zync,zync-db-svc --removeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいバージョン固有のトリガーを追加します。
oc set triggers dc/zync --from-image=amp-zync:2.12 --containers=zync,zync-db-svc
$ oc set triggers dc/zync --from-image=amp-zync:2.12 --containers=zync,zync-db-svcCopy to Clipboard Copied! Toggle word wrap Toggle overflow これがトリガーとなり
zyncが再デプロイされます。再デプロイが完了し、対応する新規 Pod が使用できる状態になり、古い Pod が終了するまで待ちます。
zync-queImageChange トリガーにパッチを適用します。古い
2.11トリガーを削除します。oc set triggers dc/zync-que --from-image=amp-zync:2.11 --containers=que --remove
$ oc set triggers dc/zync-que --from-image=amp-zync:2.11 --containers=que --removeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいバージョン固有のトリガーを追加します。
oc set triggers dc/zync-que --from-image=amp-zync:2.12 --containers=que
$ oc set triggers dc/zync-que --from-image=amp-zync:2.12 --containers=queCopy to Clipboard Copied! Toggle word wrap Toggle overflow これがトリガーとなり
zync-queが再デプロイされます。再デプロイが完了し、対応する新規 Pod が使用できる状態になり、古い Pod が終了するまで待ちます。
2.2.4.5. system-memcached イメージのパッチ リンクのコピーリンクがクリップボードにコピーされました!
system-memcachedイメージストリームにパッチを適用します。oc patch imagestream/system-memcached --type=json -p '[{"op": "add", "path": "/spec/tags/-", "value": {"annotations": {"openshift.io/display-name": "System 2.12 Memcached"}, "from": { "kind": "DockerImage", "name": "registry.redhat.io/3scale-amp2/memcached-rhel7:3scale2.12"}, "name": "2.12", "referencePolicy": {"type": "Source"}}}]'$ oc patch imagestream/system-memcached --type=json -p '[{"op": "add", "path": "/spec/tags/-", "value": {"annotations": {"openshift.io/display-name": "System 2.12 Memcached"}, "from": { "kind": "DockerImage", "name": "registry.redhat.io/3scale-amp2/memcached-rhel7:3scale2.12"}, "name": "2.12", "referencePolicy": {"type": "Source"}}}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow system-memcacheImageChange トリガーにパッチを適用します。古い
2.11トリガーを削除します。oc set triggers dc/system-memcache --from-image=system-memcached:2.11 --containers=memcache --remove
$ oc set triggers dc/system-memcache --from-image=system-memcached:2.11 --containers=memcache --removeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいバージョン固有のトリガーを追加します。
oc set triggers dc/system-memcache --from-image=system-memcached:2.12 --containers=memcache
$ oc set triggers dc/system-memcache --from-image=system-memcached:2.12 --containers=memcacheCopy to Clipboard Copied! Toggle word wrap Toggle overflow これにより、
system-memcacheDeploymentConfig の再デプロイメントがトリガーされます。再デプロイが完了し、対応する新規 Pod が使用できる状態になり、古い Pod が終了するまで待ちます。
2.2.4.6. zync-database-postgresql イメージのパッチ リンクのコピーリンクがクリップボードにコピーされました!
zync-database-postgresqlイメージストリームにパッチを適用します。oc patch imagestream/zync-database-postgresql --type=json -p '[{"op": "add", "path": "/spec/tags/-", "value": {"annotations": {"openshift.io/display-name": "Zync 2.12 PostgreSQL"}, "from": { "kind": "DockerImage", "name": "registry.redhat.io/rhscl/postgresql-10-rhel7"}, "name": "2.12", "referencePolicy": {"type": "Source"}}}]'$ oc patch imagestream/zync-database-postgresql --type=json -p '[{"op": "add", "path": "/spec/tags/-", "value": {"annotations": {"openshift.io/display-name": "Zync 2.12 PostgreSQL"}, "from": { "kind": "DockerImage", "name": "registry.redhat.io/rhscl/postgresql-10-rhel7"}, "name": "2.12", "referencePolicy": {"type": "Source"}}}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow このパッチコマンドにより
zync-database-postgresqlイメージストリームが更新され、2.12 タグが含まれるようになります。以下の手順により、2.12 タグが作成されていることを確認することができます。以下のコマンドを実行します。
oc get is zync-database-postgresql
$ oc get is zync-database-postgresqlCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Tags 欄に 2.12 タグが表示されていることを確認します。
zync-databaseImageChange トリガーにパッチを適用します。古い
2.11トリガーを削除します。oc set triggers dc/zync-database --from-image=zync-database-postgresql:2.11 --containers=postgresql --remove
$ oc set triggers dc/zync-database --from-image=zync-database-postgresql:2.11 --containers=postgresql --removeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいバージョン固有のトリガーを追加します。
oc set triggers dc/zync-database --from-image=zync-database-postgresql:2.12 --containers=postgresql
$ oc set triggers dc/zync-database --from-image=zync-database-postgresql:2.12 --containers=postgresqlCopy to Clipboard Copied! Toggle word wrap Toggle overflow イメージに新しい更新があれば、このパッチがトリガーとなり
zync-databaseDeploymentConfig も再デプロイされます。その場合は、新規 Pod の再デプロイが完了して使用できる状態になり、古い Pod が終了するまで待ちます。
2.2.4.7. その他のイメージの変更 リンクのコピーリンクがクリップボードにコピーされました!
3scale 2.11 のインストール環境で以下の DeploymentConfig の 1 つまたは複数が利用可能な場合は、該当するリンクをクリックして詳細な操作手順を確認してください。
backend-redis DeploymentConfig
現在の 3scale インストール環境に backend-redis DeploymentConfig が存在する場合は、backend-redis 用の redis イメージにパッチを適用します。
backend-redisイメージストリームにパッチを適用します。oc patch imagestream/backend-redis --type=json -p '[{"op": "add", "path": "/spec/tags/-", "value": {"annotations": {"openshift.io/display-name": "Backend 2.12 Redis"}, "from": { "kind": "DockerImage", "name": "registry.redhat.io/rhscl/redis-5-rhel7:5"}, "name": "2.12", "referencePolicy": {"type": "Source"}}}]'$ oc patch imagestream/backend-redis --type=json -p '[{"op": "add", "path": "/spec/tags/-", "value": {"annotations": {"openshift.io/display-name": "Backend 2.12 Redis"}, "from": { "kind": "DockerImage", "name": "registry.redhat.io/rhscl/redis-5-rhel7:5"}, "name": "2.12", "referencePolicy": {"type": "Source"}}}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow このパッチにより backend-redis イメージストリームが更新され、2.12 タグが含まれるようになります。以下のコマンドにより Tags 欄に 2.12 が表示されれば、タグが作成されていることを確認することができます。
oc get is backend-redis
$ oc get is backend-redisCopy to Clipboard Copied! Toggle word wrap Toggle overflow backend-redisImageChange トリガーにパッチを適用します。古い
2.11トリガーを削除します。oc set triggers dc/backend-redis --from-image=backend-redis:2.11 --containers=backend-redis --remove
$ oc set triggers dc/backend-redis --from-image=backend-redis:2.11 --containers=backend-redis --removeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいバージョン固有のトリガーを追加します。
oc set triggers dc/backend-redis --from-image=backend-redis:2.12 --containers=backend-redis
$ oc set triggers dc/backend-redis --from-image=backend-redis:2.12 --containers=backend-redisCopy to Clipboard Copied! Toggle word wrap Toggle overflow イメージに新しい更新があれば、このパッチがトリガーとなり
backend-redisDeploymentConfig も再デプロイされます。その場合は、新規 Pod の再デプロイが完了して使用できる状態になり、古い Pod が終了するまで待ちます。
system-redis DeploymentConfig
現在の 3scale インストール環境に system-redis DeploymentConfig が存在する場合は、system-redis 用の redis イメージにパッチを適用します。
system-redisイメージストリームにパッチを適用します。oc patch imagestream/system-redis --type=json -p '[{"op": "add", "path": "/spec/tags/-", "value": {"annotations": {"openshift.io/display-name": "System 2.12 Redis"}, "from": { "kind": "DockerImage", "name": "registry.redhat.io/rhscl/redis-5-rhel7:5"}, "name": "2.12", "referencePolicy": {"type": "Source"}}}]'$ oc patch imagestream/system-redis --type=json -p '[{"op": "add", "path": "/spec/tags/-", "value": {"annotations": {"openshift.io/display-name": "System 2.12 Redis"}, "from": { "kind": "DockerImage", "name": "registry.redhat.io/rhscl/redis-5-rhel7:5"}, "name": "2.12", "referencePolicy": {"type": "Source"}}}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow このパッチにより
system-redisイメージストリームが更新され、2.12 タグが含まれるようになります。以下のコマンドにより Tags 欄に 2.12 が表示されれば、タグが作成されていることを確認することができます。oc get is system-redis
$ oc get is system-redisCopy to Clipboard Copied! Toggle word wrap Toggle overflow system-redisImageChange トリガーにパッチを適用します。古い
2.11トリガーを削除します。oc set triggers dc/system-redis --from-image=system-redis:2.11 --containers=system-redis --remove
$ oc set triggers dc/system-redis --from-image=system-redis:2.11 --containers=system-redis --removeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいバージョン固有のトリガーを追加します。
oc set triggers dc/system-redis --from-image=system-redis:2.12 --containers=system-redis
$ oc set triggers dc/system-redis --from-image=system-redis:2.12 --containers=system-redisCopy to Clipboard Copied! Toggle word wrap Toggle overflow イメージに新しい更新があれば、このパッチがトリガーとなり
system-redisDeploymentConfig も再デプロイされます。その場合は、新規 Pod の再デプロイが完了して使用できる状態になり、古い Pod が終了するまで待ちます。
system-mysql DeploymentConfig
現在の 3scale インストール環境に system-mysql DeploymentConfig が存在する場合は、system-mysql 用の MySQL イメージにパッチを適用します。
system-mysqlイメージストリームにパッチを適用します。oc patch imagestream/system-mysql --type=json -p '[{"op": "add", "path": "/spec/tags/-", "value": {"annotations": {"openshift.io/display-name": "System 2.12 MySQL"}, "from": { "kind": "DockerImage", "name": "registry.redhat.io/rhel8/mysql-80:1"}, "name": "2.12", "referencePolicy": {"type": "Source"}}}]'$ oc patch imagestream/system-mysql --type=json -p '[{"op": "add", "path": "/spec/tags/-", "value": {"annotations": {"openshift.io/display-name": "System 2.12 MySQL"}, "from": { "kind": "DockerImage", "name": "registry.redhat.io/rhel8/mysql-80:1"}, "name": "2.12", "referencePolicy": {"type": "Source"}}}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow このパッチにより
system-mysqlイメージストリームが更新され、2.12 タグが含まれるようになります。以下のコマンドにより Tags 欄に 2.12 が表示されれば、タグが作成されていることを確認することができます。oc get is system-mysql
$ oc get is system-mysqlCopy to Clipboard Copied! Toggle word wrap Toggle overflow system-mysqlImageChange トリガーにパッチを適用します。古い
2.11トリガーを削除します。oc set triggers dc/system-mysql --from-image=system-mysql:2.11 --containers=system-mysql --remove
$ oc set triggers dc/system-mysql --from-image=system-mysql:2.11 --containers=system-mysql --removeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいバージョン固有のトリガーを追加します。
oc set triggers dc/system-mysql --from-image=system-mysql:2.12 --containers=system-mysql
$ oc set triggers dc/system-mysql --from-image=system-mysql:2.12 --containers=system-mysqlCopy to Clipboard Copied! Toggle word wrap Toggle overflow イメージに新しい更新があれば、このパッチがトリガーとなり
system-mysqlDeploymentConfig も再デプロイされます。その場合は、新規 Pod の再デプロイが完了して使用できる状態になり、古い Pod が終了するまで待ちます。
system-postgresql DeploymentConfig
現在の 3scale インストール環境に system-postgresql DeploymentConfig が存在する場合は、system-postgresql 用の PostgreSQL イメージにパッチを適用します。
system-postgresqlイメージストリームにパッチを適用します。oc patch imagestream/system-postgresql --type=json -p '[{"op": "add", "path": "/spec/tags/-", "value": {"annotations": {"openshift.io/display-name": "System 2.12 PostgreSQL"}, "from": { "kind": "DockerImage", "name": "registry.redhat.io/rhscl/postgresql-10-rhel7"}, "name": "2.12", "referencePolicy": {"type": "Source"}}}]'$ oc patch imagestream/system-postgresql --type=json -p '[{"op": "add", "path": "/spec/tags/-", "value": {"annotations": {"openshift.io/display-name": "System 2.12 PostgreSQL"}, "from": { "kind": "DockerImage", "name": "registry.redhat.io/rhscl/postgresql-10-rhel7"}, "name": "2.12", "referencePolicy": {"type": "Source"}}}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow このパッチにより
system-postgresqlイメージストリームが更新され、2.12 タグが含まれるようになります。以下のコマンドにより Tags 欄に 2.12 が表示されれば、タグが作成されていることを確認することができます。oc get is system-postgresql
$ oc get is system-postgresqlCopy to Clipboard Copied! Toggle word wrap Toggle overflow system-postgresqlImageChange トリガーにパッチを適用します。古い
2.11トリガーを削除します。oc set triggers dc/system-postgresql --from-image=system-postgresql:2.11 --containers=system-postgresql --remove
$ oc set triggers dc/system-postgresql --from-image=system-postgresql:2.11 --containers=system-postgresql --removeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいバージョン固有のトリガーを追加します。
oc set triggers dc/system-postgresql --from-image=system-postgresql:2.12 --containers=system-postgresql
$ oc set triggers dc/system-postgresql --from-image=system-postgresql:2.12 --containers=system-postgresqlCopy to Clipboard Copied! Toggle word wrap Toggle overflow イメージに新しい更新があれば、このパッチがトリガーとなり
system-postgresqlDeploymentConfig も再デプロイされます。その場合は、新規 Pod の再デプロイが完了して使用できる状態になり、古い Pod が終了するまで待ちます。
2.2.4.8. イメージの URL の確認 リンクのコピーリンクがクリップボードにコピーされました!
DeploymentConfig のすべてのイメージ URL に、各 URL アドレスの最後に追加されたハッシュと共に新しいイメージレジストリーの URL が含まれていることを確認します。
THREESCALE_DC_NAMES="apicast-production apicast-staging backend-cron backend-listener backend-redis backend-worker system-app system-memcache system-mysql system-redis system-sidekiq system-sphinx zync zync-database zync-que"
for component in ${THREESCALE_DC_NAMES}; do echo -n "${component} image: " && oc get dc $component -o json | jq .spec.template.spec.containers[0].image ; done
THREESCALE_DC_NAMES="apicast-production apicast-staging backend-cron backend-listener backend-redis backend-worker system-app system-memcache system-mysql system-redis system-sidekiq system-sphinx zync zync-database zync-que"
for component in ${THREESCALE_DC_NAMES}; do echo -n "${component} image: " && oc get dc $component -o json | jq .spec.template.spec.containers[0].image ; done
次のステップ
2.2.5. 未使用の MessageBus 変数の削除 リンクのコピーリンクがクリップボードにコピーされました!
前の手順
現在の手順
この手順では、未使用の MESSAGE_BUS_REDIS_* 変数を削除します。
2.2.5.1. system-app deploymentconfig からの MESSAGE_BUS_REDIS_* 変数の削除 リンクのコピーリンクがクリップボードにコピーされました!
system-appコンテナーから MESSAGE_BUS_REDIS_* 変数を削除します。変数名の後ろにあるダッシュ文字に注意してください。
oc set env dc/system-app MESSAGE_BUS_REDIS_URL- oc set env dc/system-app MESSAGE_BUS_REDIS_NAMESPACE- oc set env dc/system-app MESSAGE_BUS_REDIS_SENTINEL_HOSTS- oc set env dc/system-app MESSAGE_BUS_REDIS_SENTINEL_ROLE-
$ oc set env dc/system-app MESSAGE_BUS_REDIS_URL- $ oc set env dc/system-app MESSAGE_BUS_REDIS_NAMESPACE- $ oc set env dc/system-app MESSAGE_BUS_REDIS_SENTINEL_HOSTS- $ oc set env dc/system-app MESSAGE_BUS_REDIS_SENTINEL_ROLE-Copy to Clipboard Copied! Toggle word wrap Toggle overflow
system-apppre hook から MESSAGE_BUS_REDIS_* 変数を削除します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow MESSAGE_BUS_REDIS_* 環境変数が存在しないことを確認します。
oc get dc system-app -o yaml | grep MESSAGE_BUS_REDIS
$ oc get dc system-app -o yaml | grep MESSAGE_BUS_REDISCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.5.2. system-sidekiq deploymentconfig からの MESSAGE_BUS_REDIS_* 変数の削除 リンクのコピーリンクがクリップボードにコピーされました!
system-sidekiqコンテナーから MESSAGE_BUS_REDIS_* 変数を削除します。変数名の後ろにあるダッシュ文字に注意してください。
oc set env dc/system-sidekiq MESSAGE_BUS_REDIS_URL- oc set env dc/system-sidekiq MESSAGE_BUS_REDIS_NAMESPACE- oc set env dc/system-sidekiq MESSAGE_BUS_REDIS_SENTINEL_HOSTS- oc set env dc/system-sidekiq MESSAGE_BUS_REDIS_SENTINEL_ROLE-
$ oc set env dc/system-sidekiq MESSAGE_BUS_REDIS_URL- $ oc set env dc/system-sidekiq MESSAGE_BUS_REDIS_NAMESPACE- $ oc set env dc/system-sidekiq MESSAGE_BUS_REDIS_SENTINEL_HOSTS- $ oc set env dc/system-sidekiq MESSAGE_BUS_REDIS_SENTINEL_ROLE-Copy to Clipboard Copied! Toggle word wrap Toggle overflow
system-sidekiqinit-container から MESSAGE_BUS_REDIS_* 変数を削除します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow MESSAGE_BUS_REDIS_* 環境変数が存在しないことを確認します。
oc get dc system-sidekiq -o yaml | grep MESSAGE_BUS_REDIS
$ oc get dc system-sidekiq -o yaml | grep MESSAGE_BUS_REDISCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.5.3. system-sphinx deploymentconfig から MESSAGE_BUS_REDIS_* 変数を削除 リンクのコピーリンクがクリップボードにコピーされました!
system-sphinxコンテナーから MESSAGE_BUS_REDIS_* 変数を削除します。変数名の後ろにあるダッシュ文字に注意してください。
oc set env dc/system-sphinx MESSAGE_BUS_REDIS_URL- oc set env dc/system-sphinx MESSAGE_BUS_REDIS_NAMESPACE- oc set env dc/system-sphinx MESSAGE_BUS_REDIS_SENTINEL_HOSTS- oc set env dc/system-sphinx MESSAGE_BUS_REDIS_SENTINEL_ROLE-
$ oc set env dc/system-sphinx MESSAGE_BUS_REDIS_URL- $ oc set env dc/system-sphinx MESSAGE_BUS_REDIS_NAMESPACE- $ oc set env dc/system-sphinx MESSAGE_BUS_REDIS_SENTINEL_HOSTS- $ oc set env dc/system-sphinx MESSAGE_BUS_REDIS_SENTINEL_ROLE-Copy to Clipboard Copied! Toggle word wrap Toggle overflow
MESSAGE_BUS_REDIS_* 環境変数が存在しないことを確認します。
oc get dc system-sphinx -o yaml | grep MESSAGE_BUS_REDIS
$ oc get dc system-sphinx -o yaml | grep MESSAGE_BUS_REDISCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.5.4. system-redis シークレットからの MESSAGE_BUS_REDIS_* 変数の削除 リンクのコピーリンクがクリップボードにコピーされました!
system-redisシークレットから MESSAGE_BUS_REDIS_* 変数を削除します。oc patch secret/system-redis --type=json -p "[{'op': 'remove', 'path': '/data/MESSAGE_BUS_URL'}]" oc patch secret/system-redis --type=json -p "[{'op': 'remove', 'path': '/data/MESSAGE_BUS_NAMESPACE'}]" oc patch secret/system-redis --type=json -p "[{'op': 'remove', 'path': '/data/MESSAGE_BUS_SENTINEL_HOSTS'}]" oc patch secret/system-redis --type=json -p "[{'op': 'remove', 'path': '/data/MESSAGE_BUS_SENTINEL_ROLE'}]"$ oc patch secret/system-redis --type=json -p "[{'op': 'remove', 'path': '/data/MESSAGE_BUS_URL'}]" $ oc patch secret/system-redis --type=json -p "[{'op': 'remove', 'path': '/data/MESSAGE_BUS_NAMESPACE'}]" $ oc patch secret/system-redis --type=json -p "[{'op': 'remove', 'path': '/data/MESSAGE_BUS_SENTINEL_HOSTS'}]" $ oc patch secret/system-redis --type=json -p "[{'op': 'remove', 'path': '/data/MESSAGE_BUS_SENTINEL_ROLE'}]"Copy to Clipboard Copied! Toggle word wrap Toggle overflow MESSAGE_BUS_REDIS_* 環境変数が存在しないことを確認します。
oc get secret system-redis -o yaml | grep MESSAGE_BUS
$ oc get secret system-redis -o yaml | grep MESSAGE_BUSCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.5.5. PostgreSQL 10 および PostgreSQL 13 を使用した外部システムデータベースによるアップグレード リンクのコピーリンクがクリップボードにコピーされました!
このアップグレードは、PostgreSQL 10 を使用する外部 システムデータベース をサポートします。最初に 3scale のアップグレードを完了してから、PostgreSQL 13 にアップグレードする必要があります。
次のステップ
なし上記の手順をすべて実施すると、テンプレートベースのデプロイメントにおける 3scale 2.11 から 2.12 へのアップグレードが完了します。