Helmチャートは、スキャナーコンポーネントの水平ポッドオートスケーリング (HPA) をサポートしており、CPUとメモリの使用率に基づいてスキャナーポッドの数を自動的にスケールします。
オートスケーリングは、適切なリソース要求と制限と組み合わせることで最適に機能します。最適なスケーリングの閾値を決定するために、ワークロードパターンをモニタしてください。
オートスケーリングの前提条件
-
メトリクスサーバ: HPAがCPUとメモリのメトリクスを収集するためには、Kubernetesメトリクスサーバをクラスターにデプロイする必要があります。まだインストールされていない場合は、次のコマンドを使用してデプロイしてください:
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
メトリクスサーバが稼働していることを確認してください:kubectl get deployment metrics-server -n kube-system kubectl top nodes # This should return node metrics
-
リソース要求: スキャナーポッドには、CPUおよびメモリのリソース要求が定義されている必要があります (これらはデフォルトでこのチャートに含まれています)。
デフォルトの自動スケーリング設定
オートスケーリングはデフォルトで無効になっています。次の設定は
values.yaml
で構成されています。スキャナーの自動スケーリング (
scanner.autoscaling
):- 有効:
false
(自動スケーリングはデフォルトで無効) - minReplicas:
1
(スキャナーポッドの最小数) - maxReplicas:
5
(スキャナーポッドの最大数) - targetCPUUtilizationPercentage:
80
(スケーリングをトリガーする目標CPU使用率) - targetMemoryUtilizationPercentage:
80
(スケーリングをトリガーする目標メモリ使用率)
自動スケーリングを有効にする
インストール中に
--set
フラグを使用して自動スケーリングを有効にすることができます。また、カスタムvalues.yaml
ファイルの値を上書きすることで自動スケーリングを有効にすることもできます。# Example: Enable autoscaling with custom thresholds scanner: autoscaling: enabled: true minReplicas: 2 maxReplicas: 10 targetCPUUtilizationPercentage: 70 targetMemoryUtilizationPercentage: 80
または、Helmコマンドラインを使用して:
helm install my-release visionone-filesecurity/visionone-filesecurity \ -n visionone-filesecurity \ --set scanner.autoscaling.enabled=true \ --set scanner.autoscaling.maxReplicas=10 \ --set scanner.autoscaling.targetCPUUtilizationPercentage=70
モニタオートスケーリング
HPAステータスをモニタするには、次の方法を使用できます:
# Check HPA status kubectl get hpa -n visionone-filesecurity # Get detailed HPA information kubectl describe hpa -n visionone-filesecurity