K8s、Docker、CRI、OCI 之间的爱恨情仇

一、背景

由于最近知道了 K8s 新版本(v1.20)确定弃用 Docker 的消息,为了明确是否会对现有系统架构产生响,所以对涉及到的相关技术进行了一定的梳理(索性的是对现有的系统架构基本无影响:>)。

二、K8s(版本 < 1.20) 与 Docker 的关系

首先,通过一张图片来说明 K8s(版本<1.20)与 Docker 之间的关系。为了能够更好的理解下边的图片,要先交代下 K8s 的一个限制条件:

那就是 K8s 只能与 CRI 运行时通信

对于啥是 CRI 运行时?我们暂可以简单的将 Ta 理解为与 Docker 同等的存在(另外一个容器容器运行时)。Ok,下面我们来看图说话吧:
在这里插入图片描述
通过上边的图片我们可以看到,K8s 是通过 docker-shim 作为桥接服务,将 CRI 转换为 Docker API,然后与 Dokcer 进行通信的。

三、CRI 是啥?

CRI(Container Runtime Interface)是 K8s 定义的一组与容器运行时进行交互的接口,用于将 K8s 平台与特定的容器实现解耦。在 K8s 早期的版本中,对于容器环境的支持是通过 hard code 方式直接调用 Docker API 的,后来为了支持更多的容器运行时和更精简的容器运行时,K8s 提出了CRI。

CRI 运行时有两个实现方案:

  1. containerd
    containerd 是 Docker 的一部分,提供的 CRI 都是由 Docker 提供的。
  2. CRI-O:
    CRI-O 在本质上属于纯 CRI 运行时,因此不包含除 CRI 之外的任何其他内容。

四、OCI 是啥?

当我们谈论「容器运行时」时,请注意我们到底是在谈论哪种类型的运行时,这里运行时分为两种:

  1. CRI 运行时
  2. OCI 运行时

OCI(Open Container Initiative),可以看做是「容器运行时」的一个标准,Ta 使用 Linux 内核系统调用(例如:cgroups 与命名空间)生成容器,按此标准实现的「容器运行时」有 runC 和 gVisor。

四、CRI、OCI 之间的关系?

还是通过图片来说明下吧:
在这里插入图片描述
通过上边的图片,我们可以得出如下结论:

实际对容器的操作最终还是要交给 OCI,CRI 也只是个中转

五、参考资料

  • 13
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
k8sDocker是当今非常流行的容器化技术。K8s是Kubernetes的简称,是一个开源的容器编排和管理平台,而Docker是一种开源的容器化技术。 k8s的讲义主要是介绍如何使用Kubernetes来管理和部署容器化的应用程序。K8s提供了一套强大的工具和功能,使得我们可以轻松地管理大规模的容器集群。通过使用k8s,我们可以实现容器化应用的自动化部署、弹性伸缩、负载均衡和容器的自动恢复等功能。 Docker的讲义则是介绍如何使用Docker来创建和管理容器Docker可以将应用程序及其依赖打包成一个独立的容器,并在任何平台上运行。使用Docker,开发人员可以更加方便地构建、分发和运行应用程序,而无需担心依赖环境的问题。 在k8sDocker的结合中,k8s提供了对Docker容器的编排和管理能力。通过k8s,我们可以创建一个容器集群,将Docker容器在多个主机上进行部署,并在容器之间进行负载均衡和服务发现。同时,k8s还提供了一些高级功能,如自动扩展、滚动更新和容器的故障恢复等。 总之,k8sDocker的讲义都是介绍如何使用这两种容器化技术来构建和管理应用程序。它们可以帮助我们更加高效地编排和管理容器,实现应用程序的高可用性和可伸缩性。同时,它们也是云原生应用开发的基石,可以帮助我们更好地应对日益复杂的应用部署和管理需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cab5

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值