為何我的叢集主節點狀態指出它已接近其資源限制?

當叢集主節點的資源限制被達到時,請進行問題排除。

虛擬私有雲 傳統基礎設施

您會看到與下列範例類似的主要狀態。

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。

  • 針對您的主要伺服器要求更高的資源限制。 若要申請更高的限額,請 開啟支援票單 並說明理由。 會根據叢集來檢閱並授與要求。

  • 在主要控制平面中不執行任何動作,並導致未來效能和功能問題的風險。