最近在学习dcos,里面可以对container的资源使用进行限制,那么如果我们设定一个cpu为0.1,那么我们dcos agent的cpu使用率会使用多少呢?是不是只能使用所有cpu的0.1呢?
在google group里面看到些资料
https://groups.google.com/a/dcos.io/forum/#!search/marathon
20resource
20share/users/5C7TUTkTjTw/g0Yr3twGBQAJ
https://theza.ch/2014/09/17/cpu-resources-in-docker-mesos-and-marathon/
看样子,其实0.1仅仅是相对来说的,如果一个agent里面只有一个container,那么不管是0.1还是0.5或者是3,cpu的资源对它都是开放的。如果有第二个container,假如说cpu写的是4,那么当这个cpu为4的container在权利奔跑的时候,这个0.1的或许就没有cpu资源可以利用了。
假如我们上面的假设是正确的,那么看看我们能干点啥?
下面是一个例子,我们在海外利用AWS部署了一套系统,使用非常多的虚机:
CPU如下图,一共15台机器,所有cpu加起来也就15,相当于一台机器的水平。即使我们按照多一倍的冗余,2台当前机型即可满足需求。
内存如下图,一共15台机器,所欲内存加起来378%,相当于4台机器,如果我们还是富裕1倍,那么8台机器就可以满足需求。
结合如上,如果按照dcos进行搭建,我们会使用8台机器替换15台机器,价格会是1倍,这还是在有一倍资源富裕的时候。可以看出来,dcos和marathon的杀伤力有多大。
再来一个证据, 在dcos 1.7关于jenkins的说法中, https://dcos.io/docs/1.7/usage/tutorials/jenkins/, 建议用户安装marathon,而且建议 cpu股份要有2CPU,