什么是 Amazon EKS? - Amazon EKS

什么是 Amazon EKS?

Amazon Elastic Kubernetes Service (Amazon EKS) 是一项托管服务,可让您在AWS上轻松运行 Kubernetes,而无需安装、操作或维护您自己的 Kubernetes 控制层面或节点。Kubernetes 是一个用于实现容器化应用程序的部署、扩展和管理自动化的开源系统。Amazon EKS:

  • 跨多个AWS可用区运行和扩展 Kubernetes 控制层面以确保高可用性。

  • 根据负载自动扩展控制层面实例,检测并替换运行运行状况不良的控制层面实例,并为其提供自动化的版本更新和修补。

  • 与许多AWS服务集成以便为您的应用程序提供可扩展性和安全性,包括以下能力:

    • 用于容器镜像的 Amazon ECR

    • 用于负载分配的 Elastic Load Balancing

    • 用于身份验证的 IAM

    • 用于隔离的 Amazon VPC

  • 运行最新版本的开源 Kubernetes 软件,因此您可以使用 Kubernetes 社群的所有现有插件和工具。在 Amazon EKS 上运行的应用程序与在任何标准 Kubernetes 环境中运行的应用程序完全兼容,无论此类环境是在本地数据中心还是在公有云中运行,都是如此。这意味着,您可以轻松地将任何标准 Kubernetes 应用程序迁移到 Amazon EKS,而无需进行任何代码修改。

Amazon EKS 控制层面架构

Amazon EKS 为每个集群运行一个单一租户 Kubernetes 控制层面。控制层面基础设施不会在集群或AWS账户之间共享。控制层面包含至少两个 API 服务器实例和三个 etcd 实例,这些实例在某个区域内的三个可用区之间运行。Amazon EKS:

  • 主动监控控制层面实例上的负载,并自动扩展它们以确保高性能。

  • 自动检测和替换运行状况不佳的控制层面实例,并根据需要跨区域内的可用区重新启动它们。

  • 利用AWS区域的架构保持高可用性。因此,Amazon EKS 能够提供确保 API 服务器端点可用性的 SLA。

Amazon EKS 使用 Amazon VPC 网络策略将控制层面组件之间的流量限制到一个集群内。除非通过 Kubernetes RBAC 策略授权,否则,集群的控制层面组件无法查看或接收来自其他集群或其他AWS账户的通信。这个安全且高度可用的配置让 Amazon EKS 成为生产工作负载的可靠的建议配置。

Amazon EKS 是如何工作的?


    Amazon EKS 的工作原理

Amazon EKS 入门很简单:

  1. 首先,在 AWS Management Console 中或使用 AWS CLI 或AWS开发工具包之一创建一个 Amazon EKS 集群。

  2. 启动托管或自行管理的 Amazon EC2 节点,或将您的工作负载部署到 AWS Fargate。

  3. 在集群准备就绪时,可以配置您常用的 Kubernetes 工具(如 kubectl)以与您的集群通信。

  4. 像在任何其他 Kubernetes 环境中一样在 Amazon EKS 集群上部署和管理工作负载。您还可以使用 AWS Management Console 查看与您的工作负载相关的信息。

要创建您的第一个集群及其关联的资源,请参阅 开始使用 Amazon EKS

Pricing

Amazon EKS 集群由一个控制层面以及您在其中运行 Pod 的 Amazon EC2 或 AWS Fargate 计算资源组成。有关控制层面定价的更多信息,请参阅 Amazon EKS 定价。Amazon EC2 和 Fargate 都提供:

  • 按需实例 – 您只需按秒支付使用实例的费用,无需长期订阅或支付预付款。有关更多信息,请参阅 Amazon EC2 按需定价AWS Fargate 定价

  • Savings Plans – 通过承诺在 1 到 3 年期限内保持一致的使用量(以美元/小时为单位),您可以降低成本。有关更多信息,请参阅 Savings Plans 定价

针对自行管理的 Kubernetes 集群调整 Amazon EKS

Amazon EKS Distro 是 Amazon EKS 在云中部署的相同开源 Kubernetes 软件和依赖项的发行版。借助 Amazon EKS Distro,您可以在部署应用程序的任何位置创建可靠且安全的集群。您可以依靠由 Amazon EKS、etcd、CoreDNS、上游 CNI 和 CSI Sidecar 部署的相同版本 Kubernetes,并提供最新更新和扩展的安全修补支持。Amazon EKS Distro 遵循与 Amazon EKS 相同的 Kubernetes 版本发布周期,并作为开源项目提供。

注意

GitHub 上提供了 Amazon EKS Distro 的源代码。Amazon EKS Distro 网站上提供了最新的文档。如果您发现任何问题,可以在 GitHub 上与我们联系,报告 Amazon EKS Distro 的问题。您可以在那里打开问题、提供反馈以及报告错误。