/etc/containerd/config.toml

version = 2

root = "/var/lib/containerd"
state = "/run/containerd"
oom_score = 0

[grpc]
  address = "/run/containerd/containerd.sock"
  uid = 0
  gid = 0

[ttrpc]
  address = ""
  uid = 0
  gid = 0

[debug]
  address = ""
  uid = 0
  gid = 0
  level = ""

[metrics]
  address = ""
  grpc_histogram = false

[cgroup]
  path = ""

[plugins]
  [plugins."io.containerd.grpc.v1.cri"]
    # ✅ Kubernetes 需要 CRI
    sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.10"

    # CNI 网络配置
    [plugins."io.containerd.grpc.v1.cri".cni]
      bin_dir = "/opt/cni/bin"
      conf_dir = "/etc/cni/net.d"
      max_conf_num = 1

    # containerd runtime 配置
    [plugins."io.containerd.grpc.v1.cri".containerd]
      snapshotter = "overlayfs"
      default_runtime_name = "runc"

      [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
        runtime_type = "io.containerd.runc.v2"

        [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
          # ✅ Kubernetes 推荐 systemd cgroup
          SystemdCgroup = true

  [plugins."io.containerd.internal.v1.opt"]
    path = "/opt/containerd"

  [plugins."io.containerd.internal.v1.restart"]
    interval = "10s"

  [plugins."io.containerd.metadata.v1.bolt"]
    content_sharing_policy = "shared"

  [plugins."io.containerd.runtime.v2.task"]
    platforms = ["linux/amd64"]

  [plugins."io.containerd.service.v1.diff-service"]
    default = ["walking"]

🔧 使用步骤

  1. 覆盖原配置
sudo mv /etc/containerd/config.toml /etc/containerd/config.toml.bak
sudo tee /etc/containerd/config.toml > /dev/null <<'EOF'
# 把上面的配置内容贴在这里
EOF
  1. 重启 containerd
sudo systemctl restart containerd
sudo systemctl status containerd -l --no-pager
  1. 验证 CRI API 正常
crictl --runtime-endpoint unix:///run/containerd/containerd.sock info

less233

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注