2.5. operator を使用した 3scale のデプロイ
本セクションでは、APIManager カスタムリソースを使用して、3scale operator 経由で 3scale ソリューションをインストールおよびデプロイする方法を説明します。
ワイルドカードルートは、3scale 2.6 以降 廃止されています。
- この機能は、バックグラウンドで Zync により処理されます。
- API プロバイダーが作成、更新、または削除されると、これらの変更が自動的にルートに反映されます。
前提条件
- コンテナーレジストリー認証の設定
- 3scale operator で自動承認機能を有効にして 3scale のマイクロリリースの自動更新が確実に受信されるようにする。Automatic はデフォルトの承認設定です。これを特定のニーズに合わせて変更するには、マイクロリリースの自動アプリケーションの設定 の手順を使用します。
- 先に OpenShift への 3scale operator のインストール の記載の手順に従って Operator を使用して 3scale をデプロイする。
OpenShift Container Platform 4
- OpenShift クラスターの管理者権限を持つユーザーアカウント。
- 注記:OCP 4 は、Operator のみを使用した 3scale のデプロイメントをサポートしています。
- サポート対象設定の情報については、Red Hat 3scale API Management のサポート対象設定 のアーティクルを参照してください。
以下の手順に従って、operator を使用して 3scale をデプロイします。
2.5.1. APIManager カスタムリソースのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
APIManager カスタムリソースをデプロイすると、operator がプロセスを開始し、そこから 3scale ソリューションがデプロイされます。
手順
Operators > Installed Operators の順にクリックします。
- Installed Operators のリストで、3scale Operator をクリックします。
- API Manager タブをクリックします。
- Create APIManager をクリックします。
サンプルのコンテンツを消去して以下の YAML 定義をエディターに追加し、続いて Create をクリックします。
3scale 2.8 より前のバージョンでは、
highAvailability
フィールドをtrue
に設定してレプリカの自動追加を設定できるようになりました。3scale 2.8 以降、レプリカの追加は以下の例のように APIManager CR の replicas フィールドによって制御されます。注記wildcardDomain パラメーターには、有効な DNS ドメインである、IP アドレスに対して解決する任意の名前を指定できます。
最小要件のある APIManager CR:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow レプリカが設定された APIManager CR:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.5.2. APIManager 管理ポータルとマスター管理ポータルの認証情報を取得する リンクのコピーリンクがクリップボードにコピーされました!
Operator ベースのデプロイ後に 3scale 管理ポータルまたはマスター管理ポータルのいずれかにログインするには、個別のポータルごとに認証情報が必要です。これらの認証情報を取得するには:
次のコマンドを実行して、管理ポータルの認証情報を取得します。
oc get secret system-seed -o json | jq -r .data.ADMIN_USER | base64 -d oc get secret system-seed -o json | jq -r .data.ADMIN_PASSWORD | base64 -d
oc get secret system-seed -o json | jq -r .data.ADMIN_USER | base64 -d oc get secret system-seed -o json | jq -r .data.ADMIN_PASSWORD | base64 -d
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Admin Portal 管理者としてログインして、これらの認証情報が機能していることを確認します。
次のコマンドを実行して、マスター管理ポータルの認証情報を取得します。
oc get secret system-seed -o json | jq -r .data.MASTER_USER | base64 -d oc get secret system-seed -o json | jq -r .data.MASTER_PASSWORD | base64 -d
oc get secret system-seed -o json | jq -r .data.MASTER_USER | base64 -d oc get secret system-seed -o json | jq -r .data.MASTER_PASSWORD | base64 -d
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - マスター管理ポータル管理者としてログインして、これらの認証情報が機能していることを確認します。
関連情報
APIManager フィールドに関する詳細は、参考のドキュメント を参照してください。
2.5.3. 管理ポータルの URL の取得 リンクのコピーリンクがクリップボードにコピーされました!
operator を使用して 3scale をデプロイすると、固定 URL のデフォルトテナントが作成されます。3scale-admin.${wildcardDomain}
3scale の Dashboard には、テナントの新しいポータル URL が表示されます。たとえば、<wildCardDomain> が 3scale-project.example.com
の場合、管理ポータル URL は https://3scale-admin.3scale-project.example.com
となります。
wildcardDomain
は、インストール中に指定した <wildCardDomain> パラメーターです。以下のコマンドを使用し、ブラウザーでこの一意の URL を開きます。
xdg-open https://3scale-admin.3scale-project.example.com
xdg-open https://3scale-admin.3scale-project.example.com
オプションとして、マスターポータル URL (master.${wildcardDomain}
) に新しいテナントを作成できます。
2.5.4. マイクロリリースの自動アプリケーションの設定 リンクのコピーリンクがクリップボードにコピーされました!
マイクロリリースの更新を取得し、これらを自動的に適用するには、3scale operator の承認ストラテジーを Automatic に設定する必要があります。ここでは、Automatic と Manual の設定の違いを説明し、もう 1 つから別の設定に変更する手順を説明します。
自動および手動:
- インストール時に、デフォルトで Automatic 設定が選択されたオプションになります。新規更新のインストールは、更新が利用可能になると行われます。これは、インストール時または後にいつでも変更できます。
- インストール時に 手動 オプションを選択するか、またはその後のいつでも手動オプションを選択すると、更新が利用可能になった時点で受信されます。次に、インストール計画 を承認し、独自に適用する必要があります。
手順
- Operators > Installed Operators の順にクリックします。
- Installed Operators の一覧から 3scale API Management をクリックします。
- Subscription タブをクリックします。Subscription Details の見出しの下に、小見出しの Approval が表示されます。
- Approval の下のリンクをクリックします。リンクはデフォルトで Automatic に設定されます。小見出しのモーダル (Change Update Approval Strategy) が表示されます。
- 任意のオプションを選択します。Automatic (デフォルト) または Manual をクリックし、Save をクリックします。
関連情報
- OperatorHub を使用した Operator インストール の Approval Strategy を参照してください。
2.5.5. operator を使用した 3scale での高可用性 リンクのコピーリンクがクリップボードにコピーされました!
operator を使用した 3scale での高可用性 (HA) は、たとえば 1 つ以上のデータベースに障害が発生した場合に、中断なしのアップタイムを提供することを目的としています。
3scale の operator ベースのデプロイメントで HA が必要な場合は、以下の点に注意してください。
- 3scale の重要なデータベースを外部に設定し、デプロイします。重要なデータベースには、システムデータベース、システム redis およびバックエンド redis コンポーネントが含まれます。これらのコンポーネントが高可用性となるようにデプロイおよび設定するようにしてください。
3scale をデプロイする前に対応する Kubernetes シークレットを作成して、3scale のこれらのコンポーネントへの接続エンドポイントを指定します。
- 詳細は、外部データベースモードでのインストール を参照してください。
- データベース以外のデプロイメント設定についての詳細は、Enabling Pod Disruption Budgets を参照してください。
APIManager
カスタムリソース (CR) で、.spec.externalComponents
属性を設定して、システムデータベース、システム redis およびバックエンド redis が外部であることを指定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
さらに zync データベースを高可用性にして、再起動時のキュージョブデータを失う可能性をなくす場合は、以下の点に注意してください。
- zync データベースを外部でデプロイおよび設定します。このデータベースを高可用性の設定でデプロイおよび設定するようにしてください。
3scale をデプロイする前に対応する Kubernetes シークレットを作成して、3scale の zync データベースへの接続エンドポイントを指定します。
- Zync データベースシークレット を参照してください。
-
3scale を設定するには、
APIManager
CR の.spec.externalComponents.zync.database
属性をtrue
に設定し、zync データベースが外部データベースであることを指定します。