2.2. オンプレミス型 3scale のスケールアップ

APIcast デプロイメントの規模が大きくなると、利用可能なストレージの量を増やす必要が生じる可能性があります。ストレージをスケールアップする方法は、永続ストレージに使用しているファイルシステムのタイプによって異なります。

ネットワークファイルシステム (NFS) を使用している場合は、以下のコマンドを使用して永続ボリューム (PV) をスケールアップできます。

oc edit pv <pv_name>

他のストレージ手段を使用している場合は、以降のセクションに挙げる方法のいずれかを使用して、永続ボリュームを手動でスケールアップする必要があります。

2.2.1. 方法 1: 永続ボリュームをバックアップしてスワップする

手順

  1. 既存の永続ボリューム上のデータをバックアップします。
  2. 新しいサイズ要件に合わせて、ターゲット永続ボリュームを作成し、アタッチします。
  3. 事前バインド型の永続ボリューム要求を作成し、新しい PVC (PersistentVolumeClaim) のサイズと永続ボリュームの名前を指定します。永続ボリューム名には volumeName フィールドを使用します。
  4. 新しく作成した PV に、バックアップからデータを復元します。
  5. 新しい PV の名前でデプロイメント設定を変更します。

    oc edit dc/system-app
  6. 新しい PV が設定され正常に機能していることを確認します。
  7. 以前の PVC を削除して、それが要求していたリソースを解放します。

2.2.2. 方法 2: 3scale をバックアップして再デプロイする

手順

  1. 既存の永続ボリューム上のデータをバックアップします。
  2. 3scale Pod をシャットダウンします。
  3. 新しいサイズ要件に合わせて、ターゲット永続ボリュームを作成し、アタッチします。
  4. 新しく作成した PV に、バックアップからデータを復元します。
  5. 事前バインド型の永続ボリューム要求を作成します。以下の項目を指定します。

    1. 新しい PVC のサイズ
    2. 永続ボリューム名 (volumeName フィールドを使用)
  6. amp.yml をデプロイします。
  7. 新しい PV が設定され正常に機能していることを確認します。
  8. 以前の PVC を削除して、それが要求していたリソースを解放します。

2.2.3. パフォーマンスのスケールアップ

パフォーマンスのスケールアップは、Pod の合計数に応じて行われます。ハードウェアリソースが多いほど、デプロイする Pod 数が増えます。

以下のコマンドを使用して、Pod の数によりパフォーマンスのスケールアップを行います。

oc scale dc dc-name --replicas=X

2.2.4. オンプレミス型 3scale デプロイメントの設定

3scale でスケーリングされる主要なデプロイメント設定項目は以下のとおりです。

  • 実稼働環境用 APIcast
  • バックエンドリスナー
  • バックエンドワーカー

2.2.4.1. OCP コマンドラインインターフェイスを使用したスケーリング

OpenShift Container Platform (OCP) コマンドラインインターフェイス (CLI) を使用して、デプロイメント設定をスケールアップまたはスケールダウンできます。

特定のデプロイメント設定をスケーリングするには、以下を使用します。

  • 以下のコマンドを使用して、実稼働環境用 APIcast のデプロイメント設定をスケールアップします。

    oc scale dc apicast-production --replicas=X
  • 以下のコマンドを使用して、バックエンドリスナーのデプロイメント設定をスケールアップします。

    oc scale dc backend-listener --replicas=Y
  • 以下のコマンドを使用して、バックエンドワーカーのデプロイメント設定をスケールアップします。

    oc scale dc  backend-worker --replicas=Z

2.2.4.2. ハードウェアの垂直スケーリングと水平スケーリング

リソースを追加することで、OpenShift 上の 3scale デプロイメントのパフォーマンスを高めることができます。水平スケーリングとして OpenShift クラスターにより多くのコンピュートノードを Pod として追加することや、垂直スケーリングとして既存のコンピュートノードにより多くのリソースを割り当てることができます。

水平スケーリング

コンピュートノードを Pod として OpenShift に追加することができます。追加のコンピュートノードがクラスター内の既存ノードと一致する場合には、環境変数を再設定する必要はありません。

垂直スケーリング

既存のコンピュートノードに割り当てるリソースを増やすことができます。割り当てるリソースを増やす場合は、追加のプロセスを Pod に追加してパフォーマンスを高める必要があります。

注記

3scale デプロイメントにおいて、仕様や設定の異なるコンピュートノードを使用しないでください。

2.2.4.3. ルーターのスケールアップ

トラフィックの増加に応じて、OCP ルーターがリクエストを適切に処理できるようにしてください。ルーターがリクエストのスループットを制限している場合には、ルーターノードをスケールアップする必要があります。