oll*_*inn 6 kubernetes azure-aks
我正在将许多应用程序从 AWS ECS 迁移到 Azure AKS,并且作为我在 Kubernetes 中的第一个生产部署,我想确保它从一开始就正确设置。
被移动的应用程序都在不同程度上使用资源,其中一些应用程序占用更多内存,其他应用程序占用更多 CPU,并且都以不同的规模运行。
经过一些研究,我不确定运行单个大型集群并将它们全部运行在自己的命名空间中,或者使用联合为每个应用程序运行单个集群的最佳方法是什么。
我应该注意到,我需要监视每个应用程序的资源使用情况以进行成本管理(除其他外),并且大多数应用程序之间需要进行通信。
我可以设置两种布局,并且我确定两种布局都可以,但我不确定每种方法的优缺点,我是否应该完全避免使用一种,或者我是否应该考虑其他选择?
因为您正处于 Kubernetes 之旅的开始,所以我会为您的每个阶段使用单独的集群(或者至少单独的开发和生产)。你可以很容易地关闭你的集群(我在资源匮乏的情况下做了好几次)。另外,如果不正确设置这些网络策略,您可能会发现来自不同阶段/命名空间(例如测试和沙箱)的服务相互通信。或者应该部署开发来更改其他命名空间中的某些内容的管道。为什么要冒生产受到开发工作影响的风险?
即使您不必自己升级控制平面,aks 仍然有其版本和标志,最好在转移到单独集群上的生产环境之前对其进行测试。
所以我最初的决定是设置一些硬性边界:不同的集群。稍后,一旦您对 aks 和 kubernetes 有了更多了解,您就可以重新审视您的决定。
正如您所说,应用程序之间需要通信,我建议您使用一个集群。应用程序隔离可以通过将每个应用程序部署在单独的命名空间中来实现。您可以在命名空间级别收集指标,并可以在命名空间级别设置资源配额。这样您就可以在应用程序级别采取行动
| 归档时间: |
|
| 查看次数: |
1987 次 |
| 最近记录: |