第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 リソースを作成します。

手順

  1. Infinispan CR と同じ名前空間に HorizontalPodAutoscaler リソースを定義します。

    apiVersion: autoscaling/v2
    kind: HorizontalPodAutoscaler
    metadata:
      name: infinispan-auto
    spec:
      scaleTargetRef:
        apiVersion: infinispan.org/v1
        kind: Infinispan
        name: example 1
      minReplicas: 1
      maxReplicas: 10
      metrics:
        - type: Resource
          resource:
            name: cpu
            target:
              type: Utilization
              averageUtilization: 50
    1
    Infinispan CR の名前
注記

cpu または memory タイプのメトリクスリソースを使用する場合は、Infinispan CR でこのリソースのリクエスト/制限を設定する必要があります。

重要

Data Grid クラスターをアップグレードするときは、自動スケーリングによりアップグレードプロセスが予期しない状態になり、Operator がクラスターを 0 Pod にスケールダウンする必要があるため、HorizontalPodAutoscaler を削除する必要があります。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.