2

如果 CloudFormation 需要如此多的配置,AWS 的 Elastic Kubernetes 服务 (EKS)究竟做了什么,而 CloudFormation 是另一个 AWS 服务?

我在 ( https://docs.aws.amazon.com/eks/latest/userguide/eks-ug.pdf )的文档中遵循了 AWS EKS 入门,其中运行 EKS 似乎非常需要 CloudFormation 知识。
我弄错了吗?

因此,除了学习 Kubernetes .yaml 清单定义之外,要在 EKS 上运行 k8s,AWS 还希望您学习他们的 CloudFormation .yaml 配置清单(这些都是 PascalCase,而不是我可能添加的 k8s 的 camelCase)?

我了解 EKS 对最新版本的 k8s 和控制平面进行了一些管理,并且“默认情况下是安全的”,但除此之外?

为什么我不使用 kops 在 AWS 上运行 k8s,然后处理稍微过时的 k8s 版本?
还是我应该做 EKS + CloudFormation + kops,此时 GKE 看起来是一个非常诱人的选择?

更新:
在这一点上,在详细搜索 EKS 以及它如何如此依赖 CloudFormation 清单之后,我真的认为 EKS 只是 CloudFormation 的一个薄包装器。
可能是对 k8s 惊人流行的商业反应,GKE 通常没有任何实质支持该服务。
希望这有助于节省评估 EKS 半生不熟服务的任何人的时间。

4

3 回答 3

5

要在 AWS 上运行 Kubernetes,您基本上有 2 个选项:

  • 使用 kops,它将在普通 EC2 机器中创建主节点 + 工作节点
  • EKS + Cloudformation 工作人员堆栈(您也可以使用 Terraform 作为部署工作人员或 eksctl 的替代方案,这将创建 EKS 集群和工作人员。我建议您关注这个研讨会

EKS 仅在高可用性设置中仅提供 kubernetes 集群的主节点。您仍然需要添加工作节点,您的容器将在其中创建。

我尝试了 kops 和 EKS + Workers,最终我使用了 EKS,因为我发现它更容易设置和维护并且更容错。

于 2018-09-10T13:30:30.557 回答
1

我之前也有同样的困难,没有一篇文章可以让我对需要做的事情一目了然。很多人只是推荐使用 eksctl,在我看来,这会造成一种臃肿且难以管理的 CloudFormation。

基本上,EKS 都只是 Kubernetes 的一个包装器,Kubernetes 和 AWS 之间的一些集成点仍然需要手动完成。

我写了一篇文章,希望能帮助你理解所有需要就位的过程

于 2019-09-04T06:15:36.567 回答
1

EKS 是 Kubernetes 的托管控制平面,而 Cloud-formation 是基础架构模板服务。

如果您想优化成本,您可以在 EC2 机器上运行和管理控制平面(主节点)而不是 EKS。使用 EKS,您必须支付底层基础设施(EC2+网络......)和托管服务费(EKS 价格)。

Cloud-formation 提供了一个很好的界面来模板化和自动化您的基础架构。您可以使用 terraform 代替 CF

于 2019-09-04T06:31:40.883 回答