使用Amazon EKS构建生产级别的弹性架构
关键字: [Amazon Web Services re:Invent 2024, 亚马逊云科技, Building Production-Grade Resilient Architectures, Amazon Eks Cross-Platform Resiliency, Cluster Lifecycle Management, Observability Best Practices, Governance Guardrails Autonomy]
导读
平台团队需要有效管理数千个集群以满足不断发展的组织需求。在本次会议中,了解如何在不影响安全性、弹性、性能和成本的前提下大规模管理和升级集群。了解如何使用开源工具如ACK、Argo CD和Backstage来大规模构建和维护Amazon EKS集群,并提供一个单一视图作为整个亚马逊云科技组织中Amazon EKS集群的清单。探索架构技术,通过增强可观察性确保工作负载的弹性,从而能够快速识别Amazon EKS集群中的问题。
演讲精华
以下是小编为您整理的本次演讲的精华。
在不断演进的云计算领域中,亚马逊云科技作为一个开拓者,彻底改变了企业应对数字基础设施的方式。在这场变革的核心地位是Amazon Elastic Kubernetes Service(Amazon EKS),这是一种功能强大且可扩展的容器编排服务,受到了寻求构建高可用生产级架构的企业的广泛关注。在亚马逊云科技 re:Invent 2024大会上,亚马逊云科技高级解决方案架构师Carlo Santana和首席解决方案架构师Neil带领观众深入探索了利用Amazon EKS构建高可用架构的复杂细节。
经验丰富的容器专家Carlo Santana首先概述了本次会议的议程,围绕EKS平台工程的三个关键方面:管理、可观测性和治理。他强调,平台工程师在构建抽象层和加速应用程序在亚马逊云科技上的部署方面扮演着关键角色,为团队提供自主的云基础设施服务。Carlo透露了一个惊人的统计数据,强调了EKS采用的快速增长:由亚马逊云科技管理的EKS集群数量同比增长了33%。
随着组织扩大EKS集群部署规模,可靠性和一致性变得至关重要。Carlo深入探讨了亚马逊云科技分波推出集群更新的方法,将集群分组为单元,逐步增加每波的单元数量,同时缩短波浪之间的浸泡时间(用于监控和测试)。他提供了一个生动的例子:“在这个例子中,我们有一个沙盒波。这是平台团队用于测试更改的一个集群。如果你在做平台工程,通常你会称之为沙盒,你可以在一个单一环境中有多个波。在这种情况下,我们展示了不同的环境,所以我们有死手,然后你进入暂存环境,所以在暂存环境中你有更多的集群,在生产环境中也是如此。你可以选择不同程度地更新生产集群。在这种情况下,我们有一个和探测2。也许它们是按地区划分的,或者是按账户地址划分的。”
为了在客户环境中模拟这种模式,Carlo引入了车队管理的概念,以一种高可用的方式在整个组织的集群中推出更新。他提供了一个使用ArgoCD编排部署过程的生动示例,包括预同步挂钩进行检查和先决条件、实际部署以及用于验证和测试的后同步挂钩。Carlo阐述道:“所以ArgoCD有一个系统,你可以配置预同步挂钩。这是一种带有特定注释的Kubernetes资源,你可以在这里做的事情是门控。例如,我使用Amazon EKS升级洞察力检查你需要做什么,或者一切是否准备就绪,可以继续升级。”
首席解决方案架构师Neil上台阐述了可观测性和治理这两个关键方面。正如Neil所强调的,可观测性是为开发人员提供可靠服务的基石。他强调了平台团队面临的常见挑战,如定义平台团队和应用程序团队之间的角色和职责、投资于主动警报和运行手册,以及实施自动化补救策略。Neil表示:“这一健全的警报集合最终只是一种机制,我们可以在遇到问题时使用它来取消正在进行的部署。所以这反过来又反馈到整个持续交付过程。”
治理作为高可用架构的下一个支柱,成为Neil论述的重点。随着组织扩大EKS集群的使用,一致性变得至关重要。Neil介绍了Open Policy Agent(OPA)、Gatekeeper和Kyverno等策略即代码引擎,这些引擎使组织能够表达策略并通过准入控制或策略报告来实施这些策略。他深入探讨了常见的摩擦点,指出:“我与许多客户交谈过,他们被称为Kubernetes团队或平台团队,由于开发人员在集群上部署的内容,无法升级集群。正如Carlos所说,给予人们基础设施即代码模板,但他们从未升级过集群、使用了已弃用的API、已弃用的CRD、Pod中断预算,这基本上会使节点滚动部署陷入困境。”
Neil还探讨了汇总策略违规的领域,强调了Kyverno的Policy Reporter等工具,可以将发现结果发送到Amazon Security Hub等系统,实现集中监控和补救工作流程。他举了一个例子:“因此,Kyverno作为一个例子,有一个相关的Policy Reporter项目,你可以在集群上安装它,将所有发现汇总到S3、Elastic Search或Security Hub等系统中,这为你提供了一个集中的视图,可以在一个地方汇总所有违规情况。”
在整个演讲过程中,Carlo和Neil融入了来自视频字幕的真实客户案例和使用场景,丰富了他们的叙述,并提供了他们所讨论的挑战和解决方案的具体示例。其中一个客户案例强调了平台团队由于开发人员部署的复杂性而无法升级集群的困境。Neil阐述道:“我与许多被称为Kubernetes团队或平台团队的客户交谈过,由于开发人员在集群上部署的内容,他们无法升级集群。正如Carlos所说,给予人们基础设施即代码模板,但他们从未升级过集群、使用了已弃用的API、已弃用的CRD、Pod中断预算,这基本上会使节点滚动部署陷入困境。”
另一个客户案例揭示了团队在集群升级期间由于缺乏适当配置(如Pod中断预算)而导致应用程序可用性问题的挑战。Neil表示:“我们与一些客户交谈过,他们说由于在开发集群中,应用程序团队只部署了一个副本,因此当他们升级集群时,团队抱怨集群宕机,平台不稳定。”
Carlo还强调了Amazon EKS Upgrade Insight的一个客户使用案例,这是一项提供升级EKS集群的见解和建议的功能。他提到:“所以ArgoCD有一个系统,你可以配置预同步挂钩。这是一种带有特定注释的Kubernetes资源,你可以在这里做的事情是门控。例如,我使用Amazon EKS升级洞察力,有一个API可以调用,查看你需要做什么,或者一切是否准备就绪,可以继续升级。”
Neil进一步强调了主动监控和警报的重要性,他表示:“再次强调信任这一方面,我们不希望,理想情况下,我们的客户甚至知道有问题。如果我们的集群出现故障,我们希望能够发现并在他们知道之前修复。我们当然不希望依赖他们告诉我们系统已经损坏,因为这从根本上开始侵蚀了对平台团队和平台的信任。”
随着亚马逊云科技 re:Invent 2024大会落下帷幕,与会者对Amazon EKS的强大功能和构建生产级高可用架构的最佳实践有了更深刻的认识。Carlo和Neil的演讲如同一盏明灯,为组织照亮了前进之路,帮助他们充分利用云原生技术的全部潜力,同时坚定不移地追求运营卓越。
下面是一些演讲现场的精彩瞬间:
演讲者概述了本次会议的议程,重点是在 EKS 之上进行平台工程,涵盖了管理、可观测性和治理。
强调了在管理和协调 Amazon EKS 集群上的 Kubernetes 配置和资源时,集成了开源工具 ArgoCD 和 亚马逊云科技 Controllers for Kubernetes (ACK)。
解释了使用 Git、管道和 ArgoCD 升级 EKS 集群的过程,实现自动化检查、更新和测试。
截图展示了 Kyberno Policy Reporter 与 Amazon Security Hub 的集成,实现了跨多个 Kubernetes 集群的集中策略违规可见性和管理。
亚马逊云科技 提供实践 EKS 研讨会、沉浸式体验日和最佳实践指南,帮助组织有效学习和采用 EKS。
亚马逊云科技 re:Invent 2024 年的演讲者鼓励与会者获取 EKS 徽章,并在 GitHub 上探索 Kubernetes 资源。
总结
通过 Amazon EKS 构建弹性架构:叙事摘要
亚马逊云科技(Amazon Web Services)是全球云计算的开创者和引领者。提供200多类广泛而深入的云服务,服务全球245个国家和地区的数百万客户。做为全球生成式AI前行者,亚马逊云科技正在携手广泛的客户和合作伙伴,缔造可见的商业价值 – 汇集全球40余款大模型,亚马逊云科技为10万家全球企业提供AI及机器学习服务,守护3/4中国企业出海。