ビュー:
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