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
