USER MANUALS

オートスケーリング

values.yamlpresto.autoscaling セクションでは、Denodo 組み込み MPP の水平オートスケーリングを構成します。水平スケーリングは、負荷の増加に対してデプロイするポッドレプリカの数を増やして対応することを意味します。負荷が減って、ポッドの数が構成されている最小数より多い場合、 HorizontalPodAutoscaler (HPA) がワークロードリソースのスケールダウンを指示します。これは、デフォルトで無効になっています。

水平オートスケーリング
presto:
  autoscaling:
    enabled: false
    maxReplicas: 20
    targetCPUUtilizationPercentage: 80

HorizontalPodAutoscaler (HPA) が動作することを保証するために、以下に示す 2 つの要件 があります。

  1. Kubernetes にメトリックを提供するための監視ツールとして、Metrics Server、Prometheus などがインストールされていること。

  2. values.yaml ファイルにワーカーの CPU リソース要求 presto.worker.resources が定義されていること。リソース要求が構成されていない場合、オートスケーラー (HPA) は何も実行しません。

    リソースはデフォルトでは構成されていません。なぜなら、その構成は、Kubernetes クラスタ管理者の選択肢として残してあるからです。たとえば、 presto.worker.resources.requests.cpu は、ポッド用に予約されている CPU の数を表します。この値は、ワーカーあたりの総 CPU 数の 80% に設定することから始めることをお勧めします。したがって、32 コアのノードの場合、この値を 25.6 または 25600m に設定できます。これらはどちらも 25.6 個のコアを表します。

MPP ワーカーのリソース
presto:
  worker:
    resources:
      requests:
        cpu: 25600m

これは後で必要に応じて調整できます。オートスケーラーは、この値を targetCPUUtilizationPercentage とともに使用して、新しいワーカーが必要かどうかを決定します。

動作している HorizontalPodAutoscaler の現在のステータスは、以下の方法で確認できます。

kubectl get hpa

NAME          REFERENCE                TARGETS  MINPODS MAXPODS REPLICAS
presto-worker Deployment/presto-worker 22%/80%    2        6       2

クラスタ内のノードの動作に合わせてポッドの拡張性を調整するために、 ノードベースのオートスケーリングとポッドベースのオートスケーリングを組み合わせて使用することを強くお勧めします 。なぜなら、MPP ワーカーごとに 1 つのノードを使用することをお勧めしているからです。これにより、クラスタのオートスケーラーが、スケールアップが必要な場合は新しいノードを追加し、スケールダウンが必要な場合は不要なノードをシャットダウンすることができます。

Add feedback