CIの活動をサポートするために、Kubernetes Clusterでかなりリソース集約型のサービスを実行しています。単一のレプリカだけが必要ですが、多くのリソース(16 CPU)を使用しており、一般的に労働時間中にのみ必要とされます(平日は8 am - 6pm)。マイクラスタはクラウド内で実行され、インスタンスの自動スケーリングで設定されているので、このサービスがゼロにスケーリングされている場合は、そのインスタンスは終了できます。
サービスは変更できないサードパーティのコードです(まあ、簡単ではありません)。それはその仕事以外のかなり典型的な典型的なHTTPサービスです。
アイドル状態のときにこの展開をゼロに自動的に拡大縮小するためのどのオプションが存在するか?
時折CIアクティビティが通常の時間外で行われるため、勤務時間中に上下に拡大するスケジュールを設定しません。スケーリングを動的にすることをお勧めします(たとえば、30分間のアイドル時にゼロになるようにスケール、または着信接続が到着するときにスケール)。
ドキュメントに基づいて、これまでのところMinReplicas = 0をサポートしていません。このスレッドを読む:- https://github.com/kubernetes/kubernetes/issues/69687 。そして、HPAを正しく設定するには、この式を使用して必要なPODを設定できます。 -
desiredReplicas = ceil[currentReplicas * ( currentMetricValue / desiredMetricValue )]
_
pROMETHEUSメトリックに基づいてHPAをセットアップすることもできます。
https://itnext.io/horizontal-pod-autoscale-with-custom-metrics-8cb13e9d475