Containerd初体验

Containerd概述

Containerd(Container Daemon)是一个开源的容器运行时,他提供了一种标准化的方式来管理容器的生命周期。该项目最初由Docker开发团队创建的,并在后来成为一个独立的项目,被纳入了Cloud Native Computing Foundation(CNCF,云原生计算基金会)的孵化项目中。

容器生命周期管理

  • Containerd管理容器的生命周期,包括容器的创建、运行、暂停、恢复、停止和销毁等操作

标准化接口

  • Containerd提供了一个标准化的容器进行时(运行环境)接口,使得它可以与多个容器编排系统和工具集成,例如kubernetes、Docker Compose。

镜像管理

  • 支持容器镜像的拉取、推送、保存和加载等操作。Containerd使用OCI(Open Containerd Initiative)规范定义容器镜像的格式

插件体系结构

  • Containerd具有可扩展的插件体系结构,允许用户通过插件来扩展其功能,例如存储驱动,网络插件等

跨平台支持

  • Containerd可以在不同的操作系统上运行,从而提供跨平台支持

Containerd的特点和功能

  • 与kubernetes集成
    • Containerd作为kubernetes的默认容器运行时,与kubernetes紧密集成,为容器工作负载的管理提供良好的支持
  • 安全性和隔离
    • Containerd实现了严格的容器隔离和安全措施,确保容器的隔离性以及对主机系统的安全性

Containerd核心组件

  • Storage
    • content
    • Snapshot
    • Diff
  • Metadata
    • Images
    • Containers
  • Runtime
    • Tasks
    • Events

安装Containerd

  1. 部署阿里的安装仓库

rm -rf /etc/yum.repos.d/*

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

yum clean all

  1. 部署Docker的仓库,方便安装Containerd(不需要安装Docker即可)

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

sudo yum makecache fast

  1. 清理yum缓存
    1. yum clean all
  2. 查看Containerd的相关信息

  1. 查看Containerd的历史版本

  1. 安装最新版Containerd,直接输入containerd.io即可· · 1

  1. 修改Containerd的配置文件,它本身有一个配置文件,但是不是我们真正所需要的,所以需要使用命令调取配置文件信息,并将其替换为真正的配置文件信息
    1. 调取Containerd配置文件信息

    1. 将其重定向到配置文件的文件当中

  1. 添加镜像信息到以替换过的配置文件当中

[plugins."io.containerd.grpc.v1.cri".registry.config."docker.io"]

endpoint = ["https://registry.cn-hangzhou.aliyuncs.com" ,"https://registry-1.docker.io"]

  1. 启动Containerd,并设置为开机自启

  1. 查看Containerd安装的版本信息

  1. 拉取镜像

  1. 查看拉取镜像的结果

  1. 检查镜像

  1. 更改镜像名称

  1. 删除镜像

  1. 挂载镜像(方便查看镜像里边的内容)

  1. 取消挂载(此操作只会取消挂载镜像,挂载点还是存在的,无法取消,若要执意取消,可重启系统)

(取消挂载的第二种方法)

fuser -uvm /挂载目录(可以显示出进程号)

使用kill -9 +进程号杀死进程

在根目录下使用ctr images unmount /挂载目录

  1. 导出镜像

  1. 导入镜像

  1. 创建容器(注意创建时的顺序,先指定要用到的镜像,在命名要创建的容器名称)

  1. 查看镜像的详细信息

  1. 启动容器、并查看任务

  1. 登录容器当中

    1. exec:登录
    2. --exec-id:登录时指定id
    3. -t:后面跟要登录的容器名称及解释器
  • 暂停(挂起)任务

  1. 恢复被暂停(挂起)的任务

  1. 删除容器(先杀死容器任务,才能删除;删除之后容器还残留的有快照,可以利用快照的方式重新启动任务)

  1. 根据残留的快照,重新启动任务

  1. 查看容器对资源消耗的情况

  1. 查看Containerd的插件

  1. 查看现有的命名空间

  1. 创建命名空间

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

  1. 删除命名空间

  1. 将镜像拉取到指定的命名空间中并重命名

  1. 查看已创建的命名空间中的镜像

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值