クラスタ自動スケーリング
コンテナレベルの自動スケーリング
水平ポッド自動スケーラー(HPA)は、ワークロードリソース(DeploymentやStatefulSetなど)を自動的に更新し、アプリケーションの需要に合わせてリソースを自動スケーリングすることを目的としています。基本的に、Kubernetes上のアプリケーションのワークロードが増加すると、HPAはリソース需要を満たすためにより多くのポッドをデプロイします。負荷が低下しPod数が設定された最小値を超えた場合、HPAはワークロードリソース(Deployment、StatefulSet、その他類似リソース)を縮小します。つまりPod数を再び削減します。GPU向けHPAはDCGMのカスタムメトリクスを使用し、GPU利用アプリケーションのワークロードに基づいてPodを監視・スケーリングします。
GPUベースのアプリケーション向けにHPAを設定するには、以下の構成を参照してください:
apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
name: my-gpu-app
spec:
maxReplicas: 3 # Update this accordingly
minReplicas: 1
scaleTargetRef:
apiVersion: apps/v1beta1
kind: Deployment
name: my-gpu-app # Add label from Deployment we need to autoscale
metrics:
- type: Pods # scale pod based on gpu
pods:
metric:
name: DCGM_FI_PROF_GR_ENGINE_ACTIVE # Add the DCGM metric here accordingly
target:
type: AverageValue
averageValue: 0.8 # Set the threshold value as per the requirement
以下のコマンドを使用して、HPAがGPUベースのアプリケーションを起動したかどうかを確認してください:

ノードレベルの自動スケーリング
通常のクラスター自動スケーリングと同様に、KubernetesクラスターはワーカーグループのGPU使用率要件に基づきワーカーノードを自動的にスケールアップ/ダウンします。具体的には、ワーカーグループで実行中のアプリケーションが当該プール内のワーカーノードから十分なリソース(GPU)を取得できていない場合、そのワーカーグループ内で新しいワーカーを自動的にスケールアップします。
この時点で、ノードリソース不足により保留中だったポッドは、スケールアップ後の新規ワーカーノードによって処理されます。クラスタ自動スケーリング機能は、十分な利用率(デフォルトは50%)に達していないノードも自動的に削除します。
ワーカーグループノード数の設定は、FPT CLOUD Portal上で以下のように定義されます:

クラスタの自動スケーリングを有効にする
クラスタ自動スケーリングの無効化
クラスタの自動スケーリング設定の変更
Last updated












