本文主要是介绍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"
这篇关于CentOs 8.1 安装containerd的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!