第16章 自動スケーリング
Kubernetes には、指定されたメトリクスに基づいて StatefulSet または Deployment を自動的にスケールアップまたはスケールダウンできる HorizontalPodAutoscaler が含まれています。Infinispan CR は .status.scale サブリソースを公開し、これにより HorizontalPodAutoscaler リソースが Infinispan CR をターゲットにできるようになります。
HorizontalPodAutoscaler 設定を定義する前に、定義する Data Grid キャッシュのタイプを考慮してください。分散キャッシュと複製キャッシュのスケーリング要件は大きく異なるため、これらのキャッシュタイプの組み合わせを実行するサーバーに対して HorizontalPodAutoscaler を定義しても、メリットがない可能性があります。たとえば、メモリー使用量が特定のパーセンテージに達したときにスケーリングする HorizontalPodAutoscaler を定義すると、キャッシュエントリーが Pod 全体に分散されるため、分散キャッシュを定義するときに全体的なキャッシュ容量を増やすことができますが、すべての Pod がすべてのキャッシュエントリーをホストするため、複製されたキャッシュでは機能しません。逆に、CPU 使用率に基づいて HorizontalPodAutoscaler を設定すると、複製されたキャッシュを持つクラスターではより有益になります。これは、すべての Pod にすべてのキャッシュエントリーが含まれており、読み取り要求を追加のノードに分散することで、より多くの要求を同時に処理できるためです。
16.1. HorizontalPodAutoscaler の設定 リンクのコピーリンクがクリップボードにコピーされました!
Infinispan CR をターゲットとする HorizontalPodAutoscaler リソースを作成します。
手順
InfinispanCR と同じ名前空間にHorizontalPodAutoscalerリソースを定義します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
InfinispanCR の名前
cpu または memory タイプのメトリクスリソースを使用する場合は、Infinispan CR でこのリソースのリクエスト/制限を設定する必要があります。
Data Grid クラスターをアップグレードするときは、自動スケーリングによりアップグレードプロセスが予期しない状態になり、Operator がクラスターを 0 Pod にスケールダウンする必要があるため、HorizontalPodAutoscaler を削除する必要があります。