亚马逊 EKS 发行版(EKS-D)介绍

本文介绍 EKS Distro,并使用合作伙伴生态系统中的例子来解释开始使用 EKS Distro 的不同方法。

作者 AWS 官方博客 译者 宋净超 发表于 2020年12月1日

今天,我们发布了 Amazon EKS Distro(EKS-D),这是一个基于 Amazon Elastic Kubernetes Service(Amazon EKS)的 Kubernetes 发行版,并由 Amazon EKS 用于创建可靠和安全的 Kubernetes 集群。通过 EKS-D,你可以依赖 EKS 部署的相同版本的 Kubernetes 及其依赖项。这包括最新的上游更新以及扩展的安全补丁支持。EKS-D 遵循与亚马逊 EKS 相同的 Kubernetes 版本发布周期,我们以 GitHub 上的开源项目的方式 提供。

在这篇文章中,我们将介绍 EKS Distro,并使用合作伙伴生态系统中的例子来解释开始使用 EKS Distro 的不同方法。

什么是 EKS-D?

通过 EKS Distro,你现在可以在通过 EKS 提供的相同 Kubernetes 发行版上实现标准化。这意味着你现在可以手动部署可靠和安全的集群,而无需持续测试和跟踪 Kubernetes 更新、依赖性和安全补丁。每个 EKS Distro 版本都遵循 EKS 验证新 Kubernetes 版本兼容性的 流程。你还可以选择使用提供的构建环境设置、工具和我们发布的镜像的哈希值重现 EKS Distro 的构建,以确认你的下载在传输过程中没有被篡改。通过 EKS-D,我们为社区支持到期后的 Kubernetes 版本提供了扩展支持,更新了以前版本的构建,现在有了最新的安全补丁。

在过去两年大规模运营 Amazon EKS 之后(我们说的是全球数百万个各种规模的集群),我们现在能够确定哪些工作、哪些组件要运行以及如何运行。我们已经了解到,客户希望在企业内部和云端获得一致的体验,以便进行迁移或实现混合云设置。例如,客户有一个用例,由于数据主权的原因,部分工作负载驻留在内部的 Kubernetes 集群中,而其他部分则运行在 EKS 上。现在你手头就有了基于 EKS 的解决方案参考系。

对于 EC2 上的 EKS,你可以 自己 管理节点,也可以使用 托管节点组

为了解决一致性的要求,我们想到了 EKS Distro,我们基于 EKS 的 Kubernetes 发行版,你可以在任何环境下运行,无论是裸机还是虚拟机。EKS-D 将上游的(未修改的)Kubernetes 和包,按照一定的、特意的方式进行配置,称为 Kubernetes 发行版,并将这些 作为开源 提供。fork 和 distribution 之间的区别很重要:fork 是一个替代上游的代码库。另一方面,发行版是一个特定的下游代码库,比如 Linux 发行版有 Ubuntu 和 Amazon Linux 2,比如 Hadoop 发行版,EMR 中有由 Cloudera 提供的并发行版。

从高层的角度来看,EKS Distro 的情况如下(考虑到一些上游的开源项目,包括 Kubernetes 和 etcd)。

通过 EKS Distro,你可以通过单一供应商安全地访问可安装、可复制的 Kubernetes 构建,以创建集群,并在社区支持到期后提供 Kubernetes 版本的扩展安全补丁支持。我们将根据 Amazon EKS 版本生命周期政策提供长达 14 个月的 Kubernetes 扩展维护支持,为你提供必要的时间窗口来更新你的基础设施,使其与你的软件生命周期保持一致。

开始使用 EKS-D

我们与一些 合作伙伴合作,提供安装方法以及与 EKS Distro 的集成。下面,我们将重点介绍几家合作伙伴,以及他们为帮助你开始使用 EKS-D 所做的工作。

Weaveworks

Weave Kubernetes Platform(WKP)为 Amazon EKS Distro(EKS-D)带来了 GitOps,并为内部安装、创建和管理 EKS-D 集群提供支持。与任何 Kubernetes 发行版一样,EKS-D 需要配置、升级以及额外的组件和附加组件,如日志、跟踪和指标。WKP 通过将 GitOps 添加到你的 Kubernetes 环境的每一层,为 EKS-D 或任何其他云端和企业内部的发行版解决了这些问题。通过利用 Cluster API 项目,GitOps 工作流可以管理整个集群生命周期,包括维护、升级和补丁,以及 Prometheus 和 Grafana 等平台组件的集群配置。通过 WKP 交付和管理 EKS-D 集群,应用开发团队可以获得最新的 GitOps 功能,从而实现更频繁的部署,缩短价值实现时间,提高可靠性和可重复性。平台团队还可以获得对内部部署 EKS-D 的全面洞察和观察能力。Weaveworks 发布的博客文章 进一步详细描述了 EKS-D 和 WKP 之间的关系。另外一篇文章则是 在 EKS-D 和 EKS-D 混合场景下的 WKP 演示

Kubestack

Kubestack 就是要为 Terraform 和 Kubernetes 提供最佳的 GitOps 开发者体验,从本地开发,一直到生产。通过他们 发布博文 了解如何使用 Kubestack 管理 EKS-D 集群,你也可以找到一个 视频 demo

Kubermatic

你可以使用 Kubermatic 的 KubeOne 安装 EKS-D。KubeOne 是一个基础设施对等的开源 Kubernetes 集群生命周期管理工具,可以自动部署和 Day 2 操作单个 Kubernetes 集群。了解如何使用 Kubermatic 的开源集群生命周期管理工具 KubeOne 在 AWS 和 Amazon Linux 2 上 安装 EKS-D

Aqua Security

为了保护 EKS-D 的安全,你需要一个整体的方法来征服 Kubernetes 的复杂性。Aqua 提供 KSPM(Kubernetes 安全态势管理)来提高可观察性和补救错误配置,以及先进的、无代理的 Kubernetes 运行时保护。你还可以使用 Kubernetes 原生功能,为你的 Kubernetes 应用实现策略驱动的全生命周期保护和合规性。了解更多关于 Aqua 的 EKS-D 集成的信息

Sysdig

Sysdig 提供安全和可视性,以检测和响应运行时威胁,验证合规性,并监控和排除 EKS-D 上的容器。查看他们的 发布博客文章,了解更多关于使用 CNCF Falco 和 Sysdig Secure 管理 EKS-D 工作负载中的运行时安全的信息。

Tetrate

Tetrate Service Bridge(TSB)可在 EKS 和 EKS-D 上实现跨工作负载的统一应用连接和安全。TSB 为企业级(上游或符合 FIPS 标准)Istio 和 Envoy Proxy 提供了便捷的访问和操作性。多租户、流量管理、网状和应用级可观察性、端到端 mTLS(相互传输层安全)、细粒度授权和应用安全是 TSB 的关键要素。

一系列合作伙伴一直在开展更多与 EKS-D 有关的活动,包括:

供应和管理

观察性

安全

你可以想象,这只是旅程的开始。你可能会问,下一步是什么?

下一步

要开始使用 EKS Distro,请访问 https://distro.eks.amazonaws.com,并使用 kops 或 kubeadm 或上述任何一个合作伙伴提供的解决方案亲自尝试。

你可以通过 GitHub 提供反馈和 PR,成为 EKS-D 社区的一员。如果你喜欢更多的互动交流,可以在 Kubernetes Slack 社区通过 #eks 频道或 AWS 开发者 Slack 频道加入我们,我们在那里设置了 #eks-d 频道。

我们很高兴了解你使用 EKS Distro 的情况,并听取你的反馈和建议。