HelmのHPAオートスケーリング設定を検証する
Helm values.yamlのautoscaling設定をチェック。minReplicas、maxReplicas、CPUターゲット、replicaCountとの整合性を検証します。
Resource Management
詳細な説明
Horizontal Pod Autoscaler(HPA)設定
Helmチャートには通常、HPAの動作を制御するautoscalingセクションが含まれています。オートスケーリングの設定ミスは、過剰プロビジョニング(コストの無駄)や不足プロビジョニング(障害の原因)を引き起こす可能性があります。
標準パターン
autoscaling:
enabled: true
minReplicas: 2
maxReplicas: 10
targetCPUUtilizationPercentage: 80
検証される項目
- minReplicas <= maxReplicas: 最小値が最大値を超えていないことを検証。
- 型の正確性:
enabledはブーリアン、レプリカ数は数値。 - replicaCountの競合: オートスケーリングが有効で
replicaCountも設定されている場合、HPAが静的レプリカ数を上書きすることを通知。 - リソース要件: HPAにはCPU/メモリベースのスケーリングに
resources.requestsの設定が必要。
よくある間違い
min > max(エラー):
autoscaling:
enabled: true
minReplicas: 10
maxReplicas: 5 # エラー: min > max
静的replicaCountとオートスケーリングの併用:
replicaCount: 3 # HPAがアクティブ時は無視される
autoscaling:
enabled: true
minReplicas: 2
maxReplicas: 10
ベストプラクティス
- 高可用性のため
minReplicasを2以上に設定 targetCPUUtilizationPercentageを60-80%の間に設定- CPUベースHPA使用時は必ず
resources.requests.cpuを定義 - オートスケーリング有効時は
replicaCountを削除またはコメントアウト
ユースケース
トラフィックスパイクに対応しつつクラウド予算の制約を超えないよう、オートスケーリングを正しく設定する必要がある本番Helmリリースの準備。