Web 应用弹性扩缩容实操笔记。如何在 Amazon Elastic Kubernetes Service (EKS) 上部署一个典型 Web App

本文只做部分摘录,本文作者:@n0vad3v,原文首发于:https://nova.moe/deploy-web-app-stack-on-eks/。文末结尾处将有跳转到作者首发链接以备查阅。

阅读本文需要有以下预备知识/准备:

  1. 一个没有欠费的 AWS 帐号
  2. 已经可以容器化运行的应用程序,并且镜像已经推到了对应区域的 ECR 中或者为公开镜像

作为一个典型的 Web App,肯定是由 App Server ,Web Server 和 Database 构成,为了能做到比较可靠地弹性扩缩容,这里全部使用 AWS 平台,对应的就变成了 Container,Application Load Balancer 和 AWS RDS。

为了在 AWS 运行自己的容器,我们有如下的选择:

  • 自己开 EC2 上面装 Docker 跑(那这个性价比差的不如直接用 Hetzner)
  • 用 Amazon Elastic Container Service (Amazon ECS) (配置起来有点麻烦,不工业风)
  • 用 Amazon App Runner(这个很灵性,只能设置一个容器,而且和已有的 VPC 不通,用不了 RDS)
  • 用 Amazon Elastic Kubernetes Service (EKS) (也是本文的主要重点)

Amazon Elastic Kubernetes Service (EKS)

这个是 Amazon 维护的 Kubernetes 服务,我们都知道自己安装/维护一个 Kubernetes 肯定是个吃力不讨好的事情,节点证书续签,集群升级,网络插件等等都是摆在 K8s 初学者面前的一个个槛,考虑到我对 Kubernetes 一窍不通,且在 PingCAP 工作的时候干过很多这种奇葩事情,所以既然这里选择了用 K8s ,那还是专注 kubectl 一顿 apply 就好,剩下的事情和锅全部丢给服务商(a.k.a,AWS)来背。

关于价格,文档上是这么说的: You pay $0.10 per hour for each Amazon EKS cluster that you create.,也就是说一个月它的控制面就会直接吃掉你的 72USD ,此外机器的钱是另算的,相比较 DigitalOcean/Vultr/Linode 这种免费控制面的服务商来说, AWS 贵了不少。

原文链接:https://nova.moe/deploy-web-app-stack-on-eks/

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享