安装k8s容器运行时- containerd

 提示:转载请注明原文链接

 本文永久链接:https://360us.net/article/79.html

containerd官方文档 本文操作系统是64位的ubuntu22.04,按照官方文档通过二进制文件来安装

需要安装三个组件containerd、runc和CNI插件。

  • containerd:是一个容器运行时
  • runc:根据OCI规范生成和运行容器的命令行工具
  • CNI插件:配置容器网络的工具,CNI全称是Container Network Interface,

1. 安装containerd

github下载合适的包:https://github.com/containerd/containerd/releases

下载好之后解压到/usr/local:

sudo tar Cxzvf /usr/local containerd-1.6.8-linux-amd64.tar.gz

官方github下载的二进制包仅适用于基于glibc的linux发行版,不适用于基于musl的发行版,比如Alpine。

用systemd启动

ubuntu为例子添加containerd.service文件,文件内容 https://github.com/containerd/containerd/blob/main/containerd.service

# 添加systemd配置文件
sudo vim /etc/systemd/system/containerd.service

sudo systemctl daemon-reload
sudo systemctl enable --now containerd

# 查看contaninerd状态
sudo systemctl status containerd

2. 安装runc

下载地址:https://github.com/opencontainers/runc/releases

下载后安装:

sudo install -m 755 runc.amd64 /usr/local/sbin/runc

3. 安装CNI插件

下载地址:https://github.com/containernetworking/plugins/releases

下载合适到包之后,解压到目录/opt/cni/bin

sudo mkdir -p /opt/cni/bin
sudo tar Cxzvf /opt/cni/bin cni-plugins-linux-amd64-v1.1.1.tgz

4. 生成配置文件

如果需要修改配置可以自己生成一个默认的配置文件,方便自定义配置:

sudo mkdir /etc/containerd && sudo bash -c "containerd config default > /etc/containerd/config.toml"

第一步安装好的containerd是没有配置文件的,执行完上面的命令之后,默认配置会保存到文件/etc/containerd/config.toml

5. 针对k8s的一些设置

配置 systemd cgroup 驱动

结合 runc 使用 systemd cgroup 驱动,在 /etc/containerd/config.toml 中设置:

[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
  ...
  [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
    SystemdCgroup = true

重载沙箱(pause)镜像

[plugins."io.containerd.grpc.v1.cri"]
  sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.8"

重启containerd:sudo systemctl restart containerd

 评论
暂无评论