ECI概述

  • 弹性容器实例ECI是阿里云在云原生时代为用户提供的基础计算服务,是阿里云云原生时代下的云计算基础设施。

  • ECI改变了以往计算服务以整台机器作为交付形态的传统,通过结合容器技术与无服务器技术为用户提供了一套安全便捷的Serverless服务。

  • 使用ECI的过程中用户不再需要关注繁冗的底层基础设施维护工作,仅需提供打包好的容器镜像即可运行用户服务。

  • 在颠覆传统资源交付形态的同事,用户还可以享受按实际消耗资源付费等便利,降低用户的实际使用成本。

  • ECI为Kubernetes提供了基础的容器Pod运行环境,但业务间的依赖、负载均衡、弹性伸缩、定期调度等能力依然需要Kubernetes来提供。

  • 阿里云弹性容器实例ECI是面向容器的无服务器弹性计算服务;提供免运维、强隔离、快速启动的容器运行环境;使用ECI无需购买和管理底层ECS服务器,让您更加关注在容器应用而非底层基础设施的维护工作。

ECI vs ECS

  • 对于整体的云原生基础设施来说,ECI和ECS是同级别的计算资源来产品。

  • ECI相比ECS的优势:

    • 更低的计算成本:弹性成本低于ECS

    • 更高的弹性效率:ECI扩容速度优于ECS

    • 更大的弹性规模:ECI可直接、迅速对容器进行伸缩

    • 持平的计算性能:ECI的计算效能与ECS差不多

    • 更低的迁移成本:与现有容器应用生态完美集成

    • 更低的使用成本:全自动化安全与运维能力

ECI关键技术

  • 基于轻量化Micro VM的安全容器运行时,pod底层沙箱给与Micro VM而非ECS的cgroup namespace

  • 基于Pod的基本调度单位和标准、开放的API接口

  • ECI与ECS并池架构,使得ECI的使用方式更多样、成本更低

ECI的优势

弹性

  • 弹性是云计算带给用户的最大价值之一,通过将业务部署在云上,用户基础设施的扩缩容等方面能够更加灵活。

  • 当前ECI服务完全构建在弹性计算整体资源调度平台之上,在ECS服务使用相同的困村管理与调度策略。依托弹性计算强大的库存管理系统,ECI服务能够切实保证充足的库存,满足用户对极致弹性的需求。

Serverless

  • Serverless技术的核心是将用户从繁冗的基础设施运维问题中拯救出来,让用户能够将精力专注于自身业务和服务上。

  • ECI通过结合容器技术和无服务器技术,将云厂商的运维边界从基础设施的整机层面提升到了容器运行时层面。

安全

  • 安全问题可以细化为两个层面的问题:

    • 云平台自身的安全

    • 用户自身的安全问题

  • ECI选择基于袋鼠云云生容器引擎和轻量化Micro VM来实现安全、隔离的容器运行时。除了运行时的资源隔离之外,不同用户之间的网络、存储、库存、弹性SLO等一系列能力也就阿里云基础设施,实现了严格的多租隔离。

  • 在性能方面,除了袋鼠容器引擎在OS/容器方面的高度优化之外,ECI在容器执行上优化集成了现有阿里云基础设施能力。

易用性

  • ECI服务在管控、虚拟化、镜像拉取等多个层面在交付时间进行了优化。

  • 借助于ECS服务共生的关系,通过优化ECI的管控系统能够更快地获取各类底层基础资源的情况,着重对创建链路进行优化,加快管控系统中ECI相关创建时间的处理速度。

  • 在容器运行环境的创建中也采用了特殊的虚拟化技术,快速批量创建实例。

  • 对容器镜像的拉去过程也进行了一定优化。

ECI Pod

概述

  • 安全隔离

    • 每个ECI实例底层通过轻量级安全沙箱技术完全墙隔离,实例间互不影响。
  • ECI支持多种规格配置的方式来申请资源和计费

    • 指定CPU/Memory,默认1c2g,按照单核单G * 使用规格 * 使用时长计费,按照秒来计费

    • 制定Pod的ECS规格,按照规格单价 * 运行时长计费,按照秒来计费

    • 抢占式实例:通过配置Annotation来使用

存储管理

  • 支持NFS、FlexVolume、PV/PVC

网络管理

  • ECI Pod默认使用Host网络模式,占用交换机vSwitch的一个弹性网卡ENI资源

  • 从外部连接Pod的方式包括:LoadBalancer Service、ClusterIP Service、EIP

镜像拉取和日志管理

创建ECI Pod

  • 制定ECI实例内容器规格

    • 通过Kubernetes标准方式配置单个容器的CPU和内存,ECI的资源则是Pod内所有容器所需资源的总和。

    • 每个ECI实例支持最多20个容器,实例内每个容器的资源支持自定义配置,但汇总到ECI实例级别需要满足CPU和内存约束。

  • 指定ECI Pod规格

    • 在指定ECI Pod级别的CPU和内存模式下,对于指定的CPU和内存规格,ECI会尝试使用多种ECS规格进行支撑,以提供比ECS单规格更好地库存和弹性能力。
  • 抢占式实例

    • 抢占式实例是一种低成本竞价型实例,您可以对阿里云当前闲置的资源出价,获得资源后运行容器,直到因为其他客户的更高出价而被回收容器资源,从而降低部分场景下使用ECI实例的成本

特殊实例

  • 抢占式实例

    • 抢占式实例适用于无状态的应用场景,例如可弹性伸缩的Web站点服务、图像渲染、大数据分析和大规模并行计算等。

    • 应用程序的分布度、可扩展性和容错能力越高,越适合使用抢占式实例节省成本和提升吞吐量。

  • GPU实例

    • ECI支持通过指定ECS GPU规格来创建ECI GPU实例。

    • GPU实例内置了对应的Docker镜像,因此使用ECI GPU实例时无需安装Tensorflow、CUDA Toolkit等实例。

  • AMD实例

    • ECI支持通过制定ECS AMD规格进行实例的创建。

    • AMD实例依托神龙架构,将大量虚拟化功能卸载到专用软件,降低虚拟化开销,提供稳定可预期的超高性能。

    • AMD实例的适用范围:视频编解码、高网络包收发场景、Web前端服务器、MMO前端、测试开发

  • 多可用区的ECI Pod

    • 使用ASK的多可用区特性可以提高ECI实例的创建成功率。

小结

  • ECI概述

    • ECI vs ECS

    • ECI关键技术

    • ECI优势

  • ECI Pod概述

    • ECI存储管理

    • ECI网络管理

    • 创建ECI Pod

    • ECI特殊实例