2.2. テンプレートベースのインストール環境における 2.11 から 2.12 へのアップグレード
テンプレートベースのインストール環境において、3scale 2.11 を 2.12 にアップグレードするには、本セクションに記載の手順に従います。
アップグレードを開始するには、3scale がデプロイされているプロジェクトに移動します。
$ 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 ; doneexport allコマンドでエクスポートされるプロジェクト内のすべての既存 OpenShift リソースをバックアップします。$ oc get -o yaml --export all > threescale-project-elements.yamlexport 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- 生成されたすべてのファイルが空ではないこと、およびそれらすべての内容が予想どおりであることを確認します。
次のステップ
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-
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'}]"AMP_RELEASE が存在しないことを確認します。
$ oc get dc system-app -o yaml | grep AMP_RELEASE
次のステップ
2.2.3. MySQL 設定のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
3scale デプロイメントで外部データベースモードが有効になっていて、MySQL 8.0 を使用している場合は、3scale 2.12 の認証プラグインを mysql_native_password に設定します。
MySQL 設定ファイルに以下を追加します。
[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"}}'configmapが更新されていることを確認します。$ oc get cm mysql-extra-conf -o jsonpath='{.data.mysql-default-authentication-plugin\.cnf}'以下が返されるはずです。
[mysqld] default_authentication_plugin=mysql_native_password
次のステップ
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"}}}]'手順を進めるには、ご自分の 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-
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 start-buildコマンドを入力し、新しいシステムイメージをビルドします。$ oc start-build 3scale-amp-system-oracle --from-dir=.
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.12-oracle --containers=system-master,system-developer,system-providerこれがトリガーとなり
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.12-oracle --containers=system-sidekiq,check-svcこれがトリガーとなり
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.12-oracle --containers=system-sphinx,system-master-svcこれがトリガーとなり
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.12 --containers=system-master,system-developer,system-providerこれがトリガーとなり
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.12 --containers=system-sidekiq,check-svcこれがトリガーとなり
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.12 --containers=system-sphinx,system-master-svcこれがトリガーとなり
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"}}}]'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.12 --containers=apicast-stagingこれがトリガーとなり
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.12 --containers=apicast-production,system-master-svcこれがトリガーとなり
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"}}}]'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.12 --containers=backend-listenerこれがトリガーとなり
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.12 --containers=backend-worker,backend-redis-svcこれがトリガーとなり
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.12 --containers=backend-cron,backend-redis-svcこのコマンドがトリガーとなり
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"}}}]'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.12 --containers=zync,zync-db-svcこれがトリガーとなり
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.12 --containers=queこれがトリガーとなり
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"}}}]'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.12 --containers=memcacheこれにより、
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"}}}]'このパッチコマンドにより
zync-database-postgresqlイメージストリームが更新され、2.12 タグが含まれるようになります。以下の手順により、2.12 タグが作成されていることを確認することができます。以下のコマンドを実行します。
$ oc get is zync-database-postgresql- 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.12 --containers=postgresqlイメージに新しい更新があれば、このパッチがトリガーとなり
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"}}}]'このパッチにより backend-redis イメージストリームが更新され、2.12 タグが含まれるようになります。以下のコマンドにより Tags 欄に 2.12 が表示されれば、タグが作成されていることを確認することができます。
$ oc get is backend-redisbackend-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.12 --containers=backend-redisイメージに新しい更新があれば、このパッチがトリガーとなり
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"}}}]'このパッチにより
system-redisイメージストリームが更新され、2.12 タグが含まれるようになります。以下のコマンドにより Tags 欄に 2.12 が表示されれば、タグが作成されていることを確認することができます。$ oc get is system-redissystem-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.12 --containers=system-redisイメージに新しい更新があれば、このパッチがトリガーとなり
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"}}}]'このパッチにより
system-mysqlイメージストリームが更新され、2.12 タグが含まれるようになります。以下のコマンドにより Tags 欄に 2.12 が表示されれば、タグが作成されていることを確認することができます。$ oc get is system-mysqlsystem-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.12 --containers=system-mysqlイメージに新しい更新があれば、このパッチがトリガーとなり
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"}}}]'このパッチにより
system-postgresqlイメージストリームが更新され、2.12 タグが含まれるようになります。以下のコマンドにより Tags 欄に 2.12 が表示されれば、タグが作成されていることを確認することができます。$ oc get is system-postgresqlsystem-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.12 --containers=system-postgresqlイメージに新しい更新があれば、このパッチがトリガーとなり
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
次のステップ
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-
system-apppre hook から MESSAGE_BUS_REDIS_* 変数を削除します。$ INDEX=$(oc get dc system-app -o json | jq '.spec.strategy.rollingParams.pre.execNewPod.env | map(.name == "MESSAGE_BUS_REDIS_URL") | 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 == "MESSAGE_BUS_REDIS_NAMESPACE") | 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 == "MESSAGE_BUS_REDIS_SENTINEL_HOSTS") | 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 == "MESSAGE_BUS_REDIS_SENTINEL_ROLE") | index(true)') oc patch dc/system-app --type=json -p "[{'op': 'remove', 'path': '/spec/strategy/rollingParams/pre/execNewPod/env/$INDEX'}]"MESSAGE_BUS_REDIS_* 環境変数が存在しないことを確認します。
$ oc get dc system-app -o yaml | grep MESSAGE_BUS_REDIS
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-
system-sidekiqinit-container から MESSAGE_BUS_REDIS_* 変数を削除します。$ INDEX=$(oc get dc system-sidekiq -o json | jq '.spec.template.spec.initContainers[].env | map(.name == "MESSAGE_BUS_REDIS_URL") | index(true)') oc patch dc/system-sidekiq --type=json -p "[{'op': 'remove', 'path': '/spec/template/spec/initContainers/0/env/$INDEX'}]" $ INDEX=$(oc get dc system-sidekiq -o json | jq '.spec.template.spec.initContainers[].env | map(.name == "MESSAGE_BUS_REDIS_NAMESPACE") | index(true)') oc patch dc/system-sidekiq --type=json -p "[{'op': 'remove', 'path': '/spec/template/spec/initContainers/0/env/$INDEX'}]" $ INDEX=$(oc get dc system-sidekiq -o json | jq '.spec.template.spec.initContainers[].env | map(.name == "MESSAGE_BUS_REDIS_SENTINEL_HOSTS") | index(true)') oc patch dc/system-sidekiq --type=json -p "[{'op': 'remove', 'path': '/spec/template/spec/initContainers/0/env/$INDEX'}]" $ INDEX=$(oc get dc system-sidekiq -o json | jq '.spec.template.spec.initContainers[].env | map(.name == "MESSAGE_BUS_REDIS_SENTINEL_ROLE") | index(true)') oc patch dc/system-sidekiq --type=json -p "[{'op': 'remove', 'path': '/spec/template/spec/initContainers/0/env/$INDEX'}]"MESSAGE_BUS_REDIS_* 環境変数が存在しないことを確認します。
$ oc get dc system-sidekiq -o yaml | grep MESSAGE_BUS_REDIS
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-
MESSAGE_BUS_REDIS_* 環境変数が存在しないことを確認します。
$ oc get dc system-sphinx -o yaml | grep MESSAGE_BUS_REDIS
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'}]"MESSAGE_BUS_REDIS_* 環境変数が存在しないことを確認します。
$ oc get secret system-redis -o yaml | grep MESSAGE_BUS
2.2.5.5. PostgreSQL 10 および PostgreSQL 13 を使用した外部システムデータベースによるアップグレード リンクのコピーリンクがクリップボードにコピーされました!
このアップグレードは、PostgreSQL 10 を使用する外部 システムデータベース をサポートします。最初に 3scale のアップグレードを完了してから、PostgreSQL 13 にアップグレードする必要があります。
次のステップ
なし上記の手順をすべて実施すると、テンプレートベースのデプロイメントにおける 3scale 2.11 から 2.12 へのアップグレードが完了します。