コンテナランタイムコンテナ ランタイムは、オペレーティング システム レベルでコンテナを作成および管理するソフトウェア ツールまたはコンポーネントです。これはコンテナ化技術のコアコンポーネントの 1 つであり、コンテナ内でアプリケーションを実行し、分離、リソース管理、セキュリティなどの機能を提供するために使用されます。 Kubernetes では、コンテナ ランタイムはコンテナの管理と実行を担当するコンポーネントです。以前は、Docker が最も一般的に使用されていたコンテナ ランタイムでしたが、時間が経つにつれて、containerd が Kubernetes の別の一般的なコンテナ ランタイムの選択肢になりました。
コンテナ ランタイムの主なタスクは次のとおりです。
今日のクラウドネイティブ テクノロジーのトレンドでは、コンテナ化テクノロジーが最新のアプリケーション展開の主流の選択肢となっています。 Kubernetes (K8s) は、人気のコンテナ オーケストレーション システムとして、大規模なコンテナ クラスターの管理に広く使用されています。 K8s では、コンテナ ランタイムの選択がパフォーマンス、信頼性、セキュリティにおいて重要な役割を果たします。この記事では、2 つの一般的な K8s コンテナ ランタイムである Containerd と Docker を比較し、それらの類似点と相違点を探ります。 Docker: 元祖リーダー初期のコンテナ技術である Docker は、従来の仮想化方式を覆し、軽量なコンテナ化によるアプリケーションのパッケージ化、配信、運用を実現しました。 Docker はコンテナ技術の普及に重要な役割を果たしてきました。ユーザーフレンドリーなコマンドライン ツールとグラフィカル インターフェイスにより、コンテナ テクノロジーは開発者にとってより使いやすくなっています。ある時点で、Docker はコンテナ化とほぼ同義になりました。しかし、Kubernetes の台頭により、K8s における Docker の地位は徐々に脅かされるようになりました。一方、完全なコンテナ プラットフォームである Docker には、K8s に必要のない多くの機能が含まれており、リソースの無駄が生じます。一方、K8s 自体はコンテナ オーケストレーションとスケジューリング機能を提供しており、これらは Docker と重複し、ある程度の競合が発生します。 Docker が市場を独占するのを防ぐために、Docker の実装はいくつかの標準化されたモジュールに分割されました。標準化の目的は、モジュールを他の実装に置き換えることができ、特定のメーカーによって制御されないようにすることです。 Dockerは
したがって、containerd は docker の基本コンポーネントの 1 つです。 Docker のコンテナの管理と操作は基本的に containerd を通じて完了します。では、containerd とは何でしょうか? Containerd: K8s エコシステムの標準Containerd は、Docker チームによって開発されたオープンソースのコンテナ ランタイムです。軽量で高性能なコンテナ ランタイム環境の提供に重点を置いています。 Containerd は純粋なコンテナ ランタイムとして、K8s のアーキテクチャと要件にさらに沿うように設計されています。リソースフットプリントが小さく、起動時間が短く、パフォーマンスが向上します。 K8s コミュニティは Containerd の利点を認識しており、K8s エコシステムの標準コンテナ ランタイムとして使用しています。 Containerd は、コンテナ イメージの転送と保存、コンテナの実行と管理、ストレージとネットワークなど、ホスト内のコンテナのライフサイクル全体を管理できます。より詳細には、Containerd は次のことを行います。
コンテナ ランタイム インターフェース (CRI)コンテナ ランタイム インターフェース (CRI)。 CRI は、クラスター コンポーネントを再コンパイルせずに kubelet がさまざまなコンテナ ランタイムを使用できるようにするプラグイン インターフェイスです。 kubelet が Pod とそのコンテナを起動できるように、クラスター内のすべてのノードで機能するコンテナ ランタイムが必要です。コンテナ ランタイム インターフェース (CRI) は、kubelet とコンテナ ランタイム間の通信に使用される主要なプロトコルです。 Kubernetes と dockershimKubernetes アーキテクチャ図から、Kubelet の下に、OS との実際のやり取りである Contianer ランタイム (コンテナ ランタイム) のレイヤーがあることがわかります。このコンテナ ランタイムは、コンテナのライフ サイクル全体を管理し、イメージのプルなどの操作を実行する役割を担います。 現在サポートされているCRIバックエンドKubernetes を初めて使用する場合、通常はデフォルトで Docker をコンテナ ランタイムとして使用します。実際、Kubernetes 1.5 は CRI をサポートしています。 CRI インターフェースを通じて、Pod のバックエンドとして他のコンテナ ランタイムを指定できます。現在、CRI をサポートしているバックエンドは次のとおりです。
ドッカーシムKubernetes が CRI 動作仕様を提案したとき、Docker は containerd を分離したばかりで、CRI 標準をサポートしていませんでした。当時、Docker は最も主流かつ権威のあるコンテナ技術であったため、Kuberentes は CRI インターフェース仕様を提案したものの、CRI と Docker 間の接続を適応させる必要があり、Kubelet と Docker のコンテナ ランタイムを接続するための中間層またはシムが必要でした。そこで、Dockershim が kubelet に追加されました (shim は一時的かつ互換性があることを意味します)。 docker をランタイムとして使用する場合、コンテナを起動する実際のプロセスは次のようになります。この段階では、dockershim コンポーネントは Kubelet コード内にあります。つまり、Dockershim は K8S 組織によって開発および保守されています。 K8S 組織は Docker のバージョンリリースを制御および管理できないため、Docker が新しいリリースをリリースするたびに、K8S 組織は Dockershim を迅速に更新および保守することに重点を置く必要があります。 Kubernetes バージョン 1.24 では、dockershim が正式に削除され、非推奨になりました。この問題の本質は、組み込みの dockershim 機能を放棄し、Containerd に直接接続することです (CRI は後でサポートされます)。この方法はより標準的であり、呼び出しリンクもシンプルです。 通話関係の比較ランタイムが docker の場合の呼び出しチェーン: 呼び出し関係は次のとおりです: kubelet --> dockershim (kubelet プロセス内) --> dockerd --> containerd ランタイムが containerd の場合の呼び出しチェーン: 呼び出し関係は次のとおりです: kubelet --> cri plugin (containerd プロセス内) --> containerd 概要: k8s の観点からは、Containerd をランタイム コンポーネントとして選択する方が適切です。これは、Containerd の方が呼び出しチェーンが短く、コンポーネントが少なく、より安定しており、占有するノード リソースが少ないためです。 一般的なコマンドctr は containerd のクライアント ツールです。 crictl は、k8s ノード上のコンテナ ランタイムとアプリケーションを検査およびデバッグするために使用できる、CRI 準拠のコンテナ ランタイム コマンド ライン インターフェイスです。 ctr -v は containerd のバージョンを出力し、crictl -v は k8s の現在のバージョンを出力します。結果から、明らかに crictl が k8s に使用されていることがわかります。
|
<<: エッジコンピューティングアーキテクチャ: 低遅延エッジサービスの実現
>>: 小紅書は、兆レベルのソーシャルネットワーク関係の課題にどのように対処するのでしょうか?グラフストレージシステム REDtao が登場しました!
外部リンクは古い話題です。外部リンクを投稿するときに混乱することがよくあります。高品質の外部リンクを...
edgenat は、韓国ソウルの LG データセンターに設置された韓国 CN2 VPS を新たに開始...
このタイトルを見ると、これはナンセンスだと言うかもしれません。もちろん、同じページでもキーワードによ...
Hostround はアメリカのホスティング会社です。主な業務はサーバーのレンタルですが、仮想ホステ...
多くの SEO 担当者は、ウェブサイトを構築するときに独自の目的を持っています。おそらく、これらの目...
VPS を管理するには、いくつかの一般的な方法があります。自己管理: SSH (Secure She...
クラウド コンピューティングは、企業にいくつかの重要なメリットをもたらします。第 1 に、ハードウェ...
SEO実践者が毎日行うべきことは、自社サイトのキーワード順位やサイトトラフィック状況などを確認するこ...
この記事では、テンセントの 6 月の広告およびゲーム業界の購入量レポートと製品動向を紹介します。テン...
これら 3 つの単語はあまり関係がないように思えます。詳しく説明しましょう。 seowhy のトレー...
SEO を少しの間学んだばかりの友人なら誰でも、コンテンツは王様、外部リンクは皇帝という格言を知って...
SEO のキーワードを設定するときは、特定の単語の競合状況を分析する必要があります。「スポーツ」、「...
Webmaster Network (admin5.com) は 10 月 24 日に次のように報じ...
電子商取引業界の状況は急速に変化しており、まさに一長一短です。毎年もたらされる新たな変化の一部は、販...
secureservers のサーバーの割引コード 20OFF1230 を見つけました。元の価格は月...