为什么我的集群主状态表示它已接近其资源限制?

当集群主节点资源限制达到时,排查相关问题。

虚拟私有云 传统基础设施

您将看到类似于以下示例的主状态。

The master is approaching its allotted memory resource limit (93%).  Please consider reducing load on your master.  Exceeding the defined resource limit could cause reduced performance for your cluster's master control plane.

我们的受管客户主节点有一个资源上限,用于限制他们可以使用的内存和 CPU 量。

如果主节点状态显示先前的消息,那么主节点将消耗足够的资源来达到其给定的限制。 此时,此消息是警告。 您的主控平面仍然健康,正常运行。 但是,如果不采取行动,您的主节点可能会达到限制,从而可能导致性能和功能问题。

在处理此问题时,您有几个选项。

  • 确定资源使用率高的原因,并进行更改以减少使用率。

    • 查找可能对主节点生成高负载的应用程序。 您可以使用 Kubernetes API 服务器审计日志 来识别造成高资源负载的应用程序。
    • 减少资源 (例如,私钥,配置映射和副本集) 的数量。 如果集群包含大量资源,那么查询可能会导致主节点超负荷。 使用 kubectl get raw 命令可按计数查找排名靠前的资源。 例如,运行
        kubectl get --raw /metrics | grep ^apiserver_storage_objects | sort -n -k2
        ```
    
  • 对于列出的每种资源,我们建议每个节点不要超过250个计数。 例如,一个标准的3节点集群不应超过750个资源。

  • 为主节点请求更高的资源限制。 如需提高限额,请 开立支持票据 并说明理由。 按集群对请求进行复审和授予。

  • 在主控制平面中不执行任何操作,并冒未来性能和功能问题的风险。