概述

kubernetes1.24开始的版本移除了内置的docker支持,用户可以自行选择需要使用的容器运行时,比如containerd、CRI-O、Docker Engine等等,这里我们采用二进制安装的方式使用containerd作为kubernetes的容器运行时

操作环境

操作系统

CentOS 7.9

containerd版本

v1.6.19

安装步骤

下载containerd、runc、cni-plugins

mkdir -p /workspace/containerd
cd /workspace/containerd
wget https://github.com/containerd/containerd/releases/download/v1.6.19/containerd-1.6.19-linux-amd64.tar.gz
wget https://github.com/containerd/nerdctl/releases/download/v1.2.1/nerdctl-1.2.1-linux-amd64.tar.gz
wget https://raw.githubusercontent.com/containerd/containerd/main/containerd.service
wget https://github.com/opencontainers/runc/releases/download/v1.1.4/runc.amd64
wget https://github.com/containernetworking/plugins/releases/download/v1.2.0/cni-plugins-linux-amd64-v1.2.0.tgz

解压安装上述软件

tar Cxzvf /usr/local containerd-1.6.19-linux-amd64.tar.gz
tar Cxzvvf /usr/local/bin nerdctl-1.2.1-linux-amd64.tar.gz
mkdir -p /usr/local/lib/systemd/system
cp containerd.service /usr/local/lib/systemd/system/containerd.service
systemctl daemon-reload
systemctl enable --now containerd
install -m 755 runc.amd64 /usr/local/sbin/runc
mkdir -p /opt/cni/bin
tar Cxzvf /opt/cni/bin cni-plugins-linux-amd64-v1.2.0.tgz

生成默认配置文件

mkdir -p /etc/containerd
containerd config default > /etc/containerd/config.toml

修改默认配置

编辑生成好的默认配置文件

vim /etc/containerd/config.toml

将配置文件中SystemdCgroup的值修改为true,即SystemdCgroup = true

如下所示

[ plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options ]
SystemdCgroup = false

修改pause镜像源,将registry.k8s.io/pause:3.6修改为registry.aliyuncs.com/google_containers/pause:3.6

[plugins."io.containerd.grpc.v1.cri"]
sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.6"

重启containerd,安装就完成了

systemctl restart containerd

使用示例

拉取镜像到指定的命名空间

ctr -n k8s.io image pull registry.aliyuncs.com/google_containers/pause:3.6

重命名标签

ctr -n k8s.io i tag  registry.aliyuncs.com/google_containers/pause:3.6 registry.k8s.io/pause:3.6

查看所有命名空间

ctr namespaces ls

查看指定命名空间的镜像

ctr --n k8s.io image ls

最新文章

  1. Linux 下以其他用户身份运行程序—— su、sudo、runuser
  2. LPC43xx Dual-core or Multi-core configuration and JLink Debug
  3. R语言学习笔记:小试R环境
  4. JDE客户端get时报错“ERROR:fetch from table F0101 failed”
  5. 详解集群内Session高可用的实现原理
  6. UIButton-初识IOS
  7. 自己定义View常处理的回调函数
  8. Zepto.js-表单方法
  9. java书系列之——前言
  10. [2013-06-05]bat脚本设置DNS
  11. android wear开发之:创建可穿戴设备应用 - Creating Wearable Apps
  12. .a 文件 和 so 文件
  13. 我想要革命想要解脱——bootstrap常见问题及解决方式
  14. Dynamic Rankings ZOJ - 2112(主席树+树状数组)
  15. C++第二章作业
  16. nio编程
  17. HTML5 FormData方法介绍
  18. Python Matplot中文显示完美解决方案
  19. Photoshop 使用阈值调整色阶
  20. React-Native视频组件react-native-video使用(安卓版)

热门文章

  1. tomcat各个版本下载
  2. 记录aop失效问题
  3. [530] C3 Rise Of Darkness Opcodez
  4. Dapper显示
  5. Flask----常用路由系统及自定义路由系统
  6. 【LeetCode - 1055】形成字符串的最短路径
  7. 解决word表格中文字无法居中的一个方法
  8. WinCC插件制作教程
  9. Spring系列之面向切面编程-15
  10. Context,多个组件公用的数据传导方法