3.4. 自動スケーリング
Data Grid Operator は、メモリー使用量に基づいて Pod を作成または削除することにより、キャッシュサービス Pod でデフォルトのキャッシュを監視して、クラスターを自動的にスケールアップまたはスケールダウンできます。
自動スケーリングは、キャッシュサービス Pod のクラスターでのみ利用できます。Data Grid Operator は、Data Grid サービス Pod のクラスターの自動スケーリングを実行しません。
自動スケーリングを有効にすると、Data Grid Operator が Pod を作成または削除する必要があるタイミングを決定できるメモリー使用しきい値を定義します。Data Grid Operator は、デフォルトキャッシュの統計を監視し、メモリー使用量が設定されたしきい値に達すると、クラスターをスケールアップまたはスケールダウンします。
最大しきい値
このしきい値は、スケールアップまたはエビクションを実行する前に、クラスター内の Pod が使用できるメモリー量の上限を設定します。Data Grid Operator は、設定するメモリーの最大容量にノードが達することを検出すると、可能な場合は新規のノードを作成します。Data Grid Operator が新規のノードを作成できない場合、メモリー使用量が 100 パーセントに達すると、エビクションを実行します。
最小しきい値
このしきい値は、Data Grid クラスター全体のメモリー使用量の下限を設定します。Data Grid Operator は、メモリー使用量が最小値を下回ったことを検出すると、Pod をシャットダウンします。
デフォルトのキャッシュのみ
自動スケーリング機能は、デフォルトのキャッシュでのみ動作します。他のキャッシュをクラスターに追加する予定の場合、Infinispan
CR に autoscale
フィールドを含めないでください。この場合、エビクションを使用して、各ノードのデータコンテナーのサイズを制御する必要があります。
3.4.1. 自動スケーリングの設定
キャッシュサービス Pod でクラスターを作成する場合、Data Grid Operator をクラスターを自動的にスケーリングするように設定できます。
手順
spec.autoscale
リソースをInfinispan
CR に追加し、自動スケーリングを有効にします。注記自動スケーリングを無効にするには、
autoscale.disabled
フィールドにtrue
の値を設定します。以下のフィールドを使用して、自動スケーリングのしきい値を設定します。
フィールド 説明 spec.autoscale.maxMemUsagePercent
各ノードのメモリー使用量の最大しきい値をパーセンテージで指定します。
spec.autoscale.maxReplicas
クラスターのキャッシュサービス Pod の最大数を指定します。
spec.autoscale.minMemUsagePercent
クラスターのメモリー使用量の最小しきい値をパーセンテージで指定します。
spec.autoscale.minReplicas
クラスターのキャッシュサービス Pod の最小数を指定します。
たとえば、以下を
Infinispan
CR に追加します。spec: service: type: Cache autoscale: disabled: false maxMemUsagePercent: 70 maxReplicas: 5 minMemUsagePercent: 30 minReplicas: 2
- 変更を適用します。