問題タブ [argo-workflows]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kubernetes - KFServing が GPU インスタンスをゼロにスケールダウンできるように、ポッドを適切に割り当てるにはどうすればよいですか?
Amazon EKS (Kubernetes) で Argo と KFServing を使用して InferenceService をセットアップしています。私たちのチームは、環境ごとに 1 つの EKS クラスターを持っていることを知っておくことが重要です。つまり、クラスター内に制御できない複数のアプリケーションが存在する可能性があります。
これまでにセットアップしたものは次のとおりです
- モデルをトレーニングしてデプロイするためのロジックを含む Docker イメージを Amazon ECR にプッシュします。
argo
#1 でトレーニングを開始するワークフローを送信するために使用します。argo を kubernetes クラスターにインストールすると、そのコンポーネントが GPU ノードに割り当てられることがあります。- KFServingも使用しています。KFServing を使用すると、GPU を自動スケールアップおよびスケールダウンできます。具体的には、使用されていないときにゼロにスケールします。KFServing のコンポーネントは、クラスターに適用するときに GPU ノードにも割り当てられます。
#2 と #3 (上記) の現在の設定では、KFServing がゼロにスケールダウンする機能を禁止しているようです。これらのコンポーネントを GPU に搭載すると、GPU をスケールダウンできないことが懸念されます。
GPU ノードに割り当てる必要があるポッドはどれですか?
(オプション 1) argo ワークフロー ポッドのみを割り当てて、残りを撃退する必要がありますか?
- また -
(オプション 2) GPU ノード内で正常に動作するために必要な他の kfserving コンポーネントはありますか?
オプション 1: argo ワークフロー ポッド以外のすべてのポッドが GPU ノードに入らないようにするにはどうすればよいですか? 念のために言っておきますが、制御できないアプリケーションが他にもあるため、すべてのポッドにノード アフィニティを追加することは非現実的です。
オプション 2:これらの GPU ノードに kfserving コンポーネントがある場合、GPU ノードをゼロにスケールするにはどうすればよいですか? スケールダウンは、ノードにポッドがないことを意味するという印象を受けました。