私たちは
最初からcontainerdプロジェクトをフォローしてきました。 したがって、重要なイベントを無視することはできません。昨夜、Kubernetesの背後にあるCNCF組織およびクラウドネイティブワールド向けのその他の優れたオープンソースソリューションが、コンテナ化された「卒業」を
発表しました 。 このプロジェクトはすでにこのステータスで5番目で、K8、プロメテウス、エンボイ、CoreDNSの仲間入りをしました。

CNCF基準
現在多数のオープンソースプロジェクトをサポートしているCNCFは、分類に3つのカテゴリを
採用しています。
- サンドボックス (「サンドボックス」)-(将来)「CNCFミッションの価値を追加する」、つまり実験的でありながら将来性のある開発用 最新のクラウドネイティブアプリケーションのインフラストラクチャを中心に形成されるオープンソースエコシステムとコミュニティの開発に貢献します。 このようなプロジェクトは12個あります。
- インキュベーション (「インキュベーター」)-少なくとも3人の(文書化され独立した)ユーザーが本番であり、その中に十分な(技術委員会による)品質レベルとスケールが提供され、コミットビットとコードベースの安定した開発。 それらの15があります。
- 卒業 -少なくとも2つの組織のコミッターがいるプロジェクト、 ベストプラクティスCII (コアインフラストラクチャイニシアチブ)に準拠したバッジ、 CNCF行動規範 、明確に定義されたコミットの管理と承認、ユーザーの公開リスト、そしてもちろんポジティブCNCF技術委員会による対応する投票の結果。 今では5つあります。

要するに、CNCFでの「リリース」に対するプロジェクトの準備は、「急速に成長している適応、独創性、正式な管理プロセス、そして持続可能な包括的コミュニティへの厳格なコミットメント」として策定されています。 ほぼ2年前にDockerからCNCFに譲渡されたcontainerdは、現在これらの基準を満たしていると認識されています。
コンテナ:起源と現在
containerdプロジェクトは、Docker
ツリーが大きいときまで遡ります。 2015年に、その開発者はDocker Engineをよりコンパクト(高速、信頼性、ポータブル...)にする時間であると発表した
ため、コンポーネントを個別のプロジェクトに取り入れ始め
ました 。
すべてはruncコンテナー起動ツール(2015)の発表
から始まり 、その後コンテナーのcontainerdランタイム(2016)が登場し、1年後にこのイニシアチブはさらにグローバルになり、
Mobyを
もたらしました 。
Docker 1.11のリリースのイラスト(2016年4月):Docker Engineとそこから削除されたコンポーネントcontainerdに戻ります。 要するに、ホストシステム上のデーモンとして、コンテナのライフサイクル全体を制御するという事実に、その機能的な役割は減りました
(そして、これは今日に変更されていません) :コンテナの起動と格納から(既に述べたruncを介して)そして彼の仕事を制御します。 コンテナの分離から1年後の2017年3月、
Docker はそれをCNCFに
転送しました 。これは、CoreOSからの同様のイニシアチブである
rktと
一緒に行われ
ました (これに戻ります) 。
さらなる開発には、CRI-O *と呼ばれるKubernetes志向の競合他社の
出現と開発 (Red Hatのリーダーシップの下)および
cri-containerdの形式のDocker Incのミラー「応答」が
含まれます。
特別な(セルフタイトルの)デーモンがcri-containerdのK8と対話するために使用され、バージョン1.1により、ソリューション
は Kubernetesの新しいコンテナーランタイム環境(Container Runtime Interface(CRI))のプラグインとなり、ここではcontainerdと直接通信するプラグイン(必要な関数を呼び出します)。

2018年6月、コンテナ化されたCRIプラグインの生産準備が整った
ことが発表されました。 現在のプロジェクトリポジトリは
containerd / criです。
*興味深いのは、2018年11月に提出された、CNCFプロジェクトに競合他社のコンテナおよびrkt-CRI-O-を含めるために提出された申請が、組織によってまだ承認されていないことです。今日、containtedは無意識のうちに「業界標準であり、シンプルさ、信頼性、移植性に重点を置いた実行可能なコンテナ環境」と自称しています。

containerdを使用したコンテナソリューションの実際のアーキテクチャ
(もちろん、ほとんどの場合、Kubernetesに焦点を当てていますが、正式にはこのプラットフォームに限定されません) 、次のように表示されます。

ソリューション自体
は 、Linux(カーネルバージョン4.xが
推奨されますが、以前のバージョンのオプションも可能です)およびWindows用のデーモンの形で提供されます。 ソースコードはGoで記述されています(バージョン1.9.x +が
必要です )。
containerdの最新リリースは
1.2.4 (日付は2019年2月14日)で 、
runcの
脆弱性CVE-2019-5736が修正されました。 次のマイルストーンは
バージョン1.3で 、
コンテナグループ 、イメージのプル操作の
パフォーマンス最適化 、snapshotterでの作業のさまざまな改善
などが期待されています。
このプロジェクトには、GitHubに3500人以上のスター、14のコミッター、
Alibaba 、Facebook、Google、
Huawei 、IBM、Microsoft、NTT、Teslaなどの企業(もちろんDockerを除く)の166人の貢献者がいます。
DevStatsでは、より多くのコードベース統計を見ることができます。
注目に値するコンテナ
ユーザーの中では、Moby自体と関連プロジェクト(LinuxKit、BuildKit)、Googleクラウドサービス(GKE)、Microsoft(Azureのac-engine、および将来のAKS)、IBM(IKS、ICP)、Alibabaについて言及するだけで十分です。コンテナソリューション/エンジン(RancherのRio、Kata Containers、Balena)、さらに最近の
爆竹さえも。
競合他社について
最後に、ほぼ同時にCNCFに含まれるコンテナー化されたものの類似物であるrktの開発のペースが大幅に遅いことは言うに値します。 最後のリリース(v1.30.0)がほぼ1年前(2018年4月)に行われたことを示すだけで十分です。
ビジネスの観点から論理的な結論があります。約1年前、元のrkt開発者であるCoreOS
が Red Hat
に買収されました。 そして、後者
(または、IBMが既に持っていると言う方が正しい)は、資料で述べたように、独自の発想-クリオ-があり、その活動は
より積極的に行われています。
しかし、Linuxの巨人はCNCFでプロジェクトを「開始」することができませんでしたが、おそらく業界標準としてのコンテナー化についての言葉は信じられないほど聞こえます。
PS
ブログもご覧ください。