2.8. システムデータベースに Oracle を使用する 3scale の operator によるインストール
Red Hat 3scale API Management 管理者は、Oracle Database を使用する 3scale を operator によりインストールすることができます。デフォルトでは、3scale 2.11 には設定データを MySQL データベースに保管する system
というコンポーネントが含まれています。このデフォルトのデータベースをオーバーライドし、情報を外部の Oracle Database に保管することができます。以下の手順に従って、独自の Oracle Database クライアントバイナリーでカスタムのシステムコンテナーイメージをビルドし、3scale を OpenShift にデプロイします。
- operator のみで 3scale のインストールを実行する場合には、Oracle Database は OpenShift Container Platform (OCP) のバージョン 4.2 および 4.3 ではサポートされません。詳細は、Red Hat 3scale API Management のサポート対象設定 のアーティクルを参照してください。
前提条件
- 3scale がインストールされる OCP クラスターからアクセスすることのできる、コンテナーイメージをプッシュするためのコンテナーレジストリー
- APIManager カスタムリソースは以降の手順で作成されるので、インストールしないでください。
- 3scale 用レジストリーサービスアカウント
システムデータベースに Oracle を使用する 3scale を operator によりインストールするには、以下の手順を使用します。
手順
GitHub リポジトリーから 3scale OpenShift テンプレートをダウンロードし、アーカイブを展開します。
tar -xzf 3scale-amp-openshift-templates-3scale-2.11.1-GA.tar.gz
Oracle Database を使用した 3scale システムイメージの設定 に記載の前提条件に従ってください。
注記ローカルにダウンロードされて保存されたクライアントパッケージバージョンが、3scale が想定するバージョンと一致しない場合には、以下の手順で 3scale は適切なバージョンを自動的にダウンロードして使用します。
-
Oracle Database の Instant Client パッケージファイルを
3scale-amp-openshift-templates-3scale-2.11.1-GA/amp/system-oracle/oracle-client-files
ディレクトリーに配置します。 レジストリーサービスアカウントの作成 で作成したクレデンシャルを使用して、
registry.redhat.io
アカウントにログインします。docker login registry.redhat.io
システムの Oracle ベースのカスタムイメージをビルドします。以下の例に示すように、固定のイメージタグを設定する必要があります。
docker build . --tag myregistry.example.com/system-oracle:2.11.0-1
システムの Oracle ベースのイメージを、OCP クラスターからアクセス可能なコンテナーレジストリーにプッシュします。このコンテナーレジストリーに、この後 3scale ソリューションがインストールされます。
docker push myregistry.example.com/system-oracle:2.11.0-1
-
該当するフィールドを使用して
system-database
シークレットを作成し、Oracle Database URL の接続文字列および Oracle Database のシステムパスワードを設定します。Oracle Database については、外部データベースモードでのインストール を参照してください。 APIManager カスタムリソースを作成して、3scale ソリューションをインストールします。operator を使用した 3scale のデプロイ に記載の手順に従います。
APIManager カスタムリソースでは、
.spec.system.image
フィールドを前のステップでビルドしたシステムの Oracle ベースのイメージに設定する必要があります。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.11.0-1" highAvailability: enabled: true