Kubernetes限制節點啟動的Pod數量

語言: CN / TW / HK

Node節點預設的Pod數量

Kubernetes Node節點每個預設允許最多建立110個Pod,有時可能會由於系統硬體的問題,從而需要控制Node節點的Pod的執行數量。

即:需要調整Node節點的最大可執行Pod數量。

一般來說,我們只需要在kubelet啟動命令中增加–max-pods引數,然後,重啟kubelet 服務,就生效。

重啟kubelet,不影響現有執行中的容器,不會造成容器重啟。

修改限制Pod啟動數量

可以看到,叢集當前有3臺Node節點,且最大可執行Pod數量均為預設值:110。

接下來,我們來修改該引數值。

修改

1、登入 Node 節點,檢視kubelet啟動檔案路徑

[[email protected] ~]# systemctl status kubelet

從上圖可以看到,kubelet 的啟動檔案為/usr/lib/systemd/system/kubelet.service

2、檢視 systemd 啟動檔案

可以看到,Environment檔案是引用/etc/kubernetes/kubelet,至此,我們只需要在/etc/kubernetes/kubelet中增加max-pods的變數,然後在/usr/lib/systemd/system/kubelet.service中,將變數新增到啟動引數後即可。

3、修改/etc/kubernetes/kubelet

強烈建議,在修改Pod數量的時候,如果是縮減(當前執行70個Pod,所見到20個),強烈建議先把Node上的Pod驅散,等驅散完了在重啟,最後在啟用Node。

[[email protected] ~]# vim /etc/kubernetes/kubelet  
# 增加  
MAX_PODS="--max-pods=61"

4、修改/usr/lib/systemd/system/kubelet.service

注意:必須在啟動命令後加入該變數,才可以使剛才定義的–max-pods=61生效。

5、重啟kubelet

[[email protected] ~]# systemctl  daemon-reload  
[[email protected] ~]# systemctl restart kubelet

檢視修改結果

可以看到,已經完成修改的節點的最大可排程Pod數量已經調整為61。配置生效。

新建監控檢視

在這裡,我們可以部署Prometheus + Grafana,配置監控檢視,更好的體現叢集中節點的 Pod 分配率。

PromQL:

sum(kubelet_running_po\_count{node=~"node"}) by (cluster, node) / sum(kube_node_status_allocatable_pods{node=~"node"}) by (cluster, node)

效果展示:

原文連結:https://juejin.cn/post/6997242322769412127

本文連結:http://www.yunweipai.com/40778.html