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中兩個容器對應的資源的和。
實驗的驗證結果和上面的結論是一致的。