K8S 性能優化-K8S Node 參數調優

前言

K8S 性能優化系列文章,本文爲第四篇:Kubernetes Node 性能優化參數最佳實踐。

系列文章:

  1. 《K8S 性能優化 - OS sysctl 調優》
  2. 《K8S 性能優化 - K8S APIServer 調優》
  3. 《K8S 性能優化 - 大型集羣 CIDR 配置》

兩個參數

控制可以爲 K8S Node 調度的最大 pod 數量的兩個參數: podsPerCoremaxPods

當兩個參數都被設置時,其中較小的值限制了節點上的 pod 數量。超過這些值可導致:

  • CPU 使用率增加。
  • 減慢 pod 調度的速度。
  • 根據節點中的內存數量,可能出現內存耗盡的問題。
  • 耗盡 IP 地址池。
  • 資源過量使用,導致用戶應用程序性能變差。

⚠️ 重要

在 Kubernetes 中,包含單個容器的 pod 實際使用兩個容器。第二個容器用來在實際容器啓動前設置聯網(pause)。因此,運行 10 個 pod 的系統實際上會運行 20 個容器。

podsPerCore 根據節點中的處理器內核數來設置節點可運行的 pod 數量。例如:在一個有 4 個處理器內核的節點上將 podsPerCore 設爲 10 ,則該節點上允許的最大 pod 數量爲 40。

kubeletConfig:
  podsPerCore: 10

podsPerCore 設置爲 0 可禁用這個限制。默認爲 0podsPerCore 不能超過 maxPods

maxPods 把節點可以運行的 pod 數量設置爲一個固定值,而不需要考慮節點的屬性。

 kubeletConfig:
    maxPods: 250

EOF

三人行, 必有我師; 知識共享, 天下爲公. 本文由東風微鳴技術博客 EWhisper.cn 編寫.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章