乐趣区

关于容器:阿里云ECI如何6秒扩容3000容器实例

简介:2021 年云栖大会现场,阿里云工程师演示了在 6 秒工夫内胜利启动 3000 个 ECI,并全副进入到 Running 状态。本文将为你揭开阿里云 ECI 是如何做到极速扩容的。

引言

依据最新 CNCF 报告,有超过 90% 的用户在生产环境应用容器,并且有超过 80% 的用户通过 Kubernetes 治理容器。是不是咱们的生产环境上了 K8s 就完满解决了利用部署的问题?IT 界有句俗语,没有什么是万能的,K8s 也不是万能的,K8s 解决了利用的编排和调度,但没有解决资源容量的限度、没有解决容器的平安隔离,以及昂扬的运维老本。

传统 K8s 的问题和窘境

资源效率低

这个资源柱状图来自阿里云一个客户,业务的流量高峰期 CPU 大略在 7000-8000 核,在流量低谷期只有几百核 CPU 的应用。如果在做 IT 布局或者购买资源时,依照峰值流量去布局资源,会导致重大的资源节约。但如果依照使用量去实时布局 ECS 资源,又会导致在面对一些突发流量时无奈及时扩容,影响服务的稳定性。

资源隔离弱

容器应用零碎内核的 namespace 进行资源隔离,但内核仅反对 UTS、IPS 等 6 种 namespace 隔离。咱们遇到过一个客户,须要在测试环境批改某个业务 Docker 的工夫,后果导致一台机器上所有的容器工夫都被批改。还有定制内核参数、IO 偏心分享等场景,也有雷同的问题。

同时,容器平安也始终被大家诟病,例如特权容器间接能够看到机器上所有的磁盘数据。

运维老本高

云原生为 IT 带来了很多便当,但同时云原生也让整个 IT 运维变得越来越简单。一个 K8S 容器集群,至多须要部署高可用 Master、网络插件、镜像仓库、日志服务,以及监控组件。即使辛苦把这些组件装置实现,也要面对后续每天各种运维、告警的解决,运维每天是各种的救火。

阿里云弹性容器实例 ECI 应运而生

有没有一种免运维、并且可能按需应用的平安的容器解决方案呢?阿里云弹性容器实例应运而生了。

阿里云弹性容器实例(简称 ECI,Elastic Container Instance)是阿里云联合容器和 Serverless 技术提供的容器运行服务。通过应用 ECI,在阿里云上部署容器时,无需购买和治理云服务器 ECS,能够间接在阿里云上运行 Pod 和容器,省去了底层服务器的运维和管理工作。简略来说,一个 ECI 就是一个 Pod,能够被 K8s 编排和调度。

阿里云弹性容器实例特地实用于突发的业务流量,或者短周期的工作运行。那么 ECI 和客户本人去购买 ECS,在 ECS 里运行 Docker 有什么区别呢?最大的区别在于如果应用 ECI,整个容器的运行时会将由阿里云来运维。

ECI 有以下长处:

  • 底层资源由阿里云托管,用户不再须要治理底层 VM(虚拟机)。
  • 复用整个阿里云的弹性计算资源池,保障短缺的库存。
  • 低成本,按秒计费,从 Pod 开始创立时免费。
  • 启动快,秒级启动底层平安沙箱。
  • 兼容性强,齐全兼容 K8s。

阿里云弹性容器实例采纳社区的 Virtual Kubelet 计划与 K8s 集成,当集群内有 Pod 创立并调度到 Virtual Kubelet 时,Kubelet 就会调用 ECI 接口,启动 ECI。

ECI 与业务零碎的对接形式包含:

  • (举荐)通过阿里云容器服务 Serverless Kubernetes(ASK)部署业务,提供无需运维的 Kubernetes 集群能力,底层 Pod 资源全副应用 ECI 承载。
  • (举荐)通过阿里云容器服务 Kubernetes(ACK)部署业务,为 ACK 集群提供额定的海量弹性能力。
  • 通过 Virtual Node 对接用户在 ECS 上自建的 Kubernetes 集群,提供方便快捷的弹性计算资源。
  • 通过 Virtual Node 对接用户在线下 IDC 自建的 Kubernetes 集群,提供云上的有限弹性计算能力。
  • 通过 OpenAPI 间接对接业务零碎,低成本的随时创立或开释 ECI 业务容器。

ECI 极速启动实例:6 秒钟 3000 个容器实例

在 2021 年云栖大会现场,阿里云 Serverless 容器服务弹性容器实例公布了极速启动实例新个性。弹性容器实例在解决上述利用部署问题的根底上,翻新的提供极速启动的产品个性。现场演示了在 6 秒工夫内胜利启动 3000 个 ECI,并全副进入到 Running 状态。

阿里云是如何做到 6 秒钟启动 3000 个容器实例?

一方面,通过大量用户级别的创立历史数据,利用机器学习找出用户创立 Pod 的法则,通过预测预调度、资源复用等伎俩,节俭 ECI 的调度、创立工夫,同时应用了阿里云袋鼠沙箱容器作为引擎,辅以 overlay 网络、存储计划,将单 ECI 实例冷启动工夫压缩到了 3 秒以下,针对袋鼠引擎后续会有专门文章进行具体的介绍,也敬请大家期待。

另一方面,在镜像拉取维度,通过镜像缓存把容器镜像做成快照,免去每次启动 Pod 拉取容器镜像的动作,例如阿里云的达摩院 AI 团队局部镜像能够达到几百 G,如果依照传统形式拉取须要十几分钟,通过 ECI 的镜像缓存计划能够实现 Pod 秒级启动。

展望未来

阿里云弹性容器实例提供了从 Runtime、GuestOS、底层计算、网络、存储资源的免运维全托管服务,并在 2021 年云栖大会上公布了极速的实例启动速度,帮忙客户快捷的实现业务零碎扩缩容。

随着云厂商服务边界的进一步上移,ECI 冀望通过规模化、集约化的资源调度和端到端的 Runtime 设计,提供相比客户自建容器资源池更好的弹性、性能和老本能力,这将是将来 1 - 2 年阿里云弹性容器实例继续摸索的方向。

原文链接
本文为阿里云原创内容,未经容许不得转载。

退出移动版