如何使用kubelet 啟動命令限制Pod 啟動數量?
導讀 | 一般來說,我們只需要在 kubelet 啟動 中增加 --max-pods 引數,然後,重啟 kubelet 服務,就生效。 |
Kubernetes Node節點每個預設允許最多建立110個Pod,有時可能會由於系統硬體的問題,從而需要控制Node節點的Pod的執行數量。
即:需要調整Node節點的最大可執行Pod數量。
一般來說,我們只需要在 kubelet 啟動 中增加 --max-pods 引數,然後,重啟 kubelet 服務,就生效。
重啟 kubelet,不影響現有執行中的容器,不會造成容器重啟。
可以看到,叢集當前有 3 臺 Node 節點,且最大可執行Pod數量均為預設值:110。
接下來,我們來修改該引數值。
1.登入 Node 節點,檢視kubelet啟動檔案路徑
[root@VM-2-8-centos ~]# 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。
[root@VM-2-8-centos ~]# vim /etc/kubernetes/kubelet
# 增加
MAX_PODS="--max-pods=61"
4.修改 /usr/lib/systemd/system/kubelet.service
注意:必須在啟動命令後加入該變數,才可以使剛才定義的 --max-pods=61 生效。
5.重啟 kubelet
[root@VM-2-8-centos ~]# systemctl daemon-reload [root@VM-2-8-centos ~]# systemctl restart kubelet
檢視修改結果
可以看到,已經完成修改的節點的最大可排程 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)
效果展示:
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2889150/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- java 啟動命令 java -jar 如何追加引數JavaJAR
- 如何檢視docker run啟動引數命令Docker
- 使用命令啟動OracleOracle
- 如何全域性的使用 Vagrant 命令啟動 Homestead
- Oracle 啟動命令Oracle
- Mongodb啟動命令mongod引數說明MongoDB
- nginx命令:啟動,停止及命令引數詳解Nginx
- nginx啟動,重啟,關閉命令Nginx
- nginx啟動,停止命令Nginx
- win10啟動項命令怎麼操作_win10啟動項命令如何編輯Win10
- 3.1.5.5 啟動例項到限制模式模式
- MongoDB Mongod啟動命令常用引數解釋MongoDB
- nginx啟動命令和停止命令。Nginx
- Linux啟動mysql命令LinuxMySql
- Mac命令列啟動MySQLMac命令列MySql
- jar架包啟動命令JAR
- 怎麼啟動 VIM?14 個 VIM 啟動引數和啟動方法詳解
- 開啟檔案數限制
- Linux如何透過命令重新啟動服務?Linux
- windows啟動管理器未能啟動如何解決Windows
- uboot如何啟動核心boot
- CentOS如何啟動PostgreSQLCentOSSQL
- 如何啟動Redis ManagerRedis
- [IOS]instruments命令列啟動iOS命令列
- 檢視程序的啟動命令
- MongoDB啟動命令mongod引數的詳細解釋MongoDB
- systemctl 命令在 Linux 中啟動、停止和重新啟動服務Linux
- Linux使用Ambari啟動服務啟動失敗Linux
- Linux常用軟體啟動、停止、重啟命令Linux
- Nginx啟動,重啟以及基本命令詳解!Nginx
- 如何在 Linux 啟動時自動執行命令或指令碼Linux指令碼
- 使用RFC啟動ProcesschainAI
- Chrome 啟動引數列表Chrome
- eclipse 啟動引數Eclipse
- win10快速啟動怎麼改正常啟動_win10快速啟動設定為正常啟動如何操作Win10
- [譯] 如何手動啟動 Angular 程式Angular
- [mysqld_safe] 中的引數使用mysqld_safe命令啟動時不生效?MySql
- Nginx的常用命令(啟動重啟停止等)Nginx