推荐使用kubernetes中的pod大小(CPU,内存)

时间:2019-05-11 10:48:28

标签: kubernetes google-kubernetes-engine azure-aks amazon-eks kubernetes-pod

我想知道有关吊舱尺寸的推荐设置。即何时将应用程序放入Pod中或以什么大小放置,最好使用计算机本身代替Pod。

例如当Pod需要8GB或16GB或32GB时,什么时候想到从k8出来并用作某些应用程序的外部服务?对于占用大量CPU的情况也是如此。

因为如果pod需要16GB或16 CPU,并且我们有一台相同大小的机器/节点,那么我认为在那台机器上没有运行pod的感觉。如果我们在那种情况下运行,那么就像我们将有10个吊舱,需要8个节点。

希望您理解我的担心。

因此,如果有人对此提出建议,请分享您的想法。一些参考会更好。

推荐理想范围:

  1. pod的大小,以RAM和CPU计
  2. 豆荚与节点的比例,即每个节点的豆荚数量
  3. 是否适合无状态或有状态或两种类型的应用

1 个答案:

答案 0 :(得分:1)

在16cpu / 16gb机器上运行16cpu / 16gb pod正常。为什么不?您认为豆荚​​很小,但是没有这样的要求。豆荚可能是巨大的,这没有问题。记住容器只是节点上的一个进程,为什么您拒绝在胖节点上运行胖进程? Kubernetes为容器添加了非常好的编排级别,为什么不使用它呢?

没有通用的或推荐的容器尺寸。要求的推荐吊舱尺寸与要求为VM或裸机服务器推荐的尺寸相同。这完全取决于您的应用程序。如果您的应用程序需要16或64 GB的RAM-这是您建议的大小,您会看到吗?

关于Pod与节点的比率-Kubernetes当前的上限是每个节点110 Pod。低于该水印的一切都很好。唯一的问题是,建议的主节点大小会随着容器总数的增加而增加。如果您有1000个Pod,则可以使用中小型主节点。如果您有超过10 000个Pod,则应增加主节点的大小。

关于有状态性-无状态应用程序通常可以更好地生存。但是通常状态也应该存储在某个地方并可靠地存储。因此,如果您将应用程序规划为一组微服务,则可以创建尽可能多的无状态应用程序,而尽可能少地创建有状态的应用程序。理想情况下,只有关系数据库才应该真正有状态。