日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
一文帶你掌握Containerd

Containerd 是什么

Containerd是一個(gè)開(kāi)源的容器運(yùn)行時(shí)工具,它為容器提供了核心功能。作為一個(gè)獨(dú)立的項(xiàng)目,Containerd旨在管理容器的核心功能,如鏡像管理、容器生命周期管理、網(wǎng)絡(luò)和存儲(chǔ)管理等。它是由Docker項(xiàng)目中的核心組件分離出來(lái)的,用于提供一個(gè)更加輕量級(jí)、獨(dú)立且可嵌入的容器運(yùn)行時(shí)環(huán)境。Containerd被設(shè)計(jì)為一個(gè)通用的核心容器運(yùn)行時(shí),因此許多容器平臺(tái)和工具都可以構(gòu)建在其之上,包括Kubernetes、Docker等。Containerd并不是直接面向終端用戶(hù)的工具,而是為了提供穩(wěn)定、可靠的容器基礎(chǔ)設(shè)施,讓開(kāi)發(fā)者和其他項(xiàng)目可以基于它構(gòu)建更高級(jí)別的容器化解決方案。

在遼中等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶(hù)提供網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),成都營(yíng)銷(xiāo)網(wǎng)站建設(shè),外貿(mào)網(wǎng)站制作,遼中網(wǎng)站建設(shè)費(fèi)用合理。

與 Docker 的關(guān)系

Docker和Containerd之間有一種父子關(guān)系。Containerd實(shí)際上是從Docker項(xiàng)目中拆分出來(lái)的,是Docker引擎中的核心組件之一。具體來(lái)說(shuō),Docker Engine在其架構(gòu)中使用了一種插件化的方式,而Containerd就是其中一個(gè)重要的組件。Docker Engine的架構(gòu)涵蓋了各種功能模塊,其中包括容器構(gòu)建、鏡像管理、容器運(yùn)行時(shí)、網(wǎng)絡(luò)和存儲(chǔ)管理等。Containerd被用作Docker Engine中負(fù)責(zé)容器生命周期管理和基本操作的核心組件之一。因此,Docker實(shí)際上是建立在Containerd之上的應(yīng)用層工具。當(dāng)你使用Docker命令時(shí),它會(huì)與Containerd交互以執(zhí)行諸如創(chuàng)建、運(yùn)行和管理容器等操作。然而,Containerd本身更加通用和抽象化,可以為其他容器平臺(tái)和工具提供底層支持,而不僅限于Docker??傮w而言,Docker是一個(gè)集成了各種工具和功能的容器平臺(tái),而Containerd是其中一個(gè)核心組件,負(fù)責(zé)提供基本的容器運(yùn)行時(shí)功能。

安裝Containerd

系統(tǒng)信息

[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core)

二進(jìn)制安裝

下載地址?https://github.com/containerd/containerd最新版本1.7.10

[root@localhost ~]# wget https://github.com/containerd/containerd/releases/download/v1.7.10/cri-containerd-1.7.10-linux-amd64.tar.gz
[root@localhost ~]# tar xf cri-containerd-1.7.10-linux-amd64.tar.gz  -C /

生成Containerd配置

[root@localhost ~]# mkdir /etc/containerd
[root@localhost ~]# containerd config default > /etc/containerd/config.toml

查看配置
[root@localhost ~]# cat/etc/containerd/config.toml

安裝好containerd 之后,Containerd的配置文件中有如下兩項(xiàng)配置:
root = /var/lib/containerd
state = "/run/containerd"

root配置的目錄是用來(lái)保存持久化數(shù)據(jù)的目錄,包括content, snapshot, metadata和runtime
state 是用來(lái)保存運(yùn)行時(shí)的臨時(shí)數(shù)據(jù)的,包括 sockets、pid、掛載點(diǎn)、運(yùn)行時(shí)狀態(tài)以及不需要持久化的插件數(shù)據(jù)。

Containerd開(kāi)機(jī)自啟

[root@localhost ~]# systemctl enable --now containerd
Created symlink from /etc/systemd/system/multi-user.target.wants/containerd.service to /etc/systemd/system/containerd.service.
[root@localhost ~]# systemctl start containerd

驗(yàn)證其版本
[root@localhost ~]# containerd --version
containerd github.com/containerd/containerd v1.7.10 4e1fe7492b9df85914c389d1f15a3ceedbb280ac

runc驗(yàn)證

默認(rèn) Containerd 安裝好就會(huì)自帶一個(gè) runc 命令

執(zhí)行runc命令,如果有版本號(hào)返回則為正常
[root@localhost ~]# runc -v
runc version 1.1.10
commit: v1.1.10-0-g18a0cb0f
spec: 1.0.2-dev
go: go1.20.10
libseccomp: 2.5.4

如果運(yùn)行runc命令時(shí)提示:runc: error while loading shared libraries: ?libseccomp.so.2: cannot open shared object file: No such file or directory,則表明runc沒(méi)有找到libseccomp,需要安裝 libseccomp libseccomp安裝

[root@localhost ~]# wget https://github.com/opencontainers/runc/releases/download/v1.1.5/libseccomp-2.5.4.tar.gz
[root@localhost ~]# tar xf libseccomp-2.5.4.tar.gz
[root@localhost ~]# cd libseccomp-2.5.4/
[root@localhost ~]# ./configure
[root@localhost ~]# make && make install

查找的到 即安裝成功
[root@localhost ~]# find / -name "libseccomp.so"
/root/libseccomp-2.5.4/src/.libs/libseccomp.so 
/usr/local/lib/libseccomp.so

做軟鏈

[root@localhost ]# ln -s /usr/local/lib/libseccomp.so /lib64/libseccomp.so.2

再次查看
[root@localhost ]# runc -v
runc version 1.1.10
commit: v1.1.10-0-g18a0cb0f
spec: 1.0.2-dev
go: go1.20.10
libseccomp: 2.5.4

也可以二進(jìn)制runc安裝?https://github.com/opencontainers/runc最新版本:1.1.10

[root@localhost ~]# wget https://github.com/opencontainers/runc/releases/download/v1.1.10/runc.amd64
[root@localhost ~]# chmod +x runc.amd64

查找containerd安裝時(shí)已安裝的runc所在的位置,然后替換
[root@localhost ~]# which runc /usr/local/sbin/runc

替換containerd已安裝的runc
[root@localhost ~]# mv runc.amd64 /usr/local/sbin/runc

執(zhí)行runc命令,如果有命令幫助則為正常
[root@localhost ~]# runc -v
runc version 1.1.10
commit: v1.1.10-0-g18a0cb0f
spec: 1.0.2-dev
go: go1.20.10
libseccomp: 2.5.4

yum安裝

在使用 yum 包管理器安裝 Containerd 之前,需要先設(shè)置 Containerd 的 YUM 倉(cāng)庫(kù)。以下是大致的步驟:

準(zhǔn)備YUM 倉(cāng)庫(kù)

創(chuàng)建一個(gè)名為 /etc/yum.repos.d/containerd.repo 的文件,并將以下內(nèi)容添加到該文件中:

[containerd]
name=containerd
baseurl=https://download.docker.com/linux/centos/7/$basearch/stable
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
enabled=1

安裝 Containerd

在設(shè)置好倉(cāng)庫(kù)文件后,運(yùn)行以下命令以更新 YUM 緩存并使其識(shí)別新的倉(cāng)庫(kù)信息:

[root@localhost ~]# yum makecache
[root@localhost ~]# yum install -y containerd.io

啟動(dòng) Containerd

[root@localhost ~]# systemctl enable containerd
[root@localhost ~]# systemctl start containerd

驗(yàn)證 Containerd

[root@localhost ~]# containerd -v
containerd containerd.io 1.6.25 d8f198a4ed8892c764191ef7b3b06d8a2eeb5c7f

[root@localhost ~]# runc -v
runc version 1.1.10
commit: v1.1.10-0-g18a0cb0
spec: 1.0.2-dev
go: go1.20.10
libseccomp: 2.3.1

Containerd 常見(jiàn)命令操作

更換 Containerd 后,以往常用的 docker 命令也不再使用,取而代之的分別是 crictl 和 ctr 兩個(gè)命令客戶(hù)端。一般來(lái)說(shuō)某個(gè)主機(jī)安裝了 k8s 后,命令行才會(huì)有 crictl 命令。而 ctr 是跟 k8s 無(wú)關(guān)的,主機(jī)安裝了 containerd 服務(wù)后就可以操作 ctr 命令。

  • crictl 是遵循 CRI 接口規(guī)范的一個(gè)命令行工具,通常用它來(lái)檢查和管理kubelet節(jié)點(diǎn)上的容器運(yùn)行時(shí)和鏡像。
  • ctr 是 containerd 的一個(gè)客戶(hù)端工具。

還有一個(gè)更高級(jí)點(diǎn)的命令 nerdctl ,nerdctl 是用于 containerd 并且 兼容 docker cli 習(xí)慣的管理工具,主要適用于剛從 docker 轉(zhuǎn)到 containerd 的用戶(hù),操作 containerd 的命令行工具 ctr 和 crictl 不怎么好用,所以就有了 nerdctl。


新聞標(biāo)題:一文帶你掌握Containerd
本文地址:http://www.dlmjj.cn/article/coicdie.html