【问题标题】:Application Load Balancers in an EKS clusterEKS 集群中的应用程序负载均衡器
【发布时间】:2021-07-14 03:56:08
【问题描述】:
我正在尝试找出在 EKS 集群中自动化 k8s 部署的方法。我正在尝试为每个特定环境设置名称空间。一种用于开发,一种用于暂存,一种用于生产。我的生产命名空间在一个单独的区域中,也在一个单独的集群中(开发和登台在一个集群中)。我对这个概念有点陌生,但是将每个应用程序负载均衡器放在其各自的命名空间中是否有意义?这种做法是常见的还是最佳做法?任何关于自动化部署的想法都将不胜感激。
【问题讨论】:
标签:
kubernetes
kubernetes-helm
amazon-eks
【解决方案1】:
嗨Dave Michaels,
我假设您在上面的帖子中有两个问题:
-
如果我们在同一个集群中使用专用的命名空间(开发和登台设置),我们可以为每个命名空间使用一个专用的负载平衡器吗?这是好习惯吗。
回答:是的。当您为同一集群中的每个环境使用命名空间概念时,可以在每个命名空间中创建一个专用的负载均衡器(向我保证您将使用入口 :)),因为我们需要一种更简单的方法来访问这些环境。坦率地说,我不喜欢在环境中使用命名空间,因为随着集群的增长以及向其中添加大量微服务,您可能出于其他原因想要使用命名空间,例如,每个团队或域的命名空间以获得精细访问权利。但我也看到团队成功地将它用于不同的环境。
-
建议自动化 Kubernetes 部署的可能性?
这本身就是一个很大的话题。
随着微服务的增长,您将需要处理多个 Kubernetes 清单,我建议的第一件事是使用像 Kustomize 这样的配置管理器或像 Helm 这样的包管理器来将变量与实际清单分开,这将有助于轻松跨环境(相同集群或不同集群)自动部署。谈到实际的部署自动化,如果没有现成的 CD,我建议探索支持原生 Kubernetes 并支持 GitOps 的工具,例如 FluxCD 或 ArgoCD 等