阿里云ECI如何6秒扩容3000容器实例?
引言
根据最新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年阿里云弹性容器实例持续探索的方向。
阿里云ECI如何6秒扩容3000容器实例?的更多相关文章
- 阿里云服务器,无法通过公网ip访问实例
昨天得知阿里云esc又打折了,赶紧入手了一波,因为以前有部署过的经验,所以很快就部署上了项目,就在欣喜的访问时,却无访问. 我按照下面步骤一步一步的检测, 1.服务器上是否成功部署jdk和tomcat ...
- 阿里云弹性容器实例产品 ECI ——云原生时代的基础设施
阿里云弹性容器实例产品 ECI ——云原生时代的基础设施 1. 什么是 ECI 弹性容器实例 ECI (Elastic Container Instance) 是阿里云在云原生时代为用户提供的基础计算 ...
- Serverless助力AI计算:阿里云ACK Serverless/ECI发布GPU容器实例
ACK Serverless(Serverless Kubernetes)近期基于ECI(弹性容器实例)正式推出GPU容器实例支持,让用户以serverless的方式快速运行AI计算任务,极大降低AI ...
- 阿里云研究员叔同:Serverless 正当时!
作者 | 叔同 导读:Serverless 将开发人员从繁重的手动资源管理和性能优化中解放出来,就像数十年前汇编语言演变到高级语言的过程一样,云计算生产力再一次发生变革.Serverless 的核心价 ...
- 【IT名人堂】何云飞:阿里云数据库的架构演进之路
[IT名人堂]何云飞:阿里云数据库的架构演进之路 原文转载自:IT168 如果说淘宝革了零售的命,那么DT革了企业IT消费的命.在阿里巴巴看来,DT时代,企业IT消费的模式变成了“云服务+数据”, ...
- 从保障淘宝到全球市场“第一阵营”,阿里云的DDoS防护之路走了多远?
2年前,不少技术圈的朋友,读过论坛里的一篇解读文章:DDoS,阿里为什么要走自己的一条路(https://bbs.aliyun.com/read/271764.html?pos=13),文章讲述了阿里 ...
- 30分钟全方位了解阿里云Elasticsearch
摘要:阿里云Elasticsearch提供100%兼容开源Elasticsearch的功能,以及Security.Machine Learning.Graph.APM等商业功能,致力于数据分析.数据搜 ...
- 30分钟全方位了解阿里云Elasticsearch(附公开课完整视频)
摘要: 阿里云Elasticsearch提供100%兼容开源Elasticsearch的功能,以及Security.Machine Learning.Graph.APM等商业功能,致力于数据分析.数据 ...
- 2020 年国内 Serverless 用户规模:阿里云占比第一,达 66%
在中国信息通信研究院重磅发布的国内首个<云原生用户调查报告>中,阿里云 Serverless 产品凭借在双十一的技术锤炼和丰富的应用实践,在国内 Serverless 用户规模的占比达到 ...
随机推荐
- python-requests包请求响应时间
p.p1 { margin: 0; font: 14px "Helvetica Neue"; color: rgba(17, 17, 17, 1) } p.p2 { margin: ...
- AT3945-[ARC092D]Two Faced Edges【dfs】
正题 题目链接:https://www.luogu.com.cn/problem/AT3945 题目大意 \(n\)个点\(m\)条边的一张图,对于每条边求它翻转后强连通分量数量是否变化. \(1\l ...
- P4640-[BJWC2008]王之财宝【OGF,Lucas定理】
正题 题目链接:https://www.luogu.com.cn/problem/P4640 题目大意 \(n\)种物品,其中\(t\)种物品是有个数限制的,第\(i\)种限制为\(b_i\),求选出 ...
- 深入浅出WPF-12.绘图与动画
绘图 1)Brush(画刷) SolidColorBrush实心画刷,直接使用颜色赋值 LinearGradientBrush线性渐变画刷,色彩沿设定的直线方向.按设定的变化点进行渐变 RadialG ...
- Initialization failed for 'https://start.spring.io' Please check URL, network and proxy settings.
今天新建一个spring web项目,发现报错了.问题如下. 排除了网络问题,找到了解决办法.打开设置,点击check connection 输入 https://start.spring.io 点击 ...
- 关于mysql基础
早就想把自己的数据库基础巩固一下,然而一直没有时间,今天终于抽出时间对mysql数据库基础进行了学习与扩展. mysql与其他数据库的区别 Sqlite: 开源免费,体积小,单文件,没有进程.磁盘读性 ...
- C# 显示、隐藏窗口对应的任务栏
WPF中全屏窗口,会自动隐藏任务栏. 那非全屏窗口如何隐藏任务栏?甚至有没有一种场景,隐藏任务后自定义一套系统任务栏来显示? 以下会分阶段讲述一些概念 1. 主屏任务栏 任务栏,其实也是一个窗口,主屏 ...
- 10.2 PHP
WEB资源类型 静态资源:原始形式与响应内容一致,在客户端浏览器执行 动态资源:原始形式通常为程序文件,需要在服务器端执行之后,将执行结果返回给客户端 WEB相关语言 客户端技术:html JavaS ...
- 洛谷P7078 [CSP-S2020] 贪吃蛇 题解
比赛里能做出这题的人真的非常厉害,至少他的智商和蛇一样足够聪明. 首先有一个结论: 当前最强的蛇吃了最弱的蛇之后,如果没有变成最弱的蛇,他一定会选择吃! 证明: 假设当前最强的蛇叫石老板. 如果下一条 ...
- HTML5元素背景知识
目录 HTML5元素背景知识 语义与呈现分离 元素选用原则 少亦可为多 别误用元素 具体为佳,一以贯之 对用户不要想当然 元素说明体例 ol元素 元素速览 文档和元数据元素 文档和元数据元素 文本元素 ...