Containerd初体验

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

Containerd的特点和功能
1.容器生命周期管理
    Containerd管理容器的生命周期,包括容器的 创建、运行、暂停、恢复、停止和销毁等操作
2.标准化接口
  Containerd提供了一个标准化的容器运行时接口,使得它可以与多个容器编排系统和工具集成,例如Kubernets、Docker Compose。
3.镜像管理
  它支持容器镜像的拉取、推送、保存和加载等操作 。Containerd使用OCI(Open Container Initiative)规范定义容器镜像的格式。
4.插件体系结构
  Containerd具有可扩展的插件体系结构,允许用户通过插件来扩展其功能,例如存储驱动、网络插件等。
5.跨平台支持
  Containerd可以在不同的操作系统上运行,从而提供了跨平台的支持。 
6.与Kubernetes集成
Containerd作为kubernetes的默认容器运行时,与kubernetes紧密集成,为容器工作负载的管理提供了良好的支持
7.安全性和隔离
 Containerd实现了严格的容器隔离和安全性措施,确保容器之间的隔离性以及对主机系统的安全性。

2:Containerd 的起源与背景
Containerd的起源可以追溯到Docker项目。Docker最初作为一个开源项目的退出,旨在简化应用程序的打包、分发和部署过程。Docker引入了容器的概念,将应用程序和其依赖项打包到一个容器中,使得应用在不同环境中可以一致的运行
随着Docker的发展。其架构逐渐变得复杂,包含了许多功能,如镜像构建、服务编排等。为了更好的组织和管理这些功能,Docker团队决定将 Docker引擎拆分成多个组件,其中一个关键的组件就是Containerd

Docker架构拆分:Docker从单一的大型引擎拆分成一系列小型、可复用的组件。这种拆分的目标是提高可维护性、模块化和可扩展性。

Containerd作为核心运行时:在Docker架构拆分后,containerd被定位为Docker的核心容器运行时。它负责管理容器的生命周期、镜像操作和基本运行时功能。

贡献给CNCF:为了推动containerd的发展,Docker团队将containerd的代码捐赠给了Cloud Native Computing Foundation(CNCF),使其成为CNCF的孵化项目

容器生态系统的标准化:Containerd的设计遵循Open Container Initiative(开放容器倡议OCI)规范,这是一个关注容器运行时和镜像格式标准化的开放标准组织。这意味着containerd可以与符合OCI规范的其他容器工具和运行时进行互操作

独立的容器运行时:containerd不仅仅局限于Docker,它可以作为独立的容器运行时,与多个容器编排系统和工具集成,从而为用户提供更多的选择

Containerd架构概述
Containerd的构架是modularity(模块化)和可扩展性的体现,它被设计为一个轻量级、高度可定制的容器运行时

核心组件解析
Containerd组件大致分为Storage、Metadata和Runtime这三个主要方面。

(1)storage(存储)

content(内容)

功能:Content存储了容器镜像的实际数据。这文件包括系统层和元数据。用于创建和管理容器的基础文件系统

snapshot(快照)

功能:snapshot存储容器的快照数据。每个容器都可以有一个或多个快照。允许他们共享相同的文件系统层,提高效率。

Diff(差异)

功能:Diff存储容器文件系统层之间的差异。当容器运行时需要修改文件系统时,会在已有的文件系统层上创建一个差异层。以保存变更。

(2)Metadata(元数据)

Images(镜像)

功能:Images存储容器镜像的元数据,包括镜像的标签、大小、创建时间等信息。Metadata中的Images组件允许容器对镜像进行管理和操作

Containers(容器)

功能:Containers存储容器的元数据,包括容器的状态、配置信息、网络设置等。这部分元数据使得容器能够有效的管理容器的生命周期

(3)runtime(运行时)

Tasks(任务)

功能:Tasks包含容器内的进程组。每个容器运行时都有关联的Task,它负责管理容器内的所有进程。Tasks与Shim一起工作,维护容器的状态。

Events(事件)

功能:Events组件记录了容器的各种事件,如容器的创建、启动、停止等。这些事件可以用于监控和日志记录,帮助用户了解容器系统的运行状况。

  • 15
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值