Kubernetes 确定配额和限制范围的合理值

Kubernetes 确定配额和限制范围的合理值,kubernetes,openshift,Kubernetes,Openshift,为了确定OpenShift/Kubernetes项目中的资源请求和对象限制的可行值,您采取了什么方法 我不是问如何创建配额或限制范围,而是问如何合理化cpu/内存请求/限制值,而不是简单地猜测 我发现这是一个很好的起点,并希望找到更多的资源或最佳实践建议。我明白,我将不得不修改这些设置,因为没有一刀切的解决方案。我想你自己已经回答了这个问题。没有适合所有人的大小,这实际上取决于工作负载的类型。这也是关于您希望在资源上留下多少空闲时间的意见 IMO 对于计算资源: CPU和内存:任何低于10%的

为了确定OpenShift/Kubernetes项目中的资源请求和对象限制的可行值,您采取了什么方法

我不是问如何创建配额或限制范围,而是问如何合理化cpu/内存请求/限制值,而不是简单地猜测


我发现这是一个很好的起点,并希望找到更多的资源或最佳实践建议。我明白,我将不得不修改这些设置,因为没有一刀切的解决方案。

我想你自己已经回答了这个问题。没有适合所有人的大小,这实际上取决于工作负载的类型。这也是关于您希望在资源上留下多少空闲时间的意见

IMO

对于计算资源:

  • CPU和内存:任何低于10%的都可能未充分利用,任何超过80%的都可能过度利用。在这里,您总是希望在这两个方面都获得更高的利用率,因为这些资源往往是成本最高的资源
  • 磁盘:任何80%的值都意味着您可能需要增加磁盘的大小,或者进行垃圾收集

对于K8s资源限制,如ConfigMaps的数量,本身没有最大值,这只是一项功能,您可以确保群集用户不会滥用资源创建,因为群集资源从来都不是无限的。我能想到的一个例子是,您可以说每个部署平均有2个配置映射,您希望有100个部署,并且您可能希望设置220个配置映射的限制。

您将如何测量CPU/内存/存储使用历史?我想可以使用
kubectl description
之类的工具来测量设置,比如普罗米修斯(Prometheus),并根据时间的推移来衡量CPU和内存使用情况。