Runtime 安装
Containerd作为Runtime
由于 Kubernetes 1.24 以上版本将不再直接支持 Docker,因此需要将 Kubernetes 的 Runtime 改为 Containerd。
安装 Docker 时会自动安装 Containerd
1. 配置Docker源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2.安装docker-ce
yum install -y docker-ce docker-ce-cli
由于并不是每个节点都需要 Docker 引擎,因此无须启动 Docker,只需要配置和启动 Containerd 即可。
3. 配置 Containerd 所需的模块
echo 'overlay
br_netfilter' > /etc/modules-load.d/containerd.conf
4. 加载模块
modprobe overlay
modprobe br_netfilter
5. 配置 Containerd 所需的内核
echo 'net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1' > /etc/sysctl.d/99-kubernetes-cri.conf
加载内核:
sysctl --system
6. 配置 Containerd 的配置文件
mkdir -p /etc/containerd
containerd config default | tee /etc/containerd/config.toml
所有节点将 Containerd 的 Cgroup 改为 Systemd:
vim /etc/containerd/config.toml
找到 containerd.runtimes.runc.options,修改 SystemdCgroup = true
所有节点将 sandbox_image 的 Pause 镜像改成符合自己版本的地址:registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6
7. 启动 Containerd,并配置开机自启动
systemctl daemon-reload
systemctl enable --now containerd
检查 containerd 是否启动成功:
systemctl status containerd
8. 配置 crictl 客户端连接的 Runtime 位置
echo 'runtime-endpoint: unix:///var/run/containerd/containerd.sock
image-endpoint: unix:///var/run/containerd/containerd.sock
timeout: 10
debug: false' > /etc/crictl.yaml
最后更新于
这有帮助吗?