containerd
バージョンアップ情報
containerd情報
Containerdとは
containerd(こんてなでぃ)は、コンテナのライフサイクルを管理するシンプルで堅牢な、コンテナランタイムで、Linuxおよび Windowsのデーモンとして動作します。
containerdは、2014年にDocker社によりDockerエンジンの下位層ランタイムマネージャーとして開発が始まり、2017年3月にCNCFに譲渡され、2019年2月にはKubernetes、Prometheus、Envoy、CoreDNS に続くGraduated(卒業)プロジェクトになっています。
主な特徴
contanerdは、LinuxおよびWindowsのデーモンとして動作し、イメージの転送、ストレージからのコンテナの実行と監視、低レベルのストレージ、ネットワークアタッチメントなどに至るまで、ホストシステムのコンテナライフサイクルを管理します。
以下はcontainerdのアーキテクチャの概念図
動作環境
containerd の公式バイナリは、amd64(x86_64) および arm64(aarch64) アーキテクチャで動作します。Linux系OSである CentOS、Debian、Fedora、Ubuntu の DEB および RPM パッケージ containerd.io は、containerd プロジェクトではなく Docker によって配布されています。
1.公式バイナリによるインストール方法は下記を参照して下さい。
2.apt-get または dnf を使用してcontainerd.io パッケージをインストールする方法については、Docker のドキュメントを参照してください。
3.Window の場合は、PowerShell を使用してインストールします。
インストール方法の詳細は下記を参照して下さい。
Kubernetesとの関係
当初、Kubernetes は、コンテナランタイムとして Docker Engine のみをサポートしていましたが、その後リリースされたコンテナランタイムのための共通インタフェースである、CRI(Container Runtime Interface)が導入されました。Docker Engine はCRI と互換性が無かったため Docker Engine とCRIとの橋渡しをする dockershim というソフトウェアが開発されました。
dockershim は、暫定的な物として開発されていたため、Kubernetes v1.24 からは削除され、ユーザーがコンテナランタイムを選択して使用することが出来るようになりました。選択可能なコンテナランタイムは、containerd、CRI-O、Docker Engine、Mirantis Container Runtime があります。
Dockerとの関係
containerd は、Docker Engine のサブセットであり、コンテナの実行、ストレージの処理、およびイメージに関する Docker の機能のほとんどを備えています。開発者向けの機能は多く無いですが、コンテナオーケストレーションの大規模なシステムでの使用に適しています。なお、Docker Engine はcontainerdをバックグランドで使用しています。
Containerdのライセンス
containerd のライセンスは、Apache License 2.0 となっており、ユーザーはそのソフトウェアの使用や頒布、修正、派生版の頒布をすることに制限を受けません。
オープンソース年間サポートサービス
OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。
関連OSS
-
サポート対象
Kubernetes
クーバネティス。Dockerをはじめとするコンテナ化されたアプリケーションの展開、スケーリング、管理を行うオープンソースのプラットフォームです。
-
サポート対象
Docker
ドッカー。ソフトウェアコンテナを用いたアプリケーションのデプロイメントを自動化する仮想化オープンソースソフトウェアです。
-
サポート対象
CRI-O
CRI-OはKubernetes Incubator Projectとして開発された、Kubernetes実装のコンテナランタイムです。