从哪里移除
说说这个前提,就是k8s宣布将dockershim给移除了这么个点
为什么要移除
说白了,就是k8s是想建立标准的,通过的CRI,容器运行的接口,不仅仅可以支持docker,还可以支持其他的容器运行时,真正的实现插件化的
就是将dockershim的代码,从kubelet中移除,不再有k8s维护了
dockershim移除后,还能继续用docker吗
当然是可以的,只是这部分的代码,不在有k8s维护了,需要单独的进行dockershim的安装
docker移除前后,kubelet调用容器的关系发生了哪些的变化
1.20及之前的版本
dockershim内置于kubelet
1.20之后的版本
dockershim需要自行的安装【cri-dockerd】
cri-dockerd安装过程
1、下载cri-dockerd二进制文件
https://github.com/Mirantis/cri-dockerd/releases
2、安装二进制文件
# 拷贝二进制文件
tar -xf cri-dockerd-0.2.6.amd64.tgz cp cri-dockerd/cri-dockerd /usr/local/bin/ chmod +x /usr/local/bin/cri-dockerd
3、配置cri-dockerd服务文件
# 生成socket 文件
cat <<EOF > /usr/lib/systemd/system/cri-dockerd.socket [Unit] Description=CRI Docker Socket for the API PartOf=cri-dockerd.service [Socket] ListenStream=%t/cri-dockerd.sock SocketMode=0660 SocketUser=root SocketGroup=docker [Install] WantedBy=sockets.target EOF
配置启动文件
cat <<EOF > /usr/lib/systemd/system/cri-dockerd.service
[Unit]
Description=CRI Interface for Docker Application Container Engine
Documentation=https://docs.mirantis.com
After=network-online.target firewalld.service docker.service
Wants=network-online.target
Requires=cri-dockerd.socket
[Service]
Type=notify
ExecStart=/usr/local/bin/cri-dockerd --network-plugin=cni --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.7
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process
[Install]
WantedBy=multi-user.target
EOF
4、启动cri-dockerd服务
systemctl daemon-reload systemctl enable --now cri-dockerd systemctl status cri-docker标签:cri,移除,dockerd,docker,k8s,dockershim From: https://www.cnblogs.com/gaoyuechen/p/16794346.html