1.2. オンプレミス型 3scale のスケールアップ
APIcast デプロイメントの規模が大きくなると、利用可能なストレージの量を増やす必要が生じる可能性があります。ストレージをスケールアップする方法は、永続ストレージに使用しているファイルシステムのタイプによって異なります。
ネットワークファイルシステム (NFS) を使用している場合は、以下のコマンドを使用して永続ボリューム (PV) をスケールアップできます。
oc edit pv <pv_name>
他のストレージ手段を使用している場合は、以降のセクションに挙げる方法のいずれかを使用して、永続ボリュームを手動でスケールアップする必要があります。
1.2.1. 方法 1:永続ボリュームのバックアップおよびスワップ
手順
- 既存の永続ボリューム上のデータをバックアップします。
- 新しいサイズ要件に合わせて、ターゲット永続ボリュームを作成し、アタッチします。
-
事前バインド型の永続ボリューム要求を作成し、次を指定します。(新規 PVC (PersistentVolumeClaim) のサイズおよび
volumeName
を使用した永続ボリューム名。) - 新しく作成した PV に、バックアップからデータを復元します。
新しい PV の名前でデプロイメント設定を変更します。
oc edit dc/system-app
- 新しい PV が設定され正常に機能していることを確認します。
- 以前の PVC を削除して、それが要求していたリソースを解放します。
1.2.2. 方法 2:3scale のバックアップおよび再デプロイ
手順
- 既存の永続ボリューム上のデータをバックアップします。
- 3scale Pod をシャットダウンします。
- 新しいサイズ要件に合わせて、ターゲット永続ボリュームを作成し、アタッチします。
- 新しく作成した PV に、バックアップからデータを復元します。
事前バインド型の永続ボリューム要求を作成します。以下の項目を指定します。
- 新しい PVC のサイズ
-
永続ボリューム名 (
volumeName
フィールドを使用)
- amp.yml をデプロイします。
- 新しい PV が設定され正常に機能していることを確認します。
- 以前の PVC を削除して、それが要求していたリソースを解放します。
1.2.3. パフォーマンスのスケールアップ
パフォーマンスのスケールアップは、Pod の合計数に応じて行われます。ハードウェアリソースが多いほど、デプロイする Pod 数が増えます。
以下のコマンドを使用して、Pod の数によりパフォーマンスのスケールアップを行います。
oc scale dc dc-name --replicas=X
1.2.4. オンプレミス型 3scale デプロイメントの設定
3scale でスケーリングされる主要なデプロイメント設定項目は以下のとおりです。
- 実稼働環境用 APIcast
- バックエンドリスナー
- バックエンドワーカー
1.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
1.2.4.2. ハードウェアの垂直スケーリングと水平スケーリング
リソースを追加することで、OpenShift 上の 3scale デプロイメントのパフォーマンスを高めることができます。水平スケーリングとして OpenShift クラスターにより多くのコンピュートノードを Pod として追加することや、垂直スケーリングとして既存のコンピュートノードにより多くのリソースを割り当てることができます。
水平スケーリング
コンピュートノードを Pod として OpenShift に追加することができます。追加のコンピュートノードがクラスター内の既存ノードと一致する場合には、環境変数を再設定する必要はありません。
垂直スケーリング
既存のコンピュートノードに割り当てるリソースを増やすことができます。割り当てるリソースを増やす場合は、追加のプロセスを Pod に追加してパフォーマンスを高める必要があります。
3scale デプロイメントにおいて、仕様や設定の異なるコンピュートノードを使用しないでください。
1.2.4.3. ルーターのスケールアップ
トラフィックの増加に応じて、OCP ルーターがリクエストを適切に処理できるようにしてください。ルーターがリクエストのスループットを制限している場合には、ルーターノードをスケールアップする必要があります。