k8s中是如何計算pod的計算資源(cpu和內存)的requests和limits值的?

1、結論

 

對於pod來說,cpu和內存的requests和limits的值,等於pod中所有容器的requests和limits的值的總和。

 

具體來說:

  • pod的requests的大小,等於所有的容器的requests的大小的和,如果某個容器沒有設置requests,則這個值是0.
  • pod的limits的值的大小,等於所有容器的limits的值的大小的和,如果某個容器沒有設置limits,則這個值是0.

 

2、實驗驗證

 

  • 查看某個pod的資源設置
kubectl get pod -n yonbip dev-am-manage-65c7497b7d-d8h7b -o yaml

 

此時,pod中只有一個容器。

 

  • 查看pod所在的主機

 

  • 然後,查看主機的資源情況
    kubectl describe nodes node-tr4lbi5hw7uwapyy 

     

通過這個查詢結果,可以看到,pod中cpu和內存的requests和limits的設置:

  • cpu的requests:100m
  • cpu的limits:1
  • 內存的request:1Gi
  • 內存的limits:2Gi

 

  • 在這個pod中,增加一個容器,並且設置資源限制的參數

  • 待容器運行後,查看pod級別資源的設置

 

通過以上的查詢結果,可以知道pod的requests和limits值的設置如下:

  • cpu requests:300m
  • cpu limits:2
  • memory requests:2Gi
  • memory limits:5Gi

 

得到的結果,正好是pod中兩個容器對應的資源的和。

 

實驗的驗證結果和上面的結論是一致的。

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