2.6. システムデータベースに Oracle を使用する 3scale の operator によるインストール
Red Hat 3scale API Management 管理者は、Oracle Database を使用する 3scale を operator によりインストールすることができます。デフォルトでは、3scale 2.13 には設定データを MySQL データベースに保管する system
というコンポーネントが含まれています。このデフォルトのデータベースをオーバーライドし、情報を外部の Oracle Database に保管することができます。
- operator のみで 3scale のインストールを実行する場合には、Oracle Database は OpenShift Container Platform (OCP) のバージョン 4.2 および 4.3 ではサポートされません。詳細は、Red Hat 3scale API Management のサポート対象構成 を参照してください。
-
このドキュメントでは、レジストリー URL の例として
myregistry.example.com
が使用されています。これは、お使いのレジストリー URL に置き換えてください。 - 免責事項: ここに記載されている外部 Web サイトへのリンクは、お客様の利便性のみを目的として提供されています。Red Hat はリンクの内容を確認しておらず、コンテンツまたは可用性について責任を負わないものとします。外部 Web サイトへのリンクが含まれていても、Red Hat が Web サイトまたはその組織、製品、もしくはサービスを保証することを意味するものではありません。お客様は、外部サイトまたはコンテンツの使用 (または信頼) によって生じる損失または費用について、Red Hat が責任を負わないことに同意するものとします。
前提条件
- 3scale がインストールされる OCP クラスターからアクセスすることのできる、コンテナーイメージをプッシュするためのコンテナーレジストリー
- 以下の手順で作成されるため、APIManager CR をインストールしないでください。
- 3scale 用レジストリーサービスアカウント
- OpenShift クラスターからアクセスできる Oracle Database のサポート対象バージョン
-
インストール手順のための Oracle Database
SYSTEM
ユーザーへのアクセス。
システムデータベースに Oracle を使用する 3scale を operator によりインストールするには、以下の手順を使用します。
2.6.1. Oracle Database の準備
3scale 管理者は、システムコンポーネントに Oracle Database を使用することを決定した場合、3scale インストール用に Oracle Database を完全に準備する必要があります。
手順
- 新しいデータベースを作成します。
次の設定を適用します。
ALTER SYSTEM SET max_string_size=extended SCOPE=SPFILE;
データベースユーザーを設定します。
3scale で Oracle Database インテグレーションをセットアップするには、Oracle
SYSTEM
ユーザーパスワードを指定する場合と指定しない場合の 2 つのオプションがあります。3scale は、通常のユーザーを作成し、それに必要な権限を付与する初期セットアップでのみ
SYSTEM
ユーザーを使用します。次の SQL コマンドは、適切な権限を持つ通常のユーザーをセットアップします。({DB_USER}
と{DB_PASSWORD}
は、実際の値に置き換える必要があるプレースホルダーです)。CREATE USER {DB_USER} IDENTIFIED BY {DB_PASSWORD}; GRANT unlimited tablespace TO {DB_USER}; GRANT create session TO {DB_USER}; GRANT create table TO {DB_USER}; GRANT create view TO {DB_USER}; GRANT create sequence TO {DB_USER}; GRANT create trigger TO {DB_USER}; GRANT create procedure TO {DB_USER};
SYSTEM
ユーザーの使用:-
system-database
シークレットのORACLE_SYSTEM_PASSWORD
フィールドにSYSTEM
ユーザーのパスワードを指定します。 - インストール前に通常のユーザーが存在する必要はありません。これは 3scale 初期化スクリプトによって作成されます。
-
system-database
シークレットのURL
フィールドの接続文字列 (例:oracle-enhanced://{DB_USER}:{DB_PASSWORD}@{DB_HOST}:{DB_PORT}/{DB_NAME}
) に、通常のユーザー用の必要なユーザー名とパスワードを入力します。 -
通常の Oracle Database 非システムユーザーのパスワードは一意である必要があり、
SYSTEM
ユーザーのパスワードとは一致しないようにする必要があります。 指定されたユーザー名を持つユーザーがすでに存在する場合、3scale 初期化スクリプトは次のコマンドを使用して、パスワードの更新を試みます。
ALTER USER {DB_USER} IDENTIFIED BY {DB_PASSWORD}
パラメーター
PASSWORD_REUSE_TIME
およびPASSWORD_REUSE_MAX
が同じパスワードの再利用を制限するように設定されている場合、データベース設定によっては、このコマンドが正常に完了しない場合があります。
-
通常のデータベースユーザーの手動セットアップ:
-
system-database
シークレットにORACLE_SYSTEM_PASSWORD
を指定する必要はありません。 -
system-database
シークレットのURL
フィールドの接続文字列で指定された通常のデータベースユーザー (SYSTEM
以外) は、3scale のインストール前に存在している必要があります。 - インストールに使用する通常のユーザーは、上記のすべての権限を持っている必要があります。
-
関連情報
- 新しいデータベースの作成については、Oracle Database 19c ドキュメントを参照してください。
2.6.2. カスタムシステムコンテナーイメージの作成
手順
GitHub リポジトリーから 3scale OpenShift テンプレートをダウンロードし、アーカイブをデプロイメントします。
tar -xzf 3scale-2.13.0-GA.tar.gz
Instant Client Downloads ページから、以下をダウンロードします。
- クライアント: basic-lite または basic のいずれか
- ODBC ドライバー
Oracle Database 19c の SDK
- 3scale の場合は、Instant Client Downloads for Linux x86-64(64-bit) を使用します。
- ppc64le および 3scale の場合は、Power Little Endian (64 ビット) 上の Linux の Oracle Instant Client Downloads for Linux を使用します。
次の Oracle ソフトウェアコンポーネントのバージョンについては、表を確認してください。
- Oracle Instant Client パッケージ: Basic または Basic Light
- Oracle Instant Client パッケージ: SDK
Oracle Instant Client パッケージ: ODBC
表2.4 3scale 向けの Oracle 19c パッケージの例 Oracle 19c パッケージ名 圧縮ファイル名 Basic
instantclient-basic-linux.x64-19.8.0.0.0dbru.zip
Basic Light
instantclient-basiclite-linux.x64-19.8.0.0.0dbru.zip
SDK
instantclient-sdk-linux.x64-19.8.0.0.0dbru.zip
ODBC
instantclient-odbc-linux.x64-19.8.0.0.0dbru.zip
表2.5 ppc64le および 3scale 用 Oracle 19c パッケージの例 Oracle 19c パッケージ名 圧縮ファイル名 Basic
instantclient-basic-linux.leppc64.c64-19.3.0.0.0dbru.zip
Basic Light
instantclient-basiclite-linux.leppc64.c64-19.3.0.0.0dbru.zip
SDK
instantclient-sdk-linux.leppc64.c64-19.3.0.0.0dbru.zip
ODBC
instantclient-odbc-linux.leppc64.c64-19.3.0.0.0dbru.zip
注記ローカルにダウンロードされて保存されたクライアントパッケージバージョンが、3scale が想定するバージョンと一致しない場合には、以下の手順で 3scale は適切なバージョンを自動的にダウンロードして使用します。
-
Oracle Database Instant Client Package ファイルを
system-oracle-3scale-2.13.0-GA/oracle-client-files
ディレクトリーに配置します。 レジストリーサービスアカウントの作成 で作成したクレデンシャルを使用して、
registry.redhat.io
アカウントにログインします。$ docker login registry.redhat.io
システムの Oracle ベースのカスタムイメージをビルドします。以下の例に示すように、固定のイメージタグを設定する必要があります。
$ docker build . --tag myregistry.example.com/system-oracle:2.13.0-1
システムの Oracle ベースのイメージを、OCP クラスターからアクセス可能なコンテナーレジストリーにプッシュします。このコンテナーレジストリーに、この後 3scale ソリューションがインストールされます。
$ docker push myregistry.example.com/system-oracle:2.13.0-1
2.6.3. operator を使用した Oracle での 3scale のインストール
手順
-
該当するフィールドを使用して
system-database
シークレットを作成し、Oracle Database URL の接続文字列および Oracle Database のシステムパスワードを設定します。Oracle Database については、外部データベースモードでのインストール を参照してください。 APIManager CR を作成して、3scale ソリューションをインストールします。operator を使用した 3scale のデプロイ に記載の手順に従います。
APIManager CR は、以前にビルドしたシステムの Oracle ベースのイメージに設定された
.spec.system.image
フィールドを指定する必要があります。apiVersion: apps.3scale.net/v1alpha1 kind: APIManager metadata: name: example-apimanager spec: imagePullSecrets: - name: threescale-registry-auth - name: custom-registry-auth system: image: "myregistry.example.com/system-oracle:2.13.0-1" externalComponents: system: database: true