问题背景
并不是所有的 Kubernetes 集群都有很大数量的机器, 一个 Pod 也有可能占用几十 G 内存, 希望读者能在阅读前就了解这样的现实....默认部署策略的使用
该集群中有几个应用的内存使用率很高, 每个 Pod 启动后内存会逐渐上升, 我们能接受的范围大概在 20G 左右....精细控制 Pod 分布
因为我们不止部署了一个应用, 而且有些应用需要特殊的对待, 肯定不能完全寄希望于自动的分配策略....有关精细控制节点中的 Pod 数量, 我们调研了几种方案:
Pod 拓扑分布约束[1]
该方案实现较为复杂, 它引入了域的概念, 将节点分组, 每个组为一个域, 针对各个域中部署的 Pod 数量进行限制...总结
我们在解决手动部署问题时也讨论了一下 Kubernetes 更加适合的场景: 拥有大量的服务器; 服务器中运行微小服务的情况; 并且该集群最好能控制资源利用率在 80%以下, 这样遇到了突发的流量可以做到有空余时间去扩容