kubeadm 修改runtime为containerd

1、配置containerd

#安装containerd
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum -y install containerd

#生成默认配置
containerd config default > /etc/containerd/config.toml

#替换默认pause镜像
sed -i s/k8s.gcr.io/pause:3.2/registry.baidubce.com/k8s.gcr.io/pause:3.2/g /etc/containerd/config.toml
#修改默认Cgroup驱动
sed -i s/SystemdCgroup = false/SystemdCgroup = true/g /etc/containerd/config.toml

#启动containerd
systemctl enable containerd.service
systemctl restart containerd.service

2、修改kubelet相关启动参数

cp /etc/sysconfig/kubelet /etc/sysconfig/kubelet.backup

echo "KUBELET_EXTRA_ARGS=--container-runtime=remote --container-runtime-endpoint=unix:///run/containerd/containerd.sock --cgroup-driver=systemd" >/etc/sysconfig/kubelet

systemctl restart kubelet

3、关闭docker服务(按需关闭)

systemctl stop docker.socket
systemctl disable docker.socket

4、配置containerd 连接socket

cat >/etc/crictl.yaml<<EOF
runtime-endpoint: unix:///run/containerd/containerd.sock
image-endpoint: unix:///run/containerd/containerd.sock
timeout: 10
debug: false
EOF
经验分享 程序员 微信小程序 职场和发展