吉首自治州住房和城乡建设局网站,北京官网seo收费,典当行网站模板,杭州营销网站建设公司作者#xff1a;庄宇
本文根据 2023 云栖大会现场分享实录整理 2 年前的云栖大会#xff0c;我们发布分布式云容器平台 ACK One#xff0c;随着 2 年的发展#xff0c;很高兴看到 ACK One 在混合云#xff0c;分布式云领域帮助到越来越多的客户#xff0c;今天给大家汇报…作者庄宇
本文根据 2023 云栖大会现场分享实录整理 2 年前的云栖大会我们发布分布式云容器平台 ACK One随着 2 年的发展很高兴看到 ACK One 在混合云分布式云领域帮助到越来越多的客户今天给大家汇报下 ACK One 2年来的发展如何帮助客户解决分布式领域多云多集群管理的挑战。
首先我们会介绍下分布式云容器平台 ACK One 的背景与架构之后详细介绍 ACK One 各个功能与应对的业务场景包括注册集群、边缘集群、多集群舰队、全托管 Argo 工作流集群。
Part 1分布式云容器平台 ACK One解决企业多云多集群管理挑战 我看下 ACK One 这个产品出现的背景Gartner 报告中预测到 2025 年50% 的大型企业将通过分布式云实现业务转型在 Forrester 报告中未来 89% 的企业至少使用两个云74% 的企业至少使用三个云。在 ACK 的用户中我们也看到同样的趋势越来越多的用户选择多云多集群架构来应对业务发展带来的挑战。
可以说分布式云已经成为新常态。同时 Gartner 报告中指出安全运维复杂性财务复杂性是多云多集群架构的主要挑战。
为了应对分布式云带来的挑战我们构建了分布式云容器平台 ACK One。 ACK One 提供多云多集群管理解决方案。ACK One 可以统一接入不同形态\不同位置的 K8s 集群例如公共云 ACK 集群边缘集群本地数据中心中的集群和第三方公共云集群。接入后ACK One 提供云上云下一致的运维体验包括监控日志、成本分析、安全加固、备份容灾、微服务治理等。极氪汽车使用 ACK One 统一管理多个 K8s 集群提升了安全水位和业务连续性减少 25% 的资源用量运维效率提高80%。
为了解决本地数据中心弹性不足无法应对业务高峰的问题ACK One 支持云上弹性将云上无限算力接入到本地数据中心 K8s 集群中并实现云上云下混合调度。智联招聘使用 ACK One 云上弹性能力5 分钟实现业务数万核扩容应对招聘季业务高峰。
同时ACK One 支持多集群舰队管理提供一个控制面管理多个 K8s 集群提供统一应用分发、南北流量管理、统一运维管理等能力。
Part 2ACK One 注册集群接入和管理不同形态K8s集群
下图展示的是 ACK One 注册集群的架构我们可以将三方公共云中的 K8s 集群和本地数据中心的自建 K8s 集群接入到 ACK One 注册集群中。 首先您要有一个 K8s 集群之后在 K8s 集群安装注册集群的 agent podAgent pod 会反向连接 ACK One 注册集群服务端并完成管控通道的建立之后ACK One 注册集群管控可以下发 K8s API 请求并通过 Agent pod 的中转到自建 K8s 集群的 API Server 中。从而通过 ACK One 注册集群可以获得云上云下一致的运维体验。
具体来说包括 ASM 服务网格微服务引擎 MSEPrometheus 监控ARMS 应用性能监控SLS 日志安全FinOps。以上所有云上 ACK 集群具备的能力都可以通过注册集群在三方公共云 K8s 集群和自建 K8s 集群中落地实现。
另外为了应对本地数据中心资源不足无法应对业务流量增长的问题ACK One 注册集群支持云上弹性可以将云上的 ECS/ECI 计算资源包括 CPU 和 GPU 资源加入到自建 K8s 集群中由自建 K8s 调度云上资源应对业务流量增长。
可以说您依然完全控制自建 K8s 集群同时获得了云上 ACK 集群才具有的强大扩展能力。 通过 ACK One 注册集群可以让阿里云优势的软件和服务实现 Anywhere不再仅服务于阿里云容器服务 ACK 集群也可以扩展到本地数据中心自建 K8s 集群第三方公共云 K8s 集群中。包括ECS/ECI 等 IaaS 资源可观测服务服务治理FinOps 成本管理安全等。使用注册集群您依然完全控制自建的 K8s 集群但同时获得了阿里云云产品带来的扩展能力。 场景 1 云上弹性通过云上弹性我们可以将云上的计算资源加入到本地数据中自建 K8s 集群中应对业务流量的增长。同时注册集群调度器支持对不同计算资源设置不同的调度优先级例如可以优先调度本地数据中心中的节点当本地数据中心资源用尽后调度使用云上的按量计费节点池 ECS或者使用云上 Virtual Node 弹性容器实例 ECI 处理业务流量。在充分使用本地计算资源后再使用云上资源节省成本。 场景 2 可观测性。通过注册集群可以将 ACK 集群的可观测能力包括监控/日志/事件/告警下沉到自建 K8s 集成中一套可观测方案同时用于容器服务 ACK 集群自建 K8s 集群三方公共云 K8s 集群实现云上云下一致的运维体验。 容器服务 ACK 集群具有强大的安全管理能力包括配置巡检、运行时安全检查和策略管理。通过注册集群可以将 ACK 集群的安全能力下沉到自建 K8s 集群和三方公共云 K8s 集群中。通过一个安全大盘查看管理所有集群的安全风险提高安全水位。 在成本治理方面容器服务 ACK 提供完整的方案支持以集群、命名空间、节点池、应用多角度的成本洞察基于洞察结果实施成本的治理包括浪费发现、成本预测、预算告警等。通过注册集群可以使用 ACK 集群的成本管理能力分析和治理自建 K8s 集群和三方公共云 K8s 集群降低成本。 场景 5 应用与数据的备份恢复通过注册集群可以使用云上数据备份与恢复能力备份自建 K8s 集群和第三方公共云 K8s 集群中的应用与数据并在 ACK 集群中恢复 实现跨地域的应用与数据容灾。 场景 6 混合云跨云数据访问。为了应对存算分离架构带来数据访问接口类型多和访问速度慢的问题通过注册集群和 ACK Fluid 组件可以通过标准 PV/PVC 接口实现云上计算实例访问云下自建存储资源也可以通过 Fluid 分布式缓存加速云下计算资源访问云上 OSS 对象存储缩短 GPU 等高成本计算资源的等待时间提高了运行速度降低计算成本。 阿里云提供强大的微服务治理能力包括微服务引擎 MSE 和服务网格 ASM通过注册集群的控制面连接云上 MSE 和 ASM 可以管理三方公共云和本地数据中心 K8s 集群中的微服务。实现一套微服务方案管理所有集群的微服务降低运维复杂度提高了稳定性。
Part 3ACK Edge 边缘集群接入和管理边缘计算资源
边缘集群 - 接入和管理边缘计算资源下面我们介绍一下边缘集群边缘集群可以接入和管理边缘的计算资源也就是机器和各种终端设备。您可以在云上创建边缘集群并将边缘的机器和设备远程接入云上集群实现通过标准 K8s 集群的方式调度使用这些机器和设备从而省去在边缘自建集群的成本。 下面我们看下边缘集群的架构上半部分是边缘集群 ACK Edge 的控制面在阿里云上复用 ACK Pro 的控制面APIServer/ETCD 等保证稳定性集成开源 OpenYurt 提供边缘节点自治能力最后融合了阿里云的日志监控安全能力。下半部分是边缘部分可以接入管理数据中心或者机房中的机器包括 CDN、IDC、工厂、园区、楼宇等。也可以接入各种终端设备包括车载、交通设备等。
淘麦郎使用边缘集群 ACK Edge提供验票服务人均验票时间缩短 70%成功服务了北京冬奥会和杭州亚运会等大型赛事影石使用边缘集群 ACK Edge管理工厂中的计算设备从云端直接下发指令到达工厂极大提高了生产效率。 OpenYurt 是业界首个非侵入的云边协同的云原生平台在中间的架构图中可以看到master 组件部署在云端可以方便的管理分散的边缘机器和设备。图中蓝色框是原生 K8s 组件橙色框中表示的是 OpenYurt 组件。OpenYurt 没有对 K8s 做任何修改保证 OpenYurt 很容易集成与被集成 。OpenYurt 的核心能力主要 4 个方面多地域应用管理边缘自治跨地域网络通信以及云原生设备管理。
Part 4ACK One 多集群舰队统一管理多个 K8s 集群
之前讲到的注册集群和边缘集群解决了各种形态位置的集群和边缘计算资源接入到云上的问题。 下面我们介绍当我们有多个 K8s 集群的时候如何统一管理就要 ACK One 多集群舰队。
首先我们看下多集群舰队的架构多集群舰队集成使用开源 Open Cluster Management统一管理多个 K8s 集群可以是公共云的 ACK 集群本地数据中心 K8s 集群。多集群舰队对用户提供统一的控制面提供应用分发流量控制安全策略全局监控等多集群管理能力 。 我们来看多集群的应用分发多集群舰队托管了开源 ArgoCD 提供 GitOps 应用分发能力开发团队可以通过在 Git 中定义应用部署 yaml 文件实现应用的多集群部署。
使用 GitOps 具有强可靠性。Git 作为部署的唯一来源提供了版本控制、回滚和审计能力。同时开发人员也不需要任何 K8s 集群的权限, 安全性高。最后GitOps提供持续部署的能力保证集群中应用的状态和 Git 仓库中定义的状态一致避免误操作保证稳定性。
ACK One 多集群 GitOps 在此基础上提供了原生 ArgoCD 的 CLI 和 UI 体验并提供专属的 ArgoCD 控制台域名集成阿里云账号 SSO支持多用户权限等。 基于 ACK One GitOps 实现多集群 CICD 流程。在流程图中我们首先向业务代码仓库提交代码修改之后由 ACR EE 或者全托管 Argo 工作流集群构建并推送镜像到 ACR EEACK One GtiOps 检查ACR EE中镜像版本的变更并回写到应用部署仓库也就是修改部署 yamlACK One GtiOps 自动向 Dev 集群部署新的镜像版本在验证通过后在维护窗口可以手工向生产集群部署。实现了从 CI 到多集群部署的完整 CICD 流程。 下面我们来看多集群南北流量管理为了保证应用的容灾我们一般会在不同可用区的 2 个集群部署相同的应用并在前端部署负载均衡传统的负载均衡一般会采用智能 DNS 的方案或者 4 层 LoadBalancer 方案但 DNS 方案的问题在于客户端缓存导致在问题发生时切换不及时造成业务损失。4 层 LoadBalancer 无法实现基于 7 层的路由转发灵活性差。
为了解决这个问题我们推出多集群网关提供全局 Ingress实现七层的负载均衡多集群网关本身也支持跨可用区的高可用。因为是七层的网关我们可以灵活的定制路由实现基于权重、http header、自动 fallback 的路由策略。通过多集群网关我们可以实现应用同城多可用区多活容灾。在应用完成多集群部署后我们还需要对应用的状态进行监控ACK One 舰队管理提供多集群全局监控功能汇总多个集群的监控指标提供多集群视角的全局监控大盘。在截图中可以看到一个大盘可以查看集群 1 和集群 2 的监控指标。 Part 5全托管 Argo 工作流集群全新发布
最后一部分我来介绍下全托管 Argo 工作流集群。 随着科技的发展仿真计算、科学计算等离线作业在企业中的应用越来越多在云原生领域如何编排以及高效、低成本运行这些离线作业是必须回答的问题。
ACK One 推出全托管跨地域 Argo 工作流集群托管 CNCF 毕业项目 Argo Workflow使用弹性容器实例 ECI以无服务器方式在多可用区/多地域调度运行工作流支持大规模工作流运行的同时降低计算成本。
为了应对 AI 等数据密集性业务和存算分离架构Argo 工作流集群支持分布式数据缓存加速文件访问减少运行时间降低成本。
此外全托管 Argo 工作流集群支持
资源预测 – 通过负载感知自动调整资源规格规模化计算 – 控制面进行了性能优化支持千级别并发工作流数万 Pod 并行计算任务事件驱动 - 支持 Git、阿里云 MNS、OSS 等事件源触发工作流自动运行
相比开源自建 Argo 工作流系统利用 Serverless 技术全托管 Argo 工作流集群可实现 30% 的资源成本节省利用分布式数据缓存数据读性能提高 15 倍通过控制面优化和云上极致弹性最大并行计算规模提升 10 倍。
泛生子使用全托管 Argo 工作流集群在 12 小时内完成处理数千例样本的处理速度提升 50%成本下降 30%。 看下分布式 Argo 工作流集群的架构它托管开源 Argo workflow提供开源原生的 CLI、UI、API、SDK 等接口保证现有开源自建 Argo 工作流系统可无缝迁移。同时可以使用工作流集群的 API SDK 接口包装工作流集群构建自己的工作流提交系统以适应具体的业务场景。我们很多仿真和科学计算客户就是将工作流集群作为后端引擎使用。
工作流集群托管 Argo event 项目支持事件驱动编程模型支持 Git、阿里云 OSS、MNS、EventBridge 等事件源触发工作流自动运行自动完成 CI、数据处理等离线任务。
分布式 Argo 工作流集群使用 Serverless 方式运行工作流无需运维 worker 节点利用云上极致算力资源可实现同时运行数万 Pod 的大规模工作流 同时提供监控日志等开箱即用的运维体验。 最后我们简单总结下分布式云面对的场景多种多样挑战很多为此ACK One 提供注册集群能力可以将非ACK集群接入ACK One从而实现云上云下集群统一管理。ACK One 提供边缘集群实现云上集群管理边缘机器与设备同时实现边缘自治。
多集群舰队提供多集群 GitOps 和全局 Ingress 实现应用的同城多活容灾。全托管 Argo 工作流集群实现工作流的编排以 Serverless 方式运行工作流降低成本应对持续集成、科学计算、仿真计算、数据处理等场景。
大家可以根据具体业务场景选择相应的能力最终实现简单的跨云协同让业务管理更加高效。