2.4. operator を使用した 3scale のデプロイ


このセクションでは、APIManager CR を使用して、3scale operator 経由で 3scale ソリューションをインストールおよびデプロイする方法を説明します。

注記
  • ワイルドカードルートは、3scale 2.6 以降 廃止されています

    • この機能は、バックグラウンドで Zync により処理されます。
  • API プロバイダーが作成、更新、または削除されると、これらの変更が自動的にルートに反映されます。

前提条件

以下の手順に従って、operator を使用して 3scale をデプロイします。

2.4.1. APIManager カスタムリソースのデプロイ

注記

Amazon Simple Storage Service (Amazon S3) を使用する場合は、Amazon Simple Storage Service 3scale FileStorage のインストール を参照してください。

Operator は APIManager CR を監視し、APIManager CR で指定されているために必要な 3Scale ソリューションをデプロイします。

手順

  1. Operators > Installed Operators の順にクリックします。

    1. Installed Operators のリストで、Red Hat Integration - 3scale をクリックします。
  2. API Manager タブをクリックします。
  3. Create APIManager をクリックします。
  4. サンプルのコンテンツを消去して以下の YAML 定義をエディターに追加し、続いて Create をクリックします。

    • 3scale 2.8 より前のバージョンでは、highAvailability フィールドを true に設定してレプリカの自動追加を設定できるようになりました。3scale 2.8 以降、レプリカの追加は以下の例のように APIManager CR の replicas フィールドによって制御されます。

      注記

      wildcardDomain パラメーターの値は、OpenShift Container Platform (OCP) ルーターのアドレスに解決される有効なドメイン名である必要があります。たとえば、apps.mycluster.example.com になります。

    • 最小要件のある APIManager CR:

      apiVersion: apps.3scale.net/v1alpha1
      kind: APIManager
      metadata:
        name: apimanager-sample
      spec:
        wildcardDomain: example.com
    • レプリカが設定された APIManager CR:

      apiVersion: apps.3scale.net/v1alpha1
      kind: APIManager
      metadata:
        name: apimanager-sample
      spec:
        system:
          appSpec:
            replicas: 1
          sidekiqSpec:
            replicas: 1
        zync:
          appSpec:
            replicas: 1
          queSpec:
            replicas: 1
        backend:
          cronSpec:
            replicas: 1
          listenerSpec:
            replicas: 1
          workerSpec:
            replicas: 1
        apicast:
          productionSpec:
            replicas: 1
          stagingSpec:
            replicas: 1
        wildcardDomain: example.com

2.4.2. 管理ポータルの 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

オプションとして、マスターポータル URL (master.${wildcardDomain}) に新しいテナントを作成できます。

2.4.3. APIManager 管理ポータルとマスター管理ポータルの認証情報を取得する

Operator ベースのデプロイ後に 3scale 管理ポータルまたはマスター管理ポータルのいずれかにログインするには、個別のポータルごとに認証情報が必要です。これらの認証情報を取得するには:

  1. 次のコマンドを実行して、管理ポータルの認証情報を取得します。

    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
    1. Admin Portal 管理者としてログインして、これらの認証情報が機能していることを確認します。
  2. 次のコマンドを実行して、マスター管理ポータルの認証情報を取得します。

    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
    1. マスター管理ポータル管理者としてログインして、これらの認証情報が機能していることを確認します。

関連情報

APIManager フィールドに関する詳細は、参考のドキュメント を参照してください。

2.4.4. Operator を使用した 3scale の外部データベース

重要

Red Hat 3scale API Management デプロイメントからデータベースを外部化すると、アプリケーションからの分離とデータベースレベルでのサービス中断に対する回復力が提供されることになります。サービス中断に対する復元力は、データベースをホストするインフラストラクチャーまたはプラットフォームプロバイダーが提供するサービスレベルアグリーメント (SLA) によって異なります。これは 3scale では提供されていません。選択したデプロイメントによって提供されるデータベースの外部化の詳細は、関連ドキュメントを参照してください。

Operator を使用して 3scale の外部データベースを使用する場合、その目的は、たとえば 1 つ以上のデータベースに障害が発生した場合でも、中断のない稼働時間を提供することです。

3scale Operator ベースのデプロイメントで外部データベースを使用する場合は、次の点に注意してください。

  • 3scale の重要なデータベースを外部に設定し、デプロイします。重要なデータベースには、システムデータベース、システム redis およびバックエンド redis コンポーネントが含まれます。これらのコンポーネントが高可用性となるようにデプロイおよび設定するようにしてください。
  • 3scale をデプロイする前に対応する Kubernetes シークレットを作成して、3scale のこれらのコンポーネントへの接続エンドポイントを指定します。

  • APIManager CR で、.spec.externalComponents 属性を設定して、システムデータベース、システム redis およびバックエンド redis が外部であることを指定します。

    externalComponents:
      backend:
        redis: true
    system:
      database: true
      redis: true
    zync:
      database: true

さらに zync データベースを高可用性にして、再起動時のキュージョブデータを失う可能性をなくす場合は、以下の点に注意してください。

  • zync データベースを外部でデプロイおよび設定します。このデータベースを高可用性の設定でデプロイおよび設定するようにしてください。
  • 3scale をデプロイする前に対応する Kubernetes シークレットを作成して、3scale の zync データベースへの接続エンドポイントを指定します。

  • 3scale を設定するには、APIManager CR の .spec.externalComponents.zync.database 属性を true に設定し、zync データベースが外部データベースであることを指定します。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.