首页 > 其他分享 >k8s将dockershim移除之后,如何继续使用docker?

k8s将dockershim移除之后,如何继续使用docker?

时间:2022-09-26 11:24:29浏览次数:79  
标签:cri 移除 dockerd docker k8s dockershim


说说这个前提,就是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/bin/
chmod +x /usr/bin/cri-dockerd 

 

 

3、配置cri-dockerd服务文件

 

# 配置启动文件
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-docker.socket

[Service]
Type=notify

ExecStart=/usr/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

# 生成socket 文件

cat <<"EOF" > /usr/lib/systemd/system/cri-dockerd.socket
[Unit]
Description=CRI Docker Socket for the API
PartOf=cri-docker.service

[Socket]
ListenStream=%t/cri-dockerd.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker

[Install]
WantedBy=sockets.target

EOF

 

 

4、启动cri-dockerd服务

systemctl daemon-reload

systemctl start --now cri-dockerd

systemctl status cri-docker

 

标签:cri,移除,dockerd,docker,k8s,dockershim
From: https://www.cnblogs.com/chuanzhang053/p/16730215.html

相关文章