kubernetesのポッド - 容器 - コンテナ画像の目的は何ですか?- pod-infra-container-imageとは何ですか?
公式ドキュメントは言う:
ネットワーク画像/各ポッド内のIPC名前空間コンテナを使用します。 (デフォルト "gcr.io/google_containers/pause-amd64:3.0")
しかし、私はそれが何をしているのか、それがどのように詳細に機能するのかは分かりません。
kubernetesのポッド - 容器 - コンテナ画像の目的は何ですか?- pod-infra-container-imageとは何ですか?
公式ドキュメントは言う:
ネットワーク画像/各ポッド内のIPC名前空間コンテナを使用します。 (デフォルト "gcr.io/google_containers/pause-amd64:3.0")
しかし、私はそれが何をしているのか、それがどのように詳細に機能するのかは分かりません。
フラグ--pod-infra-container
フラグが選択されているポーズコンテナが使用され、リソースを共有しながら複数のコンテナをポッドで起動できるようになりました。それはほとんど何もしません、あなたが何かカスタムに置き換える非常に良い理由がない限り、あなたはしないでください。これは主にpause
システムコール(したがってその名前)を呼び出しますが、PID 1を持つ重要な機能を実行し、ゾンビプロセスが保持されていないことを確認します。
は、私はまた、臆面もなくどこのポーズコンテナの生活を示し、次の絵を盗んだところから被写体can be found hereに非常に完全な記事、:
ポーズコンテナはhttps://github.com/kubernetes/kubernetes/tree/master/build/pauseから構築されています。プロセス自体は何もしないので、何もしない別の任意のコンテナ(--pod-infra-container-image
パラメータはkubelet
)に置き換えることができます。
このコンテナは、各ポッドの一部として開始されます。 Kubernetesは、よく知られている決して落ちないコンテナを使用して、ポッドのネットワーク名前空間を設定し、名前空間が空でないことを確認します(ポッド内の他のすべてのコンテナは失敗する可能性があります)。しかし、コンテナプロセス自体は何もしません。ただのプレースホルダです。
しかしkubernetesは全くそのようなすべてのコンテナで必要とする理由?ネットワーク自体をセットアップできませんか? – Sasa
私はあなたの質問を完全に理解していません。簡単な答えは、このコンテナは技術的な必要性です(Docker with Kubernetesを使用する場合)。ただし、気にする必要はありません。このコンテナを実行するためのリソースはほとんどなく、ノードは100以上のポッドを実行しません。したがって、ポッドごとにこの余分なコンテナを実行することによって取り込まれているリソースはゼロコストに近似します。 –
私はコストには関係しません。私はそれがどのように機能するのか理解したい。そのようなことが必要でないドッカーの群れの環境から来て、私はそのようなコンテナを必要とする理由を理解しようとしており、それがどのように詳細に機能しているか知りたい。私の究極の選択肢は、コードを調べることですが、私は非常に多くのコードを調べるのではなく、より迅速な答えを見つけることを望んでいました。 – Sasa