如何使用kubelet 啟動命令限制Pod 啟動數量?

大雄45發表於2022-04-28
導讀 一般來說,我們只需要在 kubelet 啟動 中增加 --max-pods 引數,然後,重啟 kubelet 服務,就生效。

如何使用kubelet 啟動命令限制Pod 啟動數量?如何使用kubelet 啟動命令限制Pod 啟動數量?

一.Node節點預設的 Pod 數量

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

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

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

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

二. 修改限制 Pod 啟動數量

如何使用kubelet 啟動命令限制Pod 啟動數量?如何使用kubelet 啟動命令限制Pod 啟動數量?

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

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

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

如何使用kubelet 啟動命令限制Pod 啟動數量?如何使用kubelet 啟動命令限制Pod 啟動數量?

[root@VM-2-8-centos ~]# systemctl status kubelet

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

2.檢視 systemd 啟動檔案

如何使用kubelet 啟動命令限制Pod 啟動數量?如何使用kubelet 啟動命令限制Pod 啟動數量?

可以看到,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。

[root@VM-2-8-centos ~]# vim /etc/kubernetes/kubelet

# 增加

MAX_PODS="--max-pods=61"

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

如何使用kubelet 啟動命令限制Pod 啟動數量?如何使用kubelet 啟動命令限制Pod 啟動數量?

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

5.重啟 kubelet

[root@VM-2-8-centos ~]# systemctl  daemon-reload
[root@VM-2-8-centos ~]# systemctl restart kubelet

檢視修改結果

如何使用kubelet 啟動命令限制Pod 啟動數量?如何使用kubelet 啟動命令限制Pod 啟動數量?

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

三. 新建監控檢視

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

PromQL:

sum(kubelet_running_pod_count{node=~"$node"}) by (cluster, node) / sum(kube_node_status_allocatable_pods{node=~"$node"}) by (cluster, node)

效果展示:

如何使用kubelet 啟動命令限制Pod 啟動數量?如何使用kubelet 啟動命令限制Pod 啟動數量?

原文來自:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2889150/,如需轉載,請註明出處,否則將追究法律責任。

相關文章