224. GKE的節點上限
WHY
最近同事在搞壓力測試,
然後他就突然跟我說,欸,我的pod起不來。
看了一下,發現ip 應該是還夠的啊,怎麼會噴 scale.up.error.ip.space.exhausted
How
因為GKE會根據每個node上,所設定的最大pod數量,
以及pod的CIDR範圍,來計算你這個cluster可以開到幾個node。
ref.組態每個節點的 Pod 數上限
文章的最後有寫到,
如果您將默認最大 Pod 數設定為
110
並將 Pod 的次要 IP 地址範圍設定為/21
,Kubernetes 會為叢集中的節點分配/24
CIDR 範圍。這允許叢集中最多有= = 8 個節點。
我的最大pod數為110
,次要IP範圍也是/21
,
所以node開到8個,就達到上限了。
然後,為什麼kubernetes替叢集的節點分配的範圍是 /24
。
要往下看表格。
每個節點的最大 Pod 數量 | 每個節點的 CIDR 範圍 | IP 地址數量 |
---|---|---|
8 | /28 | 16 |
9 - 16 | /27 | 32 |
17 - 32 | /26 | 64 |
33 - 64 | /25 | 128 |
65 - 128 | /24 | 256 |
129 - 256 | /23 | 512 |
假設最大pod數是64,那最大節點數則是
Solution
後來才知道原因,當時有其他案子在手中,沒空查原因。
但當下直接加大機器規格,減少node的數量。
或者直接在vpc上面增加新的pod range,應該也是可以的。