contaienrd 简介及安装运行.

一、什么是 containerd

Containerd 是一个工业级标准的容器运行时,它强调简单性、健壮性和可移植性。Containerd 可以在宿主机中管理完整的容器生命周期,核心功能有:

  • 管理容器的生命周期(从创建容器到销毁容器)
  • 拉取/推送容器镜像
  • 存储管理(管理镜像及容器数据的存储)
  • 调用 runC 运行容器(与 runC 等容器运行时交互)
  • 管理容器网络接口及网络

二、安装并运行 containerd

官网安装步骤

从官网下载 containerd-<VERSION>-<OS>-<ARCH>.tar.gz 包,并解压到 /usr/local 目录:

$ tar Cxzvf /usr/local containerd-1.6.2-linux-amd64.tar.gz
bin/
bin/containerd-shim-runc-v2
bin/containerd-shim
bin/ctr
bin/containerd-shim-runc-v1
bin/containerd
bin/containerd-stress

可以使用 systemd 启动 containerd 服务,从 https://raw.githubusercontent.com/containerd/containerd/main/containerd.service 下载 containerd.service 并放置到 /usr/local/lib/systemd/system/containerd.service,使用如下命令运行:

systemctl daemon-reload
systemctl enable --now containerd

containerd 运行依赖 runc,可以从 https://github.com/containernetworking/plugins/releases 下载 cni-plugins-<OS>-<ARCH>-<VERSION>.tgz 包,并把 runc 文件放置到 /usr/local/sbin/runc 路径下:

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

三、containerd 上下游生态

北向:containerd通过实现Kubernetes的CRI(容器运行时接口)接口与Kubernetes进行交互

南向:containerd通过OCI(开放容器标准)与runc进行交互

四、containerd 源码分析

可见后续博客的源码分析内容。