乐趣区

关于docker:Docker商业版受限胖容器是个选择

前情概要

8 月 13 日,Docker 公司更新了网站服务协定,条款申明,禁止禁运国家和被列入「美国实体清单」的组织和集体应用带有该服务协定链接的 Docker 网站和所有相干网站。这一更新协定迅速引起了业内的宽泛关注与探讨,一时间无关“Docker 被禁止应用”的探讨此起彼伏。

理论受限的产品与服务是什么?


联合 1.1、1.2 和 2.5 条款,能够明确的是:

  • Docker 公司禁止被列入“美国实体清单”名单中的企业应用 docker.inc 网站提供的 Docker 商业版 Docker-EE 及 Docker 其余服务,如 Docker Hub
  • 收费用户在应用 Docker Hub 时会在镜像数量、pull/push 频次等方面受到限制,比方收费账号 6 个小时内限度下载 200 次等。尽管企业外部根本会部署本身的公有镜像仓库,但在构建或应用根底镜像时,可能依然会受到此限度。
  • 业内宽泛应用的 Docker 开源容器引擎 Moby,因其采纳了 Apache License 2.0 协定,并不会受到此影响,即开源版 Docker-CE 不受此影响

预防和升高危险,胖容器是个抉择

BoCloud 博云作为国内率先应用容器开源技术的云计算厂商之一,对此次事件也在放弃亲密关注。依据 Linux 基金会公布的“理解美国对开源我的项目的进口管制”,能够明确“已公开公布”并且属于“开源”的我的项目不受进口管制服务条款的影响。博云容器云 BeyondContainer 应用的是 Docker 开源社区版本 Docker-CE,因其为“已公开公布”并且属于“开源”的我的项目,因而 Docker-CE 该开源版本此次不受影响。另外,此次条款影响私有镜像仓库 Docker Hub 应用,博云的客户应用的 是公有镜像仓库,也不会受到 Docker Hub 受限的影响

尽管此次 Docker 开源版本没有受到影响与限度,但开源不等于不受管制。从久远倒退角度而言,企业也须要提前思考其余策略,来预防可能呈现的进一步限度。为预防和升高危险,企业可思考应用国内容器云厂商自行保护的容器版本,或抉择同时反对多种开源容器运行时的容器云产品。 2019 年底,博云公布了自主研发且自行保护的容器版本:BeyondVM 胖容器(兼容传统利用,蓄力边缘云——博云胖容器解决方案)。BeyondVM 胖容器提供绝对齐备的过程树和零碎服务的容器环境,具备更好的隔离性,反对业务同时取得容器和虚拟机的运行体验,无需扭转代码即可实现向容器平台的迁徙,帮忙客户疾速容器化存量利用,疾速渐进式地拥抱云原生技术。

利用 BeyondVM 胖容器技术,能够实现:

  • 同时兼容原生容器和虚拟机的应用体验。
  • 比虚拟机轻量的资源分配能力,以不便资源疾速申请、弹性。
  • 相似虚拟机的应用体验,可登陆,可任意装置组件。
  • 有固定 IP 地址,胖容器从创立到删除,IP 地址放弃不变。
  • 能够通过 SSH 远程登陆零碎。
  • 严格的资源隔离,如 CPU、内存等。
  • JVM,监控类工具看到的资源不是整个物理机的资源,而是实在调配给胖容器应用的资源。

7 月 29 日,中国信息通信研究院在 2020 可信云大会上公布了国内首个云原生技术生态图景,BeyondVM 胖容器入选该图景的容器技术版块。目前,BeyondVM 胖容器曾经过大规模生产利用测验,如有极限状况产生,能够在不降级版本的前提下,间接应用 BeyondVM 胖容器代替 Docker,并且能取得更好的隔离性,以及对有状态的利用提供更强的反对能力。

反对多种容器运行时,防止繁多技术绑定

容器运行时作为撑持 kubernetes 节点的底层要害软件,近年来随着 kubernetes 的进一步倒退,业内诞生了多种容器运行时。以后,在谈到容器运行时,就不得不提社区中的两个协定:OCICRI。这两种不同的协定,在各自畛域各有不同的规范实现。

OCI 标准(Open Container Initiative 凋谢容器规范)聚焦于两局部内容:容器运行时规范(runtime spec)和容器镜像规范(image spec)。其中,兼容 OCI 标准的典型我的项目有 runc、kata 等。(BeyondVM 胖容器兼容 OCI 规范,能够灵便与 Kubernetes 集群进行集成。)

CRI 接口(Container runtime interface 容器运行时接口),是 kubernetes 社区提出的对接多种容器运行时的标准接口,该接口分为两局部内容:一是容器运行时服务 RuntimeService,负责管理 pod 和容器的生命周期;另一个是镜像服务 ImageService,负责管理镜像的生命周期。其中,CRI 的典型实现有 docker、containerd 等。

尽管,基于 Docker 的容器运行时依然是以后 kubernetes 的默认抉择,但得益于 kubernetes 提出的 CRI 接口,使得用户有了更多种的容器运行时抉择。博云 BeyondContainer 容器云也行将提供 Docker 以外的其余多种容器运行时的反对,帮忙企业用户防止繁多技术绑定带来的危险。

退出移动版