2015-10-28 95 views
6

我想保持核心數量在我的GKE集羣低於3如果K8S複製控制器和豆莢的CPU限制從百米最多50米淪落至此變得更加可行。否則,K8s吊艙單獨佔用一個核心的70%。如何減少kubernetes系統資源的CPU限制?

我決定不增加節點的CPU功率。這在我看來在概念上是錯誤的,因爲CPU限制被定義爲在覈心中測量。相反,我做了以下內容:

  • 與「50m」表示一個版本替換limitranges /限制默認CPU限制(沒有必要的,但在我看來更清潔)
  • 修補的KUBE-系統的所有複製控制器命名空間使用50米所有容器
  • 刪除其豆莢
  • 與版本替換的KUBE-系統命名空間中所有非RC莢使用50米所有容器

這是一個大量的工作並可能脆弱。即將到來的K8版本的任何進一步變化,或者GKE配置的變化,都可能會使其失效。

那麼,有沒有更好的辦法?

回答

3

更改默認命名空間的LimitRange spec.limits.defaultRequest.cpu應該是不斷變化的新吊艙默認的合法的解決方案。請注意,LimitRange對象是命名空間的,所以如果你使用額外的命名空間,你可能想要考慮一個合理的默認值是什麼。

正如你指出,這不會影響到KUBE-系統命名空間存在的物體或物體。

在KUBE系統命名空間中的對象大多尺寸憑經驗 - 根據所觀察到的值。改變這些可能會產生不利影響,但如果您的集羣非常小,則可能不會。

我們有一個開放的問題(https://github.com/kubernetes/kubernetes/issues/13048)調整基於總簇大小的KUBE-系統的請求,但不是尚未實現。我們還有另一個未解決的問題(https://github.com/kubernetes/kubernetes/issues/13695),可能會對某些kube系統資源使用較低的QoS,但同樣尚未實施。

這些,我覺得#13048是實現你在問什麼正確的方式。就目前而言,答案是「有沒有更好的辦法」,可悲的是「不」。我們選擇默認值中型集羣 - 你可能需要做你正在做什麼非常小的集羣。