阿里云容器服务 ACK One 分布式云容器企业落地实践

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
函数计算FC,每月15万CU 3个月
简介: 3年前的云栖大会,我们发布分布式云容器平台ACK One,随着3年的发展,很高兴看到ACK One在混合云,分布式云领域帮助到越来越多的客户,今天给大家汇报下ACK One 3年来的发展演进,以及如何帮助客户解决分布式领域多云多集群管理的挑战。

【阅读原文】戳:阿里云容器服务 ACK One 分布式云容器企业落地实践

阿里云容器服务ACK提供丰富的产品功能,在弹性、调度、可观测、成本治理、安全合规方面提供强大且成熟的产品能力,但如果您有IDC资源或者三方资源,无法短期迁移到阿里云容器服务ACK,又有弹性、调度、可观测、成本治理、安全等方面的痛点,可以考虑采用ACK One分布式云容器平台。

 

3年前的云栖大会,我们发布分布式云容器平台ACK One,随着3年的发展,很高兴看到ACK One在混合云,分布式云领域帮助到越来越多的客户,今天给大家汇报下ACK One 3年来的发展演进,以及如何帮助客户解决分布式领域多云多集群管理的挑战。

 

 

首先我们总结下分布式云容器领域企业面临的挑战, 对本地IDC自建集群,会出现IDC资源的确定性和业务流量不确定性的矛盾,业务高峰,IDC资源不足,在线业务受损,离线业务排队。业务低峰,IDC资源浪费。随着业务的发展,集群数量多,又来自不同的供应商,运维技术差异大,工作量大。另外,企业对高可用的要求提高,如何构建多集群应用容灾系统也是企业面临的难题。最后,对于分散在不同位置的服务器,边缘侧的服务器,GPU服务,如何通过K8s集群管理起来,统一中心和边缘的技术栈,也是一个难题。

 

 

通过分布式云容器平台ACK One可以快速构建分布式云原生基础设施,为了应对上述的挑战。ACK注册集群可以接入管理IDC自建集群和三方公有云集群。

 

ACK边缘集群可以接入并容器化管理IDC/ENS中的服务器,也可以管理位于工厂/门店等分散的服务器。

 

接入后,可以将云上的ECS/ECI接入IDC集群扩展弹性算力,进而使用ACK提供的弹性伸缩与智能调度,彻底解决IDC资源焦虑,降低综合成本。同时提供和ACK集群一致的运维体验,包括:云原生AI套件、运维、可观测、安全合规能力。

 

最后,ACK One多集群舰队,提供一个统一控制面管理多个K8s集群,提供应用分发、作业调度、流量管理、运维管理等能力。

 

 

这张图展示的是ACK One注册集群的架构,我们可以将三方公共云中的K8s集群和本地数据中心的自建K8s集群接入到ACK One注册集群中。

 

首先,您要有一个K8s集群,之后在K8s集群安装注册集群的agent pod,Agent pod会反向连接ACK One注册集群服务端并完成管控通道的建立。

 

之后,ACK One注册集群管控可以下发K8s API请求,并通过Agent pod的中转到自建K8s集群的API Server中。从而通过ACK One注册集群,可以获得ACK集群的扩展能力,包括:Prometheus监控、SLS日志、FinOps、备份中心、安全、Knative、针对AI场景的Kserve、数据加速Fluid、镜像加速能力、ASM服务网格能力。以上所有云上ACK集群具备的能力,都可以通过注册集群在三方公共云K8s集群和自建K8s集群中落地实现。

 

另外,为了应对本地IDC资源弹性不足,ACK One注册集群支持云上弹性,可以将云上的ECS/ECI计算资源,包括CPU和GPU资源,加入到自建K8s集群中,由自建K8s调度云上资源,应对业务流量增长。

 

可以说,您依然完全控制自建K8s集群,同时,获得了云上ACK集群才具有的强大扩展能力。

 

 

首先,通过注册集群,IDC K8s集群可以接入云上的ECS节点,也可以通过ACK Virtual Node接入Serverless ACS ECI算力。对云上ECS节点,支持自定义VM镜像,可以与IDC镜像完全兼容,同时支持自动弹性伸缩。

 

如果选择接入Serverless ACS ECI算力,可以支持极致的弹性,K8s Pod和ACS ECI实例一一对应,启动快,无需管理节点。另外,为了更容易的介入Serverless算力,可以不创建注册集群,直接安装ACK Virtual Node的Helm chart,让IDC集群快速获取ACS ECI算力。

 

通过ACK云上云下协作调度器,可以支持GPU共享调度,以提高GPU利用率,优先调度IDC资源,IDC资源不足时使用云上算力,业务高峰后优先缩容云上资源,以提高IDC资源利用率,降低成本。

 

通过注册集群,IDC自建集群可以弹性获取云上万核计算资源,彻底解决IDC资源焦虑,综合成本降低。

 

 

通过注册集群,可以将ACK集群的可观测能力(监控/日志/事件/告警),包括开箱即用的Grafana大盘下沉到自建K8s集成中, 一套可观测方案,同时用于容器服务ACK集群,自建K8s集群,三方公共云K8s集群,实现云上云下一致的可观测体验。在成本治理方面,容器服务ACK提供完整的方案,支持以集群,命名空间,节点池,应用多角度的成本洞察。

 

通过注册集群,可以使用ACK集群的成本洞察能力,降低自建K8s集群和三方公共云K8s集群成本。

 

 

通过注册集群,可以使用云上数据备份与恢复能力,备份自建K8s集群和第三方公共云K8s集群中的应用与数据, 并在ACK集群中恢复,实现跨地域的应用与数据容灾。支持无状态应用和有状态应用包含数据的备份和恢复。同时,支持丰富的备份策略和各种存储的实现。

 

另外,备份恢复可以实现应用迁移上云,通过overwrite配置填补多云之间的应用配置差异。

 

 

下面我们看下边缘集群的架构,上半部分是边缘集群ACK Edge的控制面,在阿里云上,复用ACK Pro Kubernetes集群控制面(APIServer/ETCD等),集成开源OpenYurt提供边缘节点自治,网络协同等能力。之后融合了阿里云的AI套件,云上弹性,可观测等能力。

 

下半部分是边缘部分,可以接入管理数据中心或者机房中的服务器,包括阿里边缘云ENS、IDC、跨地域的ECS和分布在工厂、场馆、园区中的服务器。

 

形成了云边协同一体化的架构。您可以在云上创建边缘集群,并将分散的服务器和设备接入云上集群,实现通过标准K8s集群容器化的方式调度使用这些服务器和设备,同时使用阿里云ACK Pro提供的各种扩展能力。

 

如果您在不同位置都自建集群管理这些服务器和设备,那么集群的数量会很多,维护成本很高。目前ACK Edge服务各行各业,包括:在线音视频的直播、云游戏、在线教育、物流等行业。

 

 

ACK Edge重点发力本地数据中心,如果您的数据中心有服务器,但不想自建kubernetes集群管理,节省人力成本。

 

可以使用ACK Edge集群来管理这些服务器,容器化运行您的核心业务。

 

为此ACK Edge构建了一系列的产品能力,云上沿用ACK Pro集群控制面,稳定性好;边缘自治,控制面网络异常不影响边缘数据面业务运行,同时支持紧急运维,控制面网络异常,依然可以修改本地业务pod ;云边混合弹性,业务高峰,可以扩容云上ECS;集成阿里云ACK的可观测能力,统一技术栈;云边流量复用,支持大规模边缘节点接入。

 

友邦保险:借助ACK Edge实现云边一体化管理,大幅度提升业务发布运维效率。与云上已有的监控、告警、日志等能力无缝对接,为业务的稳定运行提供保障。同时借助边缘自治,实现了在网络异常情况下的业务自愈、离线运维等能力。

 

 

随着AI应用的大规模应用,GPU卡出现局部紧张,很难在一个供应商获得足够的GPU卡。在AI应用开发运维的过程中,还会存在GPU利用率低、缺少可视化的界面、缺少监控、数据加载慢的问题。

 

通过边缘集群,可以管理分散的GPU算力,例如一个集群可以同时管理IDC和云上的GPU服务器,应对GPU资源不足的问题。可以在IDC中使用ACK云原生AI套件,提升AI工程效率,优化GPU使用率,加速镜像、模型和数据的加载。

 

有鹿:本地数据IDC中的GPU计算资源接入ACK Edge。借助云上AI套件的能力,大幅度提升GPU资源的利用率,与AI工程效率。同时,利用云上弹性ECS,应对大规模任务部署时本地资源不足的问题。

 

除了AI,ACK Edge可以管理边缘的HPC资源,支持Slurm调度,容器化方式运行HPC任务。

 

 

边缘集群支持underlay网络,提高网络性能30%,支持云上Serverless算力,云上云下的Pod和节点在一个网络平面,集群外部可以直接访问pod,适配大规模数据中心服务器的容器化管理,解锁更多业务场景。

 

 

首先我们看下多集群舰队的架构,多集群舰队集成使用开源Open Cluster Management,统一管理多个K8s集群, 可以是公共云的ACK集群,ACK Edge集群,本地数据中心K8s集群,和第三方公有云集群。

 

多集群舰队对用户提供统一的控制面,提供应用分发,作业调度,多集群Ingress网关,多集群service,全局可观测,和多集群组件管理能力。

 

 

ACK One多集群舰队全托管多集群应用发布系统,支持多集群GitOps与自定义分发规则的多集群应用资源分发,集成成本低,快速构建多集群应用发布平台。可以一键实现批量应用的全球多地域发布,发布效率成倍提升,保证业务快速迭代。支持一体化灰度、验证、回滚流程,保证发布质量。同时,可以快速将单集群应用转换为多集群部署,实现业务高可用。另外,支持多租实现多团队隔离。

 

最后,应用发布是全托管,免运维产品,针对大规模应用发布优化了控制面性能,支持数千应用的同时发布。

 

 

大模型训练、自动驾驶仿真等场景对计算资源的巨大需求量,正在突破单个云region或者IDC机房的服务能力上限。ACK One提供Fleet + Clusters两级调度系统,实现了跨集群任务统一调度。高效利用多地域计算资源,满足用户资源量、成本和性能等多方面优化诉求。

 

 

下面我们来看多集群流量管理,为了保证应用的容灾,我们一般会在不同可用区的2个集群部署相同的应用,并在前端部署负载均衡,传统的负载均衡一般会采用智能DNS的方案或者4层LoadBalancer方案,但DNS方案的问题在于客户端缓存,导致在问题发生时,切换不及时,造成业务损失。4层LoadBalancer无法实现基于7层的路由转发,灵活性差。

 

为了解决这个问题,我们推出多集群网关,提供全局Ingress,实现七层的负载均衡,多集群网关本身也支持跨可用区的高可用。因为是七层的网关,我们可以灵活的定制路由,实现基于权重,http header,自动fallback的路由策略。

 

通过多集群网关,我们可以实现应用同城多可用区多活容灾。

 

同时,舰队支持多集群Service,支持service的跨集群通信,方便实现微服跨集群迁移。

 

 

ACK One多集群舰队,支持多集群全局监控,同个一个监控大盘查看多个集群的状态与应用状态。支持全局FinOps,通过一个Finops大盘查看多个集群的成本情况,简化日常运维工作。

 

 

ACK组件数量多,随着版本的升级,配置的变更,叠加多集群部署,运维的复杂度高。ACK One即将发布多集群组件管理能力,通过组件基线定义多个组件版本,通过批次部署实现集群间灰度发布和异常回滚。运维人员可以通过多集群组件管理一键发布ACK组件,运维效率与质量大幅提升。

 

 

首先,我们来认识下开源Argo Workflow这个项目,它是CNCF的少数毕业项目之一,专为Kubernetes而设计,离线任务编排与运行引擎,适用于数据处理、科学计算、仿真计算、持续集成,是Kubernetes工作流的事实标准。

 

 

开源自建Argo工作流集群比较简单,但如果在生产环境中使用,往往会出现很多问题。

 

稳定性:节点中大量运行pod,会导致资源争抢,OOM,Disk满,导致频繁宕机。大规模工作流 pod运行,复杂工作流的运行,往往导致K8s API Server,Argo controller异常。

 

成本与规模:固定资源池无法成本分摊,大规模工作流无法正常运行。

 

安全与运维:版本迭代,升级新版本引入新问题,需要额外设计登录,鉴权,CVE修复等安全问题。

 

开源自建Argo不支持生产环境大规模工作流运行。

 

 

看下全托管Serverless Argo工作流集群的架构,它托管开源Argo workflow,保证现有开源自建Argo工作流系统可无缝迁移。

 

同时,可以使用工作流集群的API SDK接口,包装工作流集群,构建自己的工作流提交系统,以适应具体的业务场景。我们很多仿真,自动驾驶,科学计算客户就是将工作流集群作为后端引擎使用。支持事件驱动编程模型,支持Git、阿里云OSS、MNS、Function/EventBridge等触发工作流自动运行,自动完成CI、数据处理等离线任务。

 

分布式Argo工作流集群使用Serverless方式运行工作流,无需运维worker节点,利用云上极致算力资源,可实现同时运行数万Pod的大规模工作流。

 

 

对比开源自建,全托管Serverless Argo工作流在易用性、运行效率、成本、稳定性,高性能大规模方面大幅领先,同时,提供7*24的产品售后支持。

 

例如:及时修复稳定性与性能问题,单工作流并行2万子任务Pod,整体4万子任务Pod稳定运行,对比开源提高10倍。以Serverless方式运行子任务pod,利用云上极致的弹性应对业务高峰,同时无需预留维护节点,对比开源成本下降30%。

 

深势科技使用全托管Serverless Argo工作流集群,编排科学计算任务,使用数万核资源运行大规模工作流,系统稳定性大幅提高。

 

 

目前Argo工作流集群在多个行业大量应用,包括:自动驾驶方针、科学计算、基因计算金融分析、数字媒体。

 

 

最后,我们简单总结下今天的分享:

 

分布式云面对的场景多种多样,挑战很多,为此,ACK One提供注册集群能力,可以将非ACK集群接入ACK One,从而实现云上云下集群统一管理,和云上弹性。ACK One提供边缘集群,实现云上集群管理IDC的服务器,支持边缘自治,协同AI。多集群舰队提供多集群GitOps,应用资源分发,运维管理,轻松完成多集群管理。全托管Argo工作流集群,实现工作流的编排,以Serverless方式运行工作流,降低成本,应对持续集成、科学计算、仿真计算、数据处理等场景。

 

大家可以根据具体业务场景选择相应的能力,最终实现简单的跨云协同,让业务管理更加高效。

 

阿里云容器团队诚招【开发&SRE】【产品经理】【PDSA】- 杭州、北京、深圳的岗位均可,欢迎大家帮助推荐。



我们是阿里巴巴云计算和大数据技术幕后的核心技术输出者。

欢迎关注 “阿里云基础设施”同名微信微博知乎

获取关于我们的更多信息~

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
6天前
|
Linux iOS开发 Docker
Docker:容器化技术的领航者 —— 从基础到实践的全面解析
在云计算与微服务架构日益盛行的今天,Docker作为容器化技术的佼佼者,正引领着一场软件开发与部署的革命。它不仅极大地提升了应用部署的灵活性与效率,还为持续集成/持续部署(CI/CD)提供了强有力的支撑。
172 69
|
1天前
|
Cloud Native 持续交付 Docker
云原生技术入门与实践:Docker容器化部署示例
【9月更文挑战第25天】在数字化转型的浪潮下,云原生技术成为推动企业创新的重要力量。本文旨在通过浅显易懂的语言,为初学者揭示云原生技术的核心概念及其应用价值。我们将以Docker容器为例,逐步引导读者了解如何将应用程序容器化,并在云端高效运行。这不仅是对技术趋势的跟随,更是对资源利用和开发效率提升的探索。
9 4
|
8天前
|
运维 Ubuntu Linux
深入理解并实践Docker容器化技术
深入理解并实践Docker容器化技术
36 6
|
4月前
|
人工智能 运维 Kubernetes
阿里云容器服务ACK AI助手正式上线带来的便利性
作为开发者想必大家都知道,云原生容器技术的优势,尤其是近两年的随着容器技术的迅猛发展,Kubernetes(K8s)已成为广泛应用于容器编排和管理的领先解决方案,但是K8s的运维复杂度一直是挑战之一。为了应对这一问题,就在最近,阿里云容器服务团队正式发布了ACK AI助手,这是一款旨在通过大模型增强智能诊断的产品,旨在帮助企业和开发者降低Kubernetes(K8s)的运维复杂度。那么本文就来详细讲讲关于这款产品,让我们结合实际案例分享一下K8s的运维经验,探讨ACK AI助手能否有效降低K8s的运维复杂度,并展望ACK AI助手正式版上线后的新功能。
326 2
阿里云容器服务ACK AI助手正式上线带来的便利性
|
4月前
|
存储 Kubernetes Docker
容器服务ACK常见问题之阿里云控制台进不去了如何解决
容器服务ACK(阿里云容器服务 Kubernetes 版)是阿里云提供的一种托管式Kubernetes服务,帮助用户轻松使用Kubernetes进行应用部署、管理和扩展。本汇总收集了容器服务ACK使用中的常见问题及答案,包括集群管理、应用部署、服务访问、网络配置、存储使用、安全保障等方面,旨在帮助用户快速解决使用过程中遇到的难题,提升容器管理和运维效率。
|
17天前
|
人工智能 Kubernetes Cloud Native
阿里云容器服务,全面助力云上体育盛会
本文讲述了阿里云容器服务,通过安全稳定的产品能力和成熟的稳定性保障体系,全面助力云上体育赛场,促进科技之光与五环之光交相辉映。
阿里云容器服务,全面助力云上体育盛会
|
1天前
|
供应链 安全 Cloud Native
阿里云容器服务助力企业构建云原生软件供应链安全
针对软件供应链的攻击事件在以每年三位数的速度激增,其中三方或开源软件已经成为攻击者关注的重要目标,其攻击方式和技术也在不断演进。通过供应链的传播,一个底层软件包的漏洞的影响范围可以波及世界。企业亟需更加标准和完善的供应链风险洞察和防护机制。本文将结合最佳实践的形式,面向容器应用完整的生命周期展示如何基于容器服务ACK/ACR/ASM助力企业构建云原生软件供应链安全。
|
20天前
|
人工智能 Prometheus 监控
使用 NVIDIA NIM 在阿里云容器服务(ACK)中加速 LLM 推理
本文介绍了在阿里云容器服务 ACK 上部署 NVIDIA NIM,结合云原生 AI 套件和 KServe 快速构建高性能模型推理服务的方法。通过阿里云 Prometheus 和 Grafana 实现实时监控,并基于排队请求数配置弹性扩缩容策略,提升服务稳定性和效率。文章提供了详细的部署步骤和示例,帮助读者快速搭建和优化模型推理服务。
94 7
使用 NVIDIA NIM 在阿里云容器服务(ACK)中加速 LLM 推理
|
1天前
|
人工智能 Kubernetes Cloud Native
阿里云容器服务,智算时代云原生操作系统
今年是Kubernetes十周年,在这10年间。我们已经看到其成长为云原生操作系统,向下高效调度多种算力资源,屏蔽基础设施差异,向上提供统一编程接口,支持多样化工作负载。阿里云容器服务产品已经覆盖了从公共云、边缘云、到本地数据中心的各个场景。让所有需要云能力的地方,都有统一的容器基础设施。
阿里云容器服务,智算时代云原生操作系统
|
1月前
|
Kubernetes 负载均衡 安全
【技术揭秘】阿里云容器服务Ingress高级玩法:如何轻松实现客户端原始IP透传,提升应用安全性与用户体验!
【8月更文挑战第17天】本文介绍如何在阿里云容器服务中配置Ingress以透传客户端原始IP地址。通过Ingress可实现HTTP负载均衡等功能。需在Ingress定义文件中添加特定注解,如`nginx.ingress.kubernetes.io/real-ip-header: X-Real-IP`。创建并应用Ingress配置后,后端服务可通过读取`X-Real-IP`头获取真实IP。此举有助于安全审计及流量分析。
44 2

热门文章

最新文章