使用亚马逊EKS进行Kubernetes操作的5种做法

200 阅读7分钟

使用亚马逊EKS进行Kubernetes操作的5种做法

本文介绍了团队如何简化亚马逊EKS的使用,并将这个强大的Kubernetes管理解决方案的好处最大化。

在过去的几年里,各种规模和垂直行业的组织都在使用由Kubernetes(K8s)和云协调的容器化应用来帮助他们加速IT开发管道。但为了达到最佳效率,这些组织中的许多人都希望增加其他管理服务。

管理型Kubernetes最受欢迎的选择之一是亚马逊弹性Kubernetes服务(EKS)。但随着企业扩大对亚马逊EKS的采用,K8s集群和应用程序的数量会导致重大的运营挑战,包括可观察性、升级管理、安全性和开发人员的生产力。

为了应对这些挑战,平台/网站可靠性工程(SRE)团队必须寻找可扩展的方法,以安全地管理他们所有账户和地区的所有EKS集群。

无论是基于点的工人节点配置、亚马逊EKS Distro(EKS-D),还是在配置了私有端点的多个EKS集群上安全部署应用程序;平台团队需要集中管理,以创建一个整体的方法来操作AWS上的Kubernetes集群。

本文介绍了团队如何简化亚马逊EKS的使用,并将这一强大的Kubernetes管理解决方案的优势最大化。

填补Kubernetes的运营空白

试图扩展现代应用的企业往往会在他们的Kubernetes战略和他们的组织需要蓬勃发展之间遇到一个 "操作差距"。

有三个共同的因素在很大程度上推动了这种运营差距:

  1. 集群规模,随着集群数量的增加,标准化变得越来越复杂和具有挑战性。
  2. 集群的地理位置,越来越多的可用性区域和AWS区域,使得管理应用程序和基础设施越来越困难。
  3. 确保适当的访问,随着企业中越来越多的人看到K8s的好处并希望使用它,按集群配置和维护访问控制变得不可扩展。

对于使用Kubernetes或像EKS这样的管理服务的大型企业来说,必须启用以下功能,以获得平台的最大效益,并帮助弥补这些运营差距。让我们先来探讨一下这些核心领域以及随之而来的重要问题。

自动化

早期要问的关键问题是这个。"我们如何才能精简所有的集群和应用程序的部署,以跟上业务的需求?"

运营多个集群的企业经常遇到一个共同的挑战,即平行管理机群的生命周期。关键是要创建自动化集群和应用程序部署、Kubernetes升级和管理任务的操作实践。这将减少错误,提高生产力,为现代应用提供更快的上市时间。

首先,从GitOps运营模式中启用持续部署的力量(实施版本控制系统),将变化自动部署到Kubernetes集群。能够创建由多个阶段组成的任意数量的管道,这些管道可以按顺序一个接一个地执行,可以帮助集中管理运营和开发的每个方面。

第二,在亚马逊EKS或亚马逊EKS-D集群上启用最简单的Kubernetes版本升级流程,不管是需要原地升级还是迁移到新集群。专注于自动化预检,升级到集群,并更快地验证变化,以帮助简化和标准化应用程序生命周期管理。通过自动化平凡的任务,管理员可以降低人为错误的可能性,提高整体生产力,使他们的团队能够专注于创新。

安全性

下一个重要的问题是,"我们如何才能确保我们所有的集群和应用程序在多个AWS区域和地区的安全,以限制正确的人使用,确保所有的行动可以被审计?"大多数大型IT组织对业务应用使用身份管理和访问控制,但在多集群环境中,创建和维护角色变得至关重要,为了提高效率,一个AWS管理员可能被分配到一组集群中。如果攻击者破坏了一个可以访问所有集群的单一账户,这就会产生固有的安全风险。

考虑用基于角色的访问控制和零信任的访问来提高你的安全态势,这可以通过政策来管理,并与你的企业单点登录解决方案相整合。这有助于确保所有的应用程序都需要强大的认证和安全的凭证,并将所有的网络连接视为不可信的,除非另有证明。

目标是允许合适的用户从任何地方访问集群--甚至从防火墙后面--同时按用户和执行的命令保持完整的审计跟踪。

可见性

Kubernetes的一个优点是,它允许你在多个地区、可用区和云上运行应用程序。为了确保资源得到有效利用,并在多个账户、集群和AWS区域进行管理,平台/SRE团队需要对整个基础设施进行全面的可视性,包括企业内部和远程/边缘位置,无论采用哪种K8s分布。

通过详细的、一目了然的仪表盘视图了解每个亚马逊EKS和亚马逊EKS-D集群的状态和健康状况,对生产工作负载至关重要。拥有所有集群和应用程序的单一视图,使集群管理员更容易主动可视化、诊断和解决事件,并从Amazon EKS中获得最大的收益,特别是随着内部Kubernetes采用的增加。

治理

确保符合内部政策和行业法规,如HIPAA、PC或GDPR,是新运营的Kubernetes基础设施的一个基本要求。为集群和应用程序生成具有标准化和批准模板的自动化工作流程至关重要。

在通过政策管理Kubernetes的使用时,一致性是关键,特别是在整个K8s基础设施的安全、存储和可见性等元素。理想情况下,不同的内部小组可以在不同的开发阶段使用多套预先批准的集群配置。这样做不仅可以简化管理,而且有助于将管理不善和漏洞的风险降到最低。这包括快速检测、阻止和通知企业管理员集群和应用配置内的任何变化,以消除越界的集群和潜在的安全和支持问题。

资源

从概念上讲,Kubernetes允许内部和外部客户以成本效益的方式使用更简单、更快速和一次性的集群。然而,为了从这些快速和灵活的集群中获益,企业需要实施新的流程来构建、整合、访问、维护和升级K8集群。

这需要聘请K8s专家,而这些专家很难找到和留住,因为对人才的需求很高,而供应却很低。拥有一个集中的平台,减少复杂性并允许精简操作,成为成功部署大规模Kubernetes环境的关键因素。

Kubernetes正在成为越来越多的企业的选择,这些企业希望授权他们的IT组织以速度和规模运作。但随着企业扩大其Kubernetes实践,利用亚马逊EKS等工具在云中茁壮成长,更深层次的整合可以成功填补Kubernetes的运营空白,帮助你从云投资中获得最大收益。