假设我有一个使用 EC2 实例 (VM) 在 AWS 中部署的 Web 应用程序(Apache httpd 服务器)。应用程序部署是使用 EC2 用户数据执行的。
或者,我可以对我的 Web 应用程序进行 docker 化。使用 EKS 或自定义设置在 EC2 实例上部署 Kubernetes 集群。我们还可以使用 AWS Fargate 来实现无服务器功能。
在这里使用 Kubernetes 的第二种方法有哪些优点和缺点?
最佳答案
EC2 - 开发人员承担更多责任
如果您作为开发人员将应用程序部署到 EC2 计算机,您通常还负责维护和修补 EC2 实例。问题是,这是开发人员通常不擅长的事情,通常也不那么感兴趣。监视和修补 Linux 机器或排除网络故障不是他们的专业知识。
Kubernetes - 减少开发人员的责任
使用 Kubernetes,作为开发人员,您只需负责应用程序容器以及您的应用程序的健康状况。但另一个团队,例如平台团队可能负责底层基础设施,例如EC2 实例和网络。或者与 Fargate 一样,云提供商可以对此负责。
认知负荷
让开发人员承担更少的责任,但仍然拥有用于自助服务部署的 API,这使得他们非常高效。
需要平台团队
但是当开始使用 Kubernetes 作为平台时,您就会面临更多的复杂性。为此,您需要成为一个足够大的组织。除非您使用更高级别的服务,例如Google Cloud Run .
关于这一切的一个很好的讨论是 Kubernetes is Not Your Platform, It's Just the Foundation
关于amazon-web-services - 在 Kubernetes 上还是直接在 EC2 实例上部署 Docker 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63907886/