答案1
在這種情況下,一切都按預期進行。我猜你錯過了關於 的資訊Eviction threshold
。
Allocatable
Capacity
是減去Reserved
和的值Eviction Threshold
。
在GKE
文件中節點可分配資源您可以找到有關資源分配的資訊。
運行
GKE
Kubernetes 節點元件需要節點的一些資源,這些元件是使該節點作為cluster
.因此,您可能會注意到節點的總資源(如機器類型文件中指定)allocatable
與GKE
.由於較大的機器類型往往會運作較多(進而延伸出較多的 Pod),因此為較大機器保留的containers
資源量會向上擴展。還需要比典型的。節點需要額外的資源來運行 Windows 作業系統以及無法在容器中執行的 Windows Server 元件。GKE
Kubernetes components
Windows Server nodes
more resources
Linux node
若要檢查叢集中可用的節點可分配資源,請執行下列命令:
$ kubectl describe node ${NodeName} | grep Allocatable -B 7 -A 6
傳回的輸出包含容量和可分配欄位以及暫存、記憶體和 CPU 的測量值。
如果您將滾動向下一點可分配的記憶體和CPU資源您將了解到可分配資源的計算方式如下:
Allocatable = Capacity - Reserved - Eviction Threshold
對於記憶體資源,GKE 保留以下內容:
- 對於內存小於 1 GB 的計算機,255 MiB 內存
- 前 4GB 記憶體的 25%
- 接下來 4GB 記憶體的 20%(最多 8GB)
- 接下來 8GB 記憶體的 10%(最高 16GB)
- 接下來的 112GB 記憶體(最高 128GB)的 6%
- 128GB 以上記憶體的 2%