《阿里云产品四月刊》—享道出行:容器弹性技术驱动下的智慧出行稳定性实践(3)

简介: 阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代

本文来源于阿里云社区电子书《阿里云产品四月刊》


《阿里云产品四月刊》—享道出行:容器弹性技术驱动下的智慧出行稳定性实践(2)https://developer.aliyun.com/article/1554124

ECS、ECI 混合部署

 

如前文所述,AHPA   只能够解决应用层的弹性滞后问题,并不能提前对底层资源是否足够提前做出判断。这也意味着当底层资源不足时,仍存在使应用扩容时间被无限拉长的  风险。

 

弹性容器实例 ECI(Elastic Container Instance)作为一种纯 Serverless 容器运行服务,对于用户而言,无需管理底层服务器资源,同样也不需要关心运行过程中的容量规  划,只需要提供打包好的 Docker 镜像,即可运行容器,非常适合应对这种流量突发场景下的业务场景。

 

但从成本性上讲,单位价格会相对裸金属 ECS 较贵,该方案结合了各付费模式和底层

 

架构的优势,当前采取混合部署模式,兼顾成本及稳定性两方面的业务目标。如下图所  示,未来目标是一半以上的应用作为业务基线部署在裸金属  ECS  上,对于周期型应用部署在按量付费的 ECS 资源,结合出行行业早晚高峰,剩余 10% 以上的场景均通过ECI 实例保障。

image.png

 

注:ECI 的计算资源与 ECS 等实例完全解耦,在每个可用区有单独的资源划分给到Serverless 架构相关产品,对于大部分场景(CPU 数不超过 1 万 Core),无需担心资源不足的情况产生。因此 ECI 也是一种相对可靠的算力容量保障手段。

 

自定义弹性资源优先级调度

 

在资源的调度策略上,由于采用了 ECSECI 两种部署模式,我们期望应用扩容和缩容行为都是确定性的,当应用需要部署一个 Deployment,此时集群中有对应的多种类型的资源,分别是包年包月的 ECS、按量付费的 ECS 和弹性实例 ECI

 

那么,部署的服务优先调度顺序理论上依次为:包年包月的 ECS、按量付费的  ECS、弹性实例 ECI。同时在服务缩容时优先删除 ECI 上的 Pod,释放 ECI 的节点资源,然后删除按量付费的 ECS 上的 Pod,最后删除包年包月的 ECS 上的 Pod。

 

 

image.png

 

对于包年包月及按量付费两种不同付费类型的节点需通过打上不同 label 标签实现。然后创建 ResourcePolicy 自定义节点池调度顺序。ResourcePolicy 配置示例:

apiVersion: scheduling.alibabacloud.com/v1alpha1 kind: ResourcePolicy metadata: name: DEMO  namespace: demo-ns  spec: units: - max: 15 nodeSelector: env: prd resource: ecs
- max: 5   nodeSelector:    foo: bar    resource: ecs    -  resource: eci whenExceedMax: NeverEvict

 

 

这里具体的调度策略可根据实际业务场景区分,若对于成本不敏感,且业务的波峰波谷  抖动较大的场景,也可以考虑当 ECS 资源不足时,使用 ECI 弹性资源,进而加速 Pod 的启动时间。


《阿里云产品四月刊》—享道出行:容器弹性技术驱动下的智慧出行稳定性实践(4)https://developer.aliyun.com/article/1554122

相关实践学习
基于ACK Serverless轻松部署企业级Stable Diffusion
本实验指导您在容器服务Serverless版(以下简称 ACK Serverless )中,通过Knative部署满足企业级弹性需求的Stable Diffusion服务。同时通过对该服务进行压测实验,体验ACK Serverless 弹性能力。
Kubernetes极速入门
Kubernetes(K8S)是Google在2014年发布的一个开源项目,用于自动化容器化应用程序的部署、扩展和管理。Kubernetes通常结合docker容器工作,并且整合多个运行着docker容器的主机集群。 本课程从Kubernetes的简介、功能、架构,集群的概念、工具及部署等各个方面进行了详细的讲解及展示,通过对本课程的学习,可以对Kubernetes有一个较为全面的认识,并初步掌握Kubernetes相关的安装部署及使用技巧。本课程由黑马程序员提供。   相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
7天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
30 2
|
8天前
|
Kubernetes Cloud Native Docker
云原生技术探索:容器化与微服务的实践之道
【10月更文挑战第36天】在云计算的浪潮中,云原生技术以其高效、灵活和可靠的特性成为企业数字化转型的重要推手。本文将深入探讨云原生的两大核心概念——容器化与微服务架构,并通过实际代码示例,揭示如何通过Docker和Kubernetes实现服务的快速部署和管理。我们将从基础概念入手,逐步引导读者理解并实践云原生技术,最终掌握如何构建和维护一个高效、可扩展的云原生应用。
|
9天前
|
Cloud Native 持续交付 Docker
Docker容器化技术:从入门到实践
Docker容器化技术:从入门到实践
|
10天前
|
存储 Kubernetes 调度
基于容器化技术的性能优化实践
基于容器化技术的性能优化实践
23 3
|
17天前
|
Kubernetes 负载均衡 Cloud Native
云原生应用:Kubernetes在容器编排中的实践与挑战
【10月更文挑战第27天】Kubernetes(简称K8s)是云原生应用的核心容器编排平台,提供自动化、扩展和管理容器化应用的能力。本文介绍Kubernetes的基本概念、安装配置、核心组件(如Pod和Deployment)、服务发现与负载均衡、网络配置及安全性挑战,帮助读者理解和实践Kubernetes在容器编排中的应用。
47 4
|
18天前
|
Kubernetes 监控 Cloud Native
云原生应用:Kubernetes在容器编排中的实践与挑战
【10月更文挑战第26天】随着云计算技术的发展,容器化成为现代应用部署的核心趋势。Kubernetes(K8s)作为容器编排领域的佼佼者,以其强大的可扩展性和自动化能力,为开发者提供了高效管理和部署容器化应用的平台。本文将详细介绍Kubernetes的基本概念、核心组件、实践过程及面临的挑战,帮助读者更好地理解和应用这一技术。
53 3
|
25天前
|
Kubernetes 监控 开发者
专家级实践:利用Cloud Toolkit进行微服务治理与容器化部署
【10月更文挑战第19天】在当今的软件开发领域,微服务架构因其高可伸缩性、易于维护和快速迭代的特点而备受青睐。然而,随着微服务数量的增加,管理和服务治理变得越来越复杂。作为阿里巴巴云推出的一款免费且开源的开发者工具,Cloud Toolkit 提供了一系列实用的功能,帮助开发者在微服务治理和容器化部署方面更加高效。本文将从个人的角度出发,探讨如何利用 Cloud Toolkit 来应对这些挑战。
35 2
|
29天前
|
人工智能 专有云 Serverless
亚太唯一!阿里云再度入选Gartner®容器管理魔力象限领导者
亚太唯一!阿里云再度入选Gartner®容器管理魔力象限领导者
104 2
|
9天前
|
数据中心 开发者 Docker
理解并实践Docker容器化技术
理解并实践Docker容器化技术
|
17天前
|
Kubernetes 监控 开发者
掌握容器化:Docker与Kubernetes的最佳实践
【10月更文挑战第26天】本文深入探讨了Docker和Kubernetes的最佳实践,涵盖Dockerfile优化、数据卷管理、网络配置、Pod设计、服务发现与负载均衡、声明式更新等内容。同时介绍了容器化现有应用、自动化部署、监控与日志等开发技巧,以及Docker Compose和Helm等实用工具。旨在帮助开发者提高开发效率和系统稳定性,构建现代、高效、可扩展的应用。