加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 云计算 > 正文

怎样调整 Kubernetes 资源限制

发布时间:2022-04-15 15:20:09 所属栏目:云计算 来源:互联网
导读:Kubernetes 资源限制往往是一个难以调整的配置,因为你必须在太严格或者太宽松的限制之间找到最佳的平衡点。 通过本文,你可以学习到如何设置正确的 Kubernetes 资源限制:从检测到无限制的容器,到找出你应该在集群中正确配置的 Kubernetes 资源限制。我们
  Kubernetes 资源限制往往是一个难以调整的配置,因为你必须在太严格或者太宽松的限制之间找到最佳的平衡点。
 
  通过本文,你可以学习到如何设置正确的 Kubernetes 资源限制:从检测到无限制的容器,到找出你应该在集群中正确配置的 Kubernetes 资源限制。我们假设你使用 Prometheus 来监控你的 Kubernetes 集群。这就是为什么本文中的每个步骤都使用 PromQL 查询进行示例说明的原因。
 
  检测没有 Kubernetes 资源限制的容器
 
  设置正确的 Kubernetes 资源限制的第一步是检测没有任何限制的容器。没有 Kubernetes 资源限制的容器可能会在你的节点中造成非常严重的后果。在最好的情况下,节点将开始按顺序或评分驱逐 pod。由于 CPU 节流,它们也会出现性能问题。在最坏的情况下,节点将由于内存不足而被终止。
 
  查找没有 Kubernetes 资源限制的容器
  根据命名空间查找没有限制 CPU 的容器
  复制
  sum by (namespace)(count by (namespace,pod,container)(kube_pod_container_info{container!=""}) unless sum by (namespace,pod,container)(kube_pod_container_resource_limits{resource="cpu"}))
  1.
  根据命名空间查找没有限制内存的容器
  复制
  sum by (namespace)(count by (namespace,pod,container)(kube_pod_container_info{container!=""}) unless sum by (namespace,pod,container)(kube_pod_container_resource_limits{resource="memory"}))
  1.
  发现太多容器没有 Kubernetes 资源限制?
  也许你发现了很多没有Kubernetes资源限制的容器。现在让我们关注最危险的。如何查看?很简单,只需找到使用最多资源且没有Kubernetes资源限制的前10个容器。
 
  使用最多CPU且没有CPU限制的前10个容器
  复制
  topk(10,sum by (namespace,pod,container)(rate(container_cpu_usage_seconds_total{container!=""}[5m])) unless sum by (namespace,pod,container)(kube_pod_container_resource_limits{resource="cpu"}))
  1.
  使用最多内存且没有内存限制的前10个容器
  复制
  topk(10,sum by (namespace,pod,container)(container_memory_usage_bytes{container!=""}) unless sum by (namespace,pod,container)(kube_pod_container_resource_limits{resource="memory"}))
  1.
  检测 Kubernetes 资源限制过于严格的容器
 
  检测 CPU 限制过于严格的容器
  如果容器非常接近其 CPU 限制,在需要执行比平时更多的 CPU 操作时,由于 CPU 节流,它的性能会下降。
 
  使用此查询查找 CPU 使用率接近其限制的容器:
  复制
  (sum by (namespace,pod,container)(rate(container_cpu_usage_seconds_total{container!=""}[5m])) / sum by (namespace,pod,container)(kube_pod_container_resource_limits{resource="cpu"})) > 0.8
  1.
  检测内存限制过于严格的容器
  如果容器接近其内存限制并超过了它,它将被终止。

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读