Debian に Containerd をインストールする
Containerd 公式サイト:containerd – An industry-standard container runtime with an emphasis on simplicity, robustness and portability
公式インストールガイド:containerd/docs/getting-started.md (github.com)
インストール環境
Debian 11.5.0
Containerd リリースパッケージのダウンロード
ダウンロード先:https://github.com/containerd/containerd/releases
containerd は runc を呼び出す必要があるため、本来は先に runc をインストールしなければなりません。ただし containerd は関連する依存関係を同梱した圧縮パッケージ cri-containerd-cni を提供しており、これを使えば一つずつインストールする手間が省けます。

コマンドを実行してダウンロードします。
wget https://github.com/containerd/containerd/releases/download/v1.6.8/cri-containerd-cni-1.6.8-linux-amd64.tar.gz
中国国内でダウンロードが遅すぎる場合は、こちらのアドレス(国内プロキシサイト)を試せます。
wget https://download.fastgit.org/containerd/containerd/releases/download/v1.6.8/cri-containerd-cni-1.6.8-linux-amd64.tar.gz
圧縮パッケージをルートディレクトリに展開する
圧縮パッケージの中はすでにシステムの階層構造どおりにディレクトリとファイルが組まれているので、そのまま / ルートディレクトリに展開すれば OK です。
tar -C / -xzf cri-containerd-cni-1.6.8-linux-amd64.tar.gz
環境変数の設定
/usr/local/bin と /usr/local/sbin を ~/.bashrc ファイルの PATH 環境変数に追加します。
vim ~/.bashrc
以下の内容を追加します。
# シェルが containerd 関連の実行ファイルを見つけられるようにする
export PATH=$PATH:/usr/local/bin:/usr/local/sbin
追加後、コマンドを実行して反映させます。
source ~/.bashrc
containerd デフォルト設定ファイルの生成
設定ファイルは etc ディレクトリの下に置きます。
mkdir -p /etc/containerd
# デフォルト設定を config.toml として書き出す
containerd config default > /etc/containerd/config.toml
中国国内向けミラーアクセラレータの設定
デフォルト設定ファイルを生成したら、手動で国内向けミラーアクセラレータのアドレスを設定します。
vim /etc/containerd/config.toml
以下の行を探します [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
だいたい 153 行目あたりです。

以下の内容を追加します。インデントに注意してください。
# docker.io と k8s.gcr.io をそれぞれ対応する中国国内ミラーに向ける
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
endpoint = ["https://kvuwuws2.mirror.aliyuncs.com"]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."k8s.gcr.io"]
endpoint = ["https://registry.aliyuncs.com/k8sxio"]

設定したらファイルを保存します。
設定の中の root はコンテナ情報の保存先であり、必要に応じて変更できます。

containerd サービスの起動と自動起動の設定
# --now は自動起動を設定すると同時にサービスを即時起動することを意味する
systemctl enable containerd --now
サービスが正常に起動したか確認しましょう。
これで containerd サービスのインストールと起動が完了しました。
まとめ
Debian への containerd のインストールは、実のところ 4 ステップです。公式の cri-containerd-cni リリースパッケージをダウンロードし、ルートディレクトリに展開し、PATH とデフォルト設定ファイルを設定し、systemd でサービスを起動する。この圧縮パッケージには runc と CNI プラグインが同梱されているので、依存関係を個別にインストールする手間が省けます。中国国内の環境ならついでにミラーアクセラレータも設定しておくと、イメージ取得の体験が格段に良くなります。今後 Kubernetes と連携する場合も、このインストール方法をそのまま流用できます。
COMMENTS