techtsubame’s blog

備忘録であり、何が起きても責任は取りません

CentOS9にcontainerdインストールと設定と起動

実施する事

  • containerdのインストール
  • containerdの設定
  • containerdの起動

参考

kubernetes.io

コンテナラインタイム(Containerd)のインストールと設定

containerdのリポジトリ追加

dnfによりリポジトリ追加

  • エラーが無いこと
[tsubame@control-plane01 ~]$ sudo dnf repolist
repo id                              repo の名前
appstream                            CentOS Stream 9 - AppStream
baseos                               CentOS Stream 9 - BaseOS
extras-common                        CentOS Stream 9 - Extras packages
[tsubame@control-plane01 ~]$
[tsubame@control-plane01 ~]$ sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
repo の追加: https://download.docker.com/linux/centos/docker-ce.repo
[tsubame@control-plane01 ~]$
[tsubame@control-plane01 ~]$ sudo dnf repolist
repo id                               repo の名前
appstream                             CentOS Stream 9 - AppStream
baseos                                CentOS Stream 9 - BaseOS
docker-ce-stable                      Docker CE Stable - aarch64
extras-common                         CentOS Stream 9 - Extras packages
[tsubame@control-plane01 ~]$
[tsubame@control-plane01 ~]$ dnf search containerd.io
CentOS Stream 9 - BaseOS                                     2.4 MB/s | 8.6 MB     00:03
CentOS Stream 9 - AppStream                                   19 MB/s |  16 MB     00:00
CentOS Stream 9 - Extras packages                             25 kB/s |  14 kB     00:00
Docker CE Stable - aarch64                                   253 kB/s |  29 kB     00:00
=============================== 名前 完全一致: containerd.io ================================
containerd.io.aarch64 : An industry-standard container runtime
[tsubame@control-plane01 ~]$ dnf search containerd
メタデータの期限切れの最終確認: 0:00:04 前の 20230812213441秒 に実施しました。
=================================== 名前 一致: containerd ===================================
containerd.io.aarch64 : An industry-standard container runtime
[tsubame@control-plane01 ~]$

containerdのインストール

dnfでインストール

  • containerd.ioの情報が表示されること
[tsubame@control-plane01 ~]$ sudo dnf install -y containerd.io
Docker CE Stable - aarch64                                   166 kB/s |  29 kB     00:00
依存関係が解決しました。
=============================================================================================
 パッケージ              Arch          バージョン               リポジトリー           サイズ
=============================================================================================
インストール:
 containerd.io           aarch64       1.6.22-3.1.el9           docker-ce-stable        25 M
依存関係のインストール:
 container-selinux       noarch        3:2.219.0-1.el9          appstream               56 k


-- snip -- 

インストール済み:
  container-selinux-3:2.219.0-1.el9.noarch        containerd.io-1.6.22-3.1.el9.aarch64

完了しました!
[tsubame@control-plane01 ~]$
[tsubame@control-plane01 ~]$ dnf info containerd.io
メタデータの期限切れの最終確認: 0:02:58 前の 20230812213441秒 に実施しました。
インストール済みパッケージ
名前         : containerd.io
バージョン   : 1.6.22
リリース     : 3.1.el9
Arch         : aarch64
サイズ       : 93 M
ソース       : containerd.io-1.6.22-3.1.el9.src.rpm
リポジトリー : @System
repo から    : docker-ce-stable
概要         : An industry-standard container runtime
URL          : https://containerd.io
ライセンス   : ASL 2.0
説明         : containerd is an industry-standard container runtime with an emphasis on
             : simplicity, robustness and portability. It is available as a daemon for Linux
             : and Windows, which can manage the complete container lifecycle of its host
             : system: image transfer and storage, container execution and supervision,
             : low-level storage and network attachments, etc.

[tsubame@control-plane01 ~]$

containerdの設定

containerdコマンドよりデフォルト設定を生成しファイルに保存

[tsubame@control-plane01 ~]$ sudo cp -p /etc/containerd/config.toml{,_bk`date '+%F'`} ; ls -l /etc/containerd/config.toml*
-rw-r--r--. 1 root root 886  730 04:48 /etc/containerd/config.toml
-rw-r--r--. 1 root root 886  730 04:48 /etc/containerd/config.toml_bk2023-08-12
[tsubame@control-plane01 ~]$
[tsubame@control-plane01 ~]$ containerd config default | sudo tee /etc/containerd/config.toml
disabled_plugins = []

-- snip -- 

[ttrpc]
  address = ""
  gid = 0
  uid = 0
[tsubame@control-plane01 ~]$

ログレベルをdebugに変更

  • 変更されたこと
[tsubame@control-plane01 ~]$ sudo cp -p /etc/containerd/config.toml{,_bk`date '+%F'`_modify_01} ; ls -l /etc/containerd/config.toml*
-rw-r--r--. 1 root root 6928  814 00:15 /etc/containerd/config.toml
-rw-r--r--. 1 root root  886  730 04:48 /etc/containerd/config.toml_bk2023-08-14
-rw-r--r--. 1 root root 6928  814 00:15 /etc/containerd/config.toml_bk2023-08-14_modify_01
[tsubame@control-plane01 ~]$
[tsubame@control-plane01 ~]$ sudo sed -i 's/^.*level.*$/  level = "debug"/g' /etc/containerd/config.toml
[tsubame@control-plane01 ~]$
[tsubame@control-plane01 ~]$ diff -U0 /etc/containerd/config.toml{,_bk`date '+%F'`_modify_01}
--- /etc/containerd/config.toml 2023-08-14 00:17:41.101845341 +0900
+++ /etc/containerd/config.toml_bk2023-08-14_modify_01  2023-08-14 00:15:31.921692350 +0900
@@ -18 +18 @@
-  level = "debug"
+  level = ""
[tsubame@control-plane01 ~]$

systemdCgroupを有効に変更

  • 変更されたこと
[tsubame@control-plane01 ~]$ sudo systemctl status containerd | grep -E "Loaded|Active"
     Loaded: loaded (/usr/lib/systemd/system/containerd.service; enabled; preset: disabled)
     Active: active (running) since Sat 2023-08-12 22:20:06 JST; 4min 23s ago
[tsubame@control-plane01 ~]$
[tsubame@control-plane01 ~]$ diff -U0 /etc/containerd/config.toml{,_bk`date '+%F'`_modify_01}
--- /etc/containerd/config.toml 2023-08-14 00:17:41.101845341 +0900
+++ /etc/containerd/config.toml_bk2023-08-14_modify_01  2023-08-14 00:15:31.921692350 +0900
@@ -18 +18 @@
-  level = "debug"
+  level = ""
@@ -125 +125 @@
-            SystemdCgroup = true
+            SystemdCgroup = false
[tsubame@control-plane01 ~]$

containerdの起動を自動起動設定

設定

  • active(running)とenableであること
[tsubame@control-plane01 ~]$ sudo systemctl start containerd
[tsubame@control-plane01 ~]$ sudo systemctl enable containerd
Created symlink /etc/systemd/system/multi-user.target.wants/containerd.service → /usr/lib/systemd/system/containerd.service.
[tsubame@control-plane01 ~]$

コピペ用

containerd

sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install -y containerd.io
dnf info containerd.io
sudo cp -p /etc/containerd/config.toml{,_bk`date '+%F'`} ; ls -l /etc/containerd/config.toml*
containerd config default | sudo tee /etc/containerd/config.toml
sudo cp -p /etc/containerd/config.toml{,_bk`date '+%F'`_modify_01} ; ls -l /etc/containerd/config.toml*
sudo sed -i 's/^.*level.*$/  level = "debug"/g' /etc/containerd/config.toml
sudo sed -i 's/SystemdCgroup.*$/SystemdCgroup = true/g' /etc/containerd/config.toml
sudo systemctl start containerd
sudo systemctl enable containerd
sudo systemctl status containerd
sudo systemctl status containerd | grep -E "Loaded|Active"