Azure Kubernetes Service (AKS) 中的節點資源保留

在本文中,您將瞭解 Azure Kubernetes Service (AKS) 中的節點資源保留。

資源保留

AKS 會使用節點資源來協助節點作為叢集的一部分運作。 此使用方式可能會導致節點的總資源與 AKS 中可指派的資源不一致。

AKS 會在每個節點上保留兩種類型的資源,CPU 和 記憶體,以維護節點效能和功能。 隨著節點資源增加,資源保留也會因為管理使用者部署的 Pod 需要更高而增加。 請記住,您無法變更節點上的資源保留。

CPU 保留

保留的 CPU 取決於節點類型和叢集組態,這可能會導致因執行額外功能而減少可配置 CPU。 下表顯示 CPU 保留項目,以 millicores 為單位:

主機上的 CPU 核心 單核心 2 個核心 4 個核心 8 核心 16 核心 32 個核心 64 個核心
Kube 保留的 CPU (毫核心) 60 100 140 180 260 420 740

記憶體保留

在 AKS 中,保留的記憶體是由兩個值的總和所組成:

AKS 1.29 和更新版本

  • 預設情況下,kubeletdaemon 設有 memory.available < 100 Mi 驅逐規則。 此規則可確保節點隨時至少有 100 Mi 可配置。 當主機低於該可用記憶體閾值時,kubelet 會觸發其中一個執行中 Pod 的終止,並釋放主機電腦上的記憶體。

  • 記憶體保留率,依據 20 MB * 節點支持的最大 Pod 數 + 50 MB 或 總系統記憶體資源的 25% 兩者之間較小的值來設定。

    範例:

    • 如果虛擬機器 (VM) 提供 8 GB 的記憶體,且節點最多支援 30 個 Pod,則 AKS 會保留 20 MB * 30 個 Pod 上限 + 50 MB = 650 MB 給 kube-reserved。 Allocatable space = 8 GB - 0.65 GB (kube-reserved) - 0.1 GB (eviction threshold) = 7.25 GB or 90.625% allocatable.
    • 如果 VM 提供 4 GB 的記憶體,且節點支援最多 70 個 Pod,AKS 會保留 25% * 4 GB = 1000 MB 供 kube 保留使用,因為其小於 20 MB * 70 Max Pods + 50 MB = 1450 MB。

    如需詳細資訊,請參閱在 AKS 叢集中設定每個節點的最大 Pod 數。

注意

若要自訂 kubeReserved CPU 與記憶體值,或 hardEvictionThreshold 在 Linux 節點池上,請使用預覽自訂節點設定並註冊 AKSNodeCustomizationPreview 功能標誌。 欲了解更多資訊,請參閱 自訂 Azure Kubernetes Service (AKS) 節點集區的節點組態。

1.29 之前的 AKS 版本

  • kubelet 精靈預設具有 memory.available < 750 Mi 收回規則。 此規則可確保節點隨時至少有 750 Mi 可配置。 當主機低於該可用的記憶體閾值時,kubelet 會觸發其中一個執行中的 Pod 終止,並在主電腦上釋放記憶體。
  • kubelet 精靈正常運作 (kube-reserved) 所需的記憶體保留遞減率。
    • 前 4 GB 記憶體的 25%
    • 後續 4 GB 記憶體 (最多 8 GB) 的 20%
    • 後續 8 GB 記憶體 (最多 16 GB) 的 10%
    • 後續 112 GB 記憶體 (最多 128 GB) 的 6%
    • 超過 128 GB 的任何記憶體的 2%

注意

AKS 會為不屬於計算記憶體之 Windows 節點中的系統進程保留額外的 2 GB。

記憶體和 CPU 配置規則的設計目的是:

  • 讓 Agent 節點保持良好狀態,包括部分裝載對叢集健全狀態至關重要之系統 Pod 的節點。
  • 使節點回報的可配置記憶體和 CPU 少於其未加入 Kubernetes 叢集時會回報的數量。

例如,如果節點提供 7 GB,則會回報包含 750 Mi 硬性收回閾值在內的 34% 記憶體不可配置。

0.75 + (0.25*4) + (0.20*3) = 0.75 GB + 1 GB + 0.6 GB = 2.35 GB / 7 GB = 33.57% reserved

除了 Kubernetes 本身的保留,基礎節點作業系統也會保留大量 CPU 和記憶體資源來維護作業系統功能。

如需相關聯的最佳做法,請參閱 AKS 中基本排程器功能的最佳做法。

下一步