场景:如果把租户看作一个namespaces,给ns设置quota。这种就会导致此ns下面的pod必须设置limits和requests,用户如果设置了单个pod 1C 1G,一个8C 8G的资源仅仅够够创建8个副本。
1.关于租户这个角色大家是用于k8s的那个对象
2.如果和场景中的大致,除了更合理的要求应用设置合理的limits和requests还有那些方法。
3.如果不符合场景,大家又是如何限制每个租户的资源使用。
limits和requests的配置一直是个广泛争议的话题;
(1) limits可以大致看成是最大值,requests大致可以看做是最大值;
(2)如果requests的cpu和mem配置较低,则初期,kubenetes将调度大量的pod在一个节点上,但pod中应用不可能只用这么低的值,后期由于节点上pod太多,无法扩展到limits,很容易导致OOM
(3)如果requests配置很高,request=limits,自然不会有问题,但资源太浪费了。
(4)所以,我倾向于将requests配置在中游水平,但如果该应用很重要,也可以将requests=limits配置。
(6)使用rancher或kubesphere,利用RBAC将不同的租户限定在不同的namespace,而不同的namespace中的deployment有不同的资源限定,通过这样来限制租户对资源的使用。