3.2. operator ベースのインストール環境における 2.11 から 2.12 へのアップグレード
operator ベースのデプロイメントにおいて、3scale をバージョン 2.11 から 2.12 にアップグレードするには、以下の手順を実施します。
- 管理者権限を持つアカウントを使用して OCP コンソールにログインします。
- 3scale-operator がデプロイされているプロジェクトを選択します。
- Operators > Installed Operators の順にクリックします。
- Red Hat Integration - 3scale > Subscription > Channel の順に選択します。
threescale-2.12 を選択してサブスクリプションのチャンネルを編集し、変更を保存します。
これによりアップグレードプロセスが開始されます。
すべての新しいバージョンが実行され、エラーなく準備ができていることを確認するまで、プロジェクトで Pod の状態を照会します。
oc get pods
$ oc get podsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記- Pod ではアップグレードプロセス中、一時的にエラーが発生する場合があります。
- Pod のアップグレードに必要な時間は、5~10 分程度です。
- 新しい Pod のバージョンの実行後に、3scale Admin Portal にログインして、想定どおりに動作することをチェックし、アップグレードが正常に行われたことを確認します。
以下のコマンドを実行して、APIManagerオブジェクトのステータスを確認し、YAMLコンテンツを取得します。 <myapimanager> は、APIManagerの名前を表します。
oc get apimanager <myapimanager> -o yaml
$ oc get apimanager <myapimanager> -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいアノテーションおよび値は以下のようになります。
apps.3scale.net/apimanager-threescale-version: "2.12" apps.3scale.net/threescale-operator-version: "0.9.0"
apps.3scale.net/apimanager-threescale-version: "2.12" apps.3scale.net/threescale-operator-version: "0.9.0"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
上記の手順をすべて実施すると、operator ベースのデプロイメントにおける 3scale 2.11 から 2.12 へのアップグレードが完了します。
3.2.1. 外部 MySQL バージョンの 8.0 へのアップグレード リンクのコピーリンクがクリップボードにコピーされました!
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
3.2.2. 未使用の MessageBus 変数の削除 リンクのコピーリンクがクリップボードにコピーされました!
3scale デプロイメントで外部データベースモードが有効になっている場合は、system-redis シークレットから MESSAGE_BUS_* フィールドを手動で削除する必要があります。
system-redisシークレットからMESSAGE_BUS_*フィールドを削除します。シークレットが外部コントローラーによって管理されていない場合は、次のコマンドを使用して手動で更新します。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_*フィールドが存在しないことを確認します。次のコマンドは空を返す必要があります。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
3.2.3. PostgreSQL 10 および PostgreSQL 13 を使用した外部システムデータベースによるアップグレード リンクのコピーリンクがクリップボードにコピーされました!
このアップグレードは、PostgreSQL 10 を使用する外部 システムデータベース をサポートします。最初に 3scale のアップグレードを完了してから、PostgreSQL 13 にアップグレードする必要があります。