2.8. システムデータベースに Oracle を使用する 3scale の operator によるインストール

Red Hat 3scale API Management 管理者は、Oracle Database を使用する 3scale を operator によりインストールすることができます。デフォルトでは、3scale 2.10 には設定データを 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 のサポート対象設定 のアーティクルを参照してください。

前提条件

システムデータベースに Oracle を使用する 3scale を operator によりインストールするには、以下の手順を使用します。

手順

  1. GitHub リポジトリーから 3scale 用 OCP テンプレートのクローンを作成して、システムの Oracle ベースのイメージをビルドします。

    git clone --branch 3scale-2.10.0-GA https://github.com/3scale/3scale-amp-openshift-templates.git
  2. Oracle Database を使用した 3scale システムイメージの設定 に記載の前提条件に従ってください。

    注記

    ローカルにダウンロードされて保存されたクライアントパッケージバージョンが、3scale が想定するバージョンと一致しない場合には、以下の手順で 3scale は適切なバージョンを自動的にダウンロードして使用します。

  3. Oracle Database の Instant Client パッケージファイルを 3scale-amp-openshift-templates/amp/system-oracle/oracle-client-files ディレクトリーに置きます。
  4. レジストリーサービスアカウントの作成 で作成したクレデンシャルを使用して、registry.redhat.io アカウントにログインします。

    docker login registry.redhat.io
  5. システムの Oracle ベースのカスタムイメージをビルドします。以下の例に示すように、固定のイメージタグを設定する必要があります。

    docker build . --tag myregistry.example.com/system-oracle:2.10.0-1
  6. システムの Oracle ベースのイメージを、OCP クラスターからアクセス可能なコンテナーレジストリーにプッシュします。このコンテナーレジストリーに、この後 3scale ソリューションがインストールされます。

    docker push myregistry.example.com/system-oracle:2.10.0-1
  7. 該当するフィールドを使用して system-database シークレットを作成し、Oracle Database URL の接続文字列および Oracle Database のシステムパスワードを設定します。Oracle Database については、外部データベースモードでのインストール を参照してください。
  8. 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.10.0-1"
       highAvailability:
        enabled: true