私の要件は、キューからの保留中のメッセージなどのカスタム メトリックで PODS をスケールアップすることです。ジョブを処理するためにポッドを増やす必要があります。kubernetes では、prometheus アダプターと prometheus オペレーターを使用してスケールアップが正常に機能しています。
ポッドで長時間実行されているプロセスがありますが、HPA はカスタム メトリックをチェックし、スケールダウンを試みます。このプロセスにより、操作の途中で強制終了し、そのメッセージが失われます。HPA を制御して、プロセスが実行されていない空きポッドのみを強制終了する方法を教えてください。
カスタム メトリックを収集するための AdapterService
- seriesQuery: '{namespace="default",service="hpatest-service"}' リソース: オーバーライド: 名前空間: リソース: "名前空間" サービス: リソース: "サービス" 名前: 一致: "msg_consumergroup_lag" metricsQuery: 'avg_over_time(msg_consumergroup_lag {topic="test",consumergroup="test"}[1m])'
HPA 構成
- タイプ: オブジェクト オブジェクト: 説明オブジェクト: 種類: サービス名: custommetric-service メトリック: 名前: msg_consumergroup_lag ターゲット: タイプ: 値 値: 2