CentOs 8.1 安装containerd

containerd简介
Containerd是一个工业标准的容器运行时,重点是它简洁,健壮,便携,在Linux和window上可以作为一个守护进程运行,它可以管理主机系统上容器的完整的生命周期:镜像传输和存储,容器的执行和监控,低级别的存储和网络。
containerd和docker不同,containerd重点是继承在大规模的系统中,例如kubernetes,而不是面向开发者,让开发者使用,更多的是容器运行时的概念,承载容器运行。

官网下载安装包
https://github.com/containerd/containerd/releases/tag/v1.5.0-beta.2

解压二进制包并生成默认文件

  tar -xvf containerd-1.5.0-beta.2-linux-amd64.tar.gz -C /usr/local/
  mkdir /etc/containerd
  containerd config default> /etc/containerd/config.toml
生成的默认配置文件注意[grpc]的地址字段默认为/run/containerd/containerd.sock

配置文件其他参数含义参照github地址:https://github.com/containerd/containerd/blob/master/docs/man/containerd-config.toml.5.md

配置containerd服务vim /usr/lib/systemd/system/containerd.service

[Unit]
Description=containerd container runtime
Documentation=https://containerd.io
After=network.target

[Service]
ExecStartPre=/sbin/modprobe overlay
ExecStart=/usr/local/bin/containerd
Delegate=yes
KillMode=process
LimitNOFILE=1048576
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNPROC=infinity
LimitCORE=infinity

[Install]
WantedBy=multi-user.target


退出保存

Delegate : 这个选项允许 Containerd 以及运行时自己管理自己创建的容器的 cgroups。如果不设置这个选项,systemd 就会将进程移到自己的 cgroups 中,从而导致 Containerd 无法正确获取容器的资源使用情况。

KillMode : 这个选项用来处理 Containerd 进程被杀死的方式。默认情况下,systemd 会在进程的 cgroup 中查找并杀死 Containerd 的所有子进程,这肯定不是我们想要的。KillMode字段可以设置的值如下。

我们需要将 KillMode 的值设置为 process,这样可以确保升级或重启 Containerd 时不杀死现有的容器。

control-group(默认值):当前控制组里面的所有子进程,都会被杀掉
process:只杀主进程
mixed:主进程将收到 SIGTERM 信号,子进程收到 SIGKILL 信号
none:没有进程会被杀掉,只是执行服务的 stop 命令。
 

 
加载
systemctl daemon-reload 

启动服务
systemctl enable containerd
systemctl start containerd
systemctl status containerd

[root@centos8 containerd]# systemctl status containerd
● containerd.service - containerd container runtime
   Loaded: loaded (/usr/lib/systemd/system/containerd.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2021-03-02 14:39:45 CST; 5s ago
     Docs: https://containerd.io
  Process: 9936 ExecStartPre=/sbin/modprobe overlay (code=exited, status=0/SUCCESS)
 Main PID: 9939 (containerd)
    Tasks: 9 (limit: 11488)
   Memory: 28.2M
   CGroup: /system.slice/containerd.service
           └─9939 /usr/local/bin/containerd

Mar 02 14:39:45 centos8.1 containerd[9939]: time="2021-03-02T14:39:45.706809207+08:00" level=info msg="loading plugin \"io.containerd>
Mar 02 14:39:45 centos8.1 containerd[9939]: time="2021-03-02T14:39:45.707406411+08:00" level=info msg=serving... address=/run/contain>
Mar 02 14:39:45 centos8.1 containerd[9939]: time="2021-03-02T14:39:45.707462273+08:00" level=info msg=serving... address=/run/contain>
Mar 02 14:39:45 centos8.1 containerd[9939]: time="2021-03-02T14:39:45.707478445+08:00" level=info msg="containerd successfully booted>
Mar 02 14:39:45 centos8.1 containerd[9939]: time="2021-03-02T14:39:45.714741223+08:00" level=info msg="Start subscribing containerd e>
Mar 02 14:39:45 centos8.1 containerd[9939]: time="2021-03-02T14:39:45.714803430+08:00" level=info msg="Start recovering state"
Mar 02 14:39:45 centos8.1 containerd[9939]: time="2021-03-02T14:39:45.714885453+08:00" level=info msg="Start event monitor"
Mar 02 14:39:45 centos8.1 containerd[9939]: time="2021-03-02T14:39:45.714897609+08:00" level=info msg="Start snapshots syncer"
Mar 02 14:39:45 centos8.1 containerd[9939]: time="2021-03-02T14:39:45.714906714+08:00" level=info msg="Start cni network conf syncer"
Mar 02 14:39:45 centos8.1 containerd[9939]: time="2021-03-02T14:39:45.714916727+08:00" level=info msg="Start streaming server"
 

猜你喜欢

转载自blog.csdn.net/tongzidane/article/details/114285188