
1Node節點預設的 Pod 數量
Kubernetes Node節點每個預設允許最多建立110個Pod,有時可能會由于系統硬體的問題,進而需要控制Node節點的Pod的運作數量。
即:需要調整Node節點的最大可運作Pod數量。
一般來說,我們隻需要在 kubelet 啟動指令中增加
--max-pods
參數,然後,重新開機 kubelet 服務,就生效。
重新開機 kubelet,不影響現有運作中的容器,不會造成容器重新開機。
2修改限制 Pod 啟動數量
可以看到,叢集目前有 3 台 Node 節點,且最大可運作Pod數量均為預設值:110。
接下來,我們來修改該參數值。
修改
- 登入 Node 節點,檢視kubelet啟動檔案路徑
[root@VM-2-8-centos ~]# systemctl status kubelet
從上圖可以看到,kubelet 的啟動檔案為
/usr/lib/systemd/system/kubelet.service
- 檢視 systemd 啟動檔案
可以看到,Environment 檔案是引用
/etc/kubernetes/kubelet
,至此,我們隻需要在
/etc/kubernetes/kubelet
中增加
max-pods
的變量,然後在
/usr/lib/systemd/system/kubelet.service
中,将變量添加到啟動參數後即可。
- 修改 /etc/kubernetes/kubelet
強烈建議,在修改
Pod
數量的時候,如果是縮減(目前運作70個Pod,所見到20個),強烈建議先把
Node
上的
Pod
驅散,等驅散完了在重新開機,最後在激活Node。
[root@VM-2-8-centos ~]# vim /etc/kubernetes/kubelet
# 增加
MAX_PODS="--max-pods=61"
- 修改
/usr/lib/systemd/system/kubelet.service
注意:必須在啟動指令後加入該變量,才可以使剛才定義的
--max-pods=61
生效。
- 重新開機 kubelet
[root@VM-2-8-centos ~]# systemctl daemon-reload
[root@VM-2-8-centos ~]# systemctl restart kubelet
檢視修改結果
可以看到,已經完成修改的節點的最大可排程 Pod 數量已經調整為 61。配置生效。
3建立監控視圖
在這裡,我們可以部署 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)