官术网_书友最值得收藏!

1.3 安裝并配置Containerd(在vms101上)

【必知必會】安裝Containerd并配置加速器。

Docker是運行時,Containerd也是運行時。這里我們主要講Containerd的使用,前面看了Docker的結構,那么再來看一下Containerd的結構,如圖1-9所示。

圖1-9 Containerd的結構

當我們安裝好Containerd并啟動Containerd服務后,就是把服務器端Containerd運行起來了,這個服務器端提供了一個gRPC協議的接口/var/run/containerd/containerd.sock供客戶端連接。

如果要管理鏡像、管理容器,則需要一個客戶端工具,常見的客戶端工具包括nerdctl、crictl、ctr等,這些工具通過/var/run/containerd/containerd.sock接口連接到Containerd服務器端。

1.3.1 安裝Containerd

本小節的操作都是在vms101上進行的。

第1步 配置yum源。

第2步 安裝Containerd。

第3步 生成Containerd的配置文件。

第4步 配置加速器。

修改/etc/containerd/config.toml,按如下內容進行修改。

第一:搜索mirrors,把

改為

第二:搜索sandbox,把

改為

此文件也可以通過如下命令來下載。

第5步 啟動Containerd并設置開機啟動。

第6步 設置crictl客戶端連接到Containerd。

因為crictl是一個客戶端,它默認是不知道要連接到哪個服務器端的,所以執行crictl命令比如crictl ps命令時會報錯。

這是因為crictl不知道從哪里連接到服務器端,所以我們需要明確地告訴crictl要連接到哪個服務器端,故需要執行如下命令。

這時再次執行crictl命令就不會報錯了。

1.3.2 安裝Containerd客戶端nerdctl

因為Containerd是服務器端,為了能夠更好地使用Containerd,我們可以安裝第三方客戶端nerdctl。

1. 下載nerdctl和CNI網絡插件

到https://github.com/containerd/nerdctl/releases下載最新版的nerdctl,如圖1-10所示。

到https://github.com/containernetworking/plugins/releases下載CNI網絡插件,如圖1-11所示。

圖1-10 下載nerdctl

圖1-11 下載CNI網絡插件

第1步 安裝nerdctl。

第2步 安裝CNI網絡插件。

第3步 創建nerdctl所需要的配置文件。

配置文件里的address指定了nerdctl這個客戶端到哪里連接服務器端,namespace指定了nerdctl使用的命名空間是default,下面我們來了解一下命名空間的概念。

2. 了解Containerd里的命名空間

如同我們通過文件夾可以歸類很多不同的文件一樣,我們也可以通過命名空間歸類不同的容器和鏡像。在Containerd里有幾個不同的命名空間,crictl默認使用的是k8s.io命名空間,nerdctl默認使用的是default命名空間,如圖1-12所示。

圖1-12 Containerd里的命名空間

crictl拉取的鏡像都放在k8s.io命名空間里,nerdctl查看鏡像時查看的是default命名空間里的鏡像,所以nerdctl看不到crictl拉取的鏡像。如果要讓nerdctl也使用k8s.io命名空間,我們可以修改nerdctl的配置文件/etc/nerdctl/nerdctl.toml,把里面的namespace的值設置為k8s.io,或者通過修改變量export CONTAINERD_NAMESPACE=k8s.io來實現。

后面的練習里,nerdctl都是在default命名空間里做的,更建議拉取和查看鏡像使用crictl命令來做,對容器的管理用nerdctl來做。

第4步 設置nerdctl可以使用Tab鍵。

編輯/etc/profile,在第二行里添加source <(nerdctl completion bash),如圖1-13所示。

圖1-13 設置nerdctl可以使用Tab鍵

之后執行source /etc/profile命令讓修改生效。

在vms101上拉取BusyBox鏡像。

主站蜘蛛池模板: 天等县| 普陀区| 堆龙德庆县| 谷城县| 怀仁县| 宝鸡市| 泽库县| 阿城市| 汝州市| 萨嘎县| 太谷县| 娱乐| 任丘市| 和政县| 尖扎县| 清涧县| 台湾省| 文水县| 江山市| 太仆寺旗| 大石桥市| 洮南市| 营口市| 丽水市| 义乌市| 宁陕县| 盐边县| 治县。| 花莲市| 遵化市| 民乐县| 高州市| 永吉县| 凉山| 十堰市| 科技| 安龙县| 项城市| 广汉市| 广西| 土默特左旗|