【发布时间】:2019-07-11 04:49:28
【问题描述】:
我正在将一些应用程序从 AWS ECS 迁移到 Azure AKS,并且作为我在 Kubernetes 中的第一个生产部署,我想确保它从一开始就正确设置。
被迁移的应用程序都在不同程度上使用资源,其中一些更占用内存,而另一些则占用更多 CPU,并且都以不同的规模运行。
经过一些研究,我不确定哪个是运行单个大型集群并将它们全部运行在自己的命名空间中的最佳方法,或者使用联合运行每个应用程序的单个集群。
我应该注意,我需要监控每个应用程序的资源使用情况以进行成本管理(除其他外),并且大多数应用程序之间需要通信。
我可以设置这两种布局,而且我确信两者都可以,但我不确定每种方法的优缺点,是否应该完全避免使用一种方法,或者是否应该考虑其他选择?
【问题讨论】:
-
这是一个巨大的架构讨论,但我的 2 美分。我建议使用具有多个命名空间的 1 个集群。您曾经的集群可能有不同类型的节点(一些具有很少的 cpu/ram 和一些高性能节点)。然后,您可以使用
NodeSelector、taints、tolerations将需要高性能的应用程序与提供高性能的节点联系起来。全部由一个 API 服务器管理。 -
很遗憾,您还不能在 AKS 中执行此操作,所有节点都必须是相同规格的 VM。
标签: kubernetes azure-aks