コンテナランタイム「containerd 2.0」がまもなく登場。何が変わるのか?

今回は「コンテナランタイム「containerd 2.0」がまもなく登場。何が変わるのか?」についてご紹介します。

関連ワード (到達、変更、比較的地味等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


コンテナランタイムの代表的な実装の1つである「containerd」の初のメジャーバージョンアップとなる「containerd 2.0」の開発が進んでいます。

今年(2024年)3月に最初のリリース候補版「v2.0.0-rc.0」が登場し、6月には「v2.0.0-rc.3」まで進捗しているため、数カ月以内には正式版が登場すると思われます。

containerdのこれまで

もともとcontainerdはDockerコンテナの一部として実装され、2016年に独立したオープンソースプロジェクトとなりました。現在でもDockerのコンテナランタイムとして採用されています。

参考:Dockerエンジンのコアランタイムが「containerd」として分離、独立したオープンソースプロジェクトに。Docker、AWS、Google、IBM、マイクロソフトらが協力して開発推進へ

2017年3月にCloud Native Computing Foundationに寄贈された後、7月にバージョン1.0に到達しています。

2018年にリリースされたcontainerd 1.1では、Kubernetesの標準APIであるContainer Runtime Interface (CRI)に対応しました。

高レベルコンテナランタイムと低レベルコンテナランタイム

containerdは、いわゆる高レベルコンテナランタイムとして外部とのインターフェイスやコンテナイメージを管理する役割なども備えており、実際にコンテナを実行する低レベルランタイムには「runC」を採用しています。

参考:コンテナランタイムの仕組みと、Firecracker、gVisor、Unikernelが注目されている理由。 Container Runtime Meetup #2

containerd 2.0で何が変わる?

このcontainerdのメジャーバージョンアップとなるcontainerd 2.0では何が代わるのでしょうか? リリース候補版では次のような説明が示されています。

The first major release of containerd 2.x focuses on the continued stability of containerd’s core feature set with an easy upgrade from containerd 1.x. This release includes the stabilization of new features added in the last 1.x release as well as the removal of features which were deprecated in 1.x. The goal is to support the vast community of containerd users well into the future along with their ever increasing deployment footprints and variety of use cases.

初めてのメジャーリリースであるcontainerd 2.xは、containerd 1.xからの容易なアップグレードと、containerdのコア機能セットの継続的な安定性にフォーカスしています。本リリースには、前回の1.xリリースで追加された新機能の安定化と、1.xで非推奨となった機能の削除が含まれています。その目的は、containerdの大きなユーザーコミュニティと、増大するデプロイメントの範囲および様々なユースケースを将来にわたってサポートすることです。

この説明でcontainerd 1.xからのアップグレードの容易性と安定性にフォーカスしていると説明されているように、containerd 2.0は比較的地味なメジャーバージョンアップのようです。

ソフトウェアの実行基盤として使われるcontainerdのバージョンアップとしては、これは適切なコンセプトと言えそうです。

containerd 2.0ではNRIとCDIがデフォルトで有効に

もちろんメジャーバージョンアップに伴って多くの新機能や変更なども行われますが、いずれも大きな新機能や変更というものではないようです。その中から重要そうなものを2つ紹介しましょう。

NRI(Node Resource Interface)がデフォルトで有効に

NRI(Node Resource Interface)はKubernetes上のコンテナに対してスケジューリング、CPUやメモリなどのパラメータの参照や変更を行うインターフェイスを提供します。containerd 2.0からデフォルトで有効になります。

CDI(Container Device Interface)がデフォルトで有効に
コンテナからGPUなどのデバイスへのアクセスを抽象化するCDI(Container Device Interface)がcontainerd 2.0でデフォルトで有効になり、GPUなどのデバイスサポートを容易にします。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
天井を突き抜けて成長する「昇竜」の年に–テラスカイ・佐藤氏
IT関連
2024-01-12 08:02
マクニカ、脳科学とAIを組み合わせたオープンイノベーション組織を新設
IT関連
2021-07-15 06:45
M1搭載の薄い「iMac」登場 Touch ID付きMagic Keyboardも
企業・業界動向
2021-04-22 18:29
三菱電機、従業員体験の向上・改善で職場変革
IT関連
2021-05-18 03:01
セールスフォース、「Einstein for Net Zero Cloud」を発表–ESGレポート作成を効率化
IT関連
2023-09-21 04:21
オラクル、AWSに対応した「MySQL HeatWave」をリリース
IT関連
2022-09-15 19:22
コンテナーデータ保護のKasten、創業者に聞くクラウドネイティブとセキュリティ
IT関連
2021-06-03 04:51
三井住友銀行、日本IBMらと温室効果ガス排出量の可視化サービスを提供
IT関連
2022-08-12 18:12
F5のBIG-IPなどに複数の脆弱性–早期対応を
IT関連
2021-03-23 14:07
freee、クラウド型販売管理ソフトに「Pendo」を導入
IT関連
2023-04-13 07:05
NTT、法人向けAIビジネスを展開する新会社を設立
IT関連
2024-08-09 13:11
「iPhone」画面を狭めず物理キーボードを追加–「Clicks for iPhone」
IT関連
2024-01-07 03:11
WebAssemblyアプリ開発で最も使われている言語はRust、注目の機能はスレッドなど。The State of WebAssembly 2021
WebAssembly
2021-07-01 05:44
IT子会社設立の主な理由は「コスト削減」–ガートナー調査
IT関連
2023-10-06 03:23