1

私の目標は何ですか:

私は、Kubernetes Java クライアントを使用して Kubernetes API をサブスクライブし、すべての名前空間 (作成、変更、削除) からすべてのポッドに関するイベントを受信する調査タスクを持っています。私の目標は、応答からのコンテナのステータスに基づいて分析を行うことです。

私がやっていること:

Kubernetes 1.14 のテスト クラスターがあります。クラスターはいくつかのノードで実行されており、多数のポッドを回転させています。テスト目的で、レプリカ セットで実行されている 2 つのポッドを選択しました。各ポッドには 1 つのコンテナーがあります。再起動ポリシーは「常に」です。同じノードで 2 つのコピーを実行しないように、アンチアフィニティ機能がオンになっています。ときどき、レプリカ セットからランダムに選択したポッドを削除し、応答を確認します。Pod 内のコンテナーが Running 状態から Terminated 状態に切り替わり、Pod が終了し、新しい Pod が開始されることを期待しています。

私が直面したこと:

ほとんどの場合、期待どおりに機能します。ただし、コンテナが「ContainerCreating」という理由で実行中状態から待機中状態に切り替わることがあります。しばらくすると、新しく作成されたポッドが、削除されたポッドがまだ終了しているノードとまったく同じノードに割り当てられた場合にのみ発生することが明らかになりました。

質問:

コンテナーの状態が終了状態に変わらないのはなぜですか? 状態を別の方法で変更する目的はありますか?

4

0 に答える 0