新版本的k8s使用containerd作为容器管理,不再使用docker。containerd的安装并不复杂,复杂的是如何配置镜像加速和本地镜像库。
安装containerd的过程不复杂:
1 | # 安装containerd |
接下来需要配置镜像加速,新版本的containerd将配置保存在config_path中,所以需要编辑/etc/containerd/config.toml文件,设置路径:
1 | [plugins."io.containerd.grpc.v1.cri".registry] |
还需要修改 sandbox_image = “registry.aliyuncs.com/google_containers/pause:3.10”
[plugins.”io.containerd.grpc.v1.cri”.containerd.runtimes.runc.options]
SystemdCgroup = true
修改完成后,创建保存配置文件的目录:
1 | sudo mkdir /etc/containerd/certs.d |
然后为每个需要配置的镜像网站创建目录:
1 | sudo mkdir /etc/containerd/certs.d/docker.io |
在这个目录中创建hosts.toml
1 | sudo vim /etc/containerd/certs.d/docker.io/hosts.toml |
内容如下:
1 | server = "https://docker.io" |
如果已经设置了私有镜像库,可以在这里设置http支持,假如私有镜像库地址是192.168.31.57:5000,首先创建目录,然后编辑文件hosts.toml:
sudo mkdir /etc/containerd/certs.d/192.168.31.57:5000
sudo vim /etc/containerd/certs.d/192.168.31.57:5000/hosts.toml
1 | server = "http://192.168.31.57:5000" |
设置完成后,需要重新启动containerd:
sudo systemctl restart containerd
可以检查containerd的运行状态:
1 | # 检查 containerd 服务状态 |
可以使用 sudo containerd config dump 检查当前的配置,如果配置文件中有错误,没有生效,使用这种方式可以检查。