サービスを提供するのではなく、ジョブ/バッチ・ワークロードを提供する配備内のポッドに、コロケーションされた補助コンテナをどのように実装するのだろうか?Kubernetesは同じ場所にあるジョブコンテナを提供していますか?
私の質問の背景は、各インスタンスが開始後に構成を必要とするスケーラブルなサービスを展開したいということです。この構成は、HTTP POSTを介してローカルにコロケートされたサービスインスタンスに行われます。私はcolocationの機能から恩恵を受けるためにこれのための補助的なコンテナを実装しました。したがって、補助コンテナは、どのインスタンスを設定する必要があるかを常に知っています。
問題は、restartPolicy
をPodレベルで定義する必要があるということです。サービスの再起動ポリシーalways
と設定ジョブの別の再起動ポリシーonFailure
を探しています。
k8sがそのようなワークロードのためにJob
リソースを提供していることは知っています。しかし、これらの仕事をポッドに配置するオプションはありますか?
さらに、私は注釈によって定義されるかもしれないいわゆる初期コンテナを見つけました。しかし、これらの欠点は、k8によって、実際のPodがinitコンテナの実行後にのみ開始されることが保証されるという欠点があります。だから私の非常にシナリオでは、それは不適切と思われる。
あなたは大歓迎です。 –
サイト上の新しいユーザーとして、http://meta.stackexchange.com/questions/686/accepting-answer-without-upvoting useful - 需要や何かではないかもしれません。 –
私の質問に答えていただきありがとうございます。 これまでの回避策は、あなたの提案と似ています。 1回のジョブは、既に実行されていた場合は、cronとマークでローカルに実行されます。だから、より多くの鉱石はそれほど解決されません。 このような解決策の問題は、ユーザーの観点からはセマンティクスが変更されていることです。首尾よく終了しているかもしれないし、していないかもしれないワンショットコンテナは今や常に走っているサービスです。したがって、ユーザは 'kubectl get/describe pod ... 'をチェックするのではなく、状態を評価するために実装の詳細を知る必要があります。 –