如何使用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
- 如何全域性的使用 Vagrant 命令啟動 Homestead
- Linux啟動mysql命令LinuxMySql
- nginx啟動,停止命令Nginx
- win10啟動項命令怎麼操作_win10啟動項命令如何編輯Win10
- 3.1.5.5 啟動例項到限制模式模式
- nginx啟動命令和停止命令。Nginx
- Linux如何透過命令重新啟動服務?Linux
- jar架包啟動命令JAR
- Linux常用軟體啟動、停止、重啟命令Linux
- systemctl 命令在 Linux 中啟動、停止和重新啟動服務Linux
- 怎麼啟動 VIM?14 個 VIM 啟動引數和啟動方法詳解
- Linux使用Ambari啟動服務啟動失敗Linux
- 在linux下啟動tomcat命令LinuxTomcat
- 檢視程序的啟動命令
- Nginx啟動,重啟以及基本命令詳解!Nginx
- windows啟動管理器未能啟動如何解決Windows
- 如何啟動Redis ManagerRedis
- uboot如何啟動核心boot
- CentOS如何啟動PostgreSQLCentOSSQL
- Nginx的常用命令(啟動重啟停止等)Nginx
- win10快速啟動怎麼改正常啟動_win10快速啟動設定為正常啟動如何操作Win10
- 命令啟動android studio 模擬器Android
- [譯] 如何手動啟動 Angular 程式Angular
- 如何收集pod重啟前現場
- 如何用命令列模式啟動VMWare虛擬機器命令列模式虛擬機
- SpringBootApplication是如何啟動Tomcat的? | 破解SpringBoot Tomcat啟動之謎 !Spring BootAPPTomcat
- Linux中如何啟動程式?啟動程式的方法是什麼?Linux
- 專案應如何啟動?
- flutter 啟動螢幕使用 Lottie 動畫Flutter動畫
- spring boot學習(4): 命令列啟動Spring Boot命令列
- windows下命令列啟動tika的方法Windows命令列
- MySQL啟動和關閉命令總結MySql
- windows下 power shell啟動,呼叫ssh命令Windows
- Linux安裝Nginx並配置啟動命令LinuxNginx
- kubelet 建立 Pod 前發生了什麼?
- 11.2.0.1.0 RAC啟動使用root使用者啟動crs報錯CRS-4535