[英]How Kubernetes knows resource requests and limits?
這是一個已創建要在kubernetes中部署的yaml文件。 我想知道既然文件中沒有資源請求和限制,那么kubernetes如何知道資源請求和限制來運行它? 我如何獲取該信息?
apiVersion: v1
kind: Pod
metadata:
name: rss-site
labels:
app: web
spec:
containers:
- name: front-end
image: nginx
ports:
- containerPort: 80
- name: rss-reader
image: nickchase/rss-php-nginx:v1
ports:
- containerPort: 88
您可以“描述kubectl”您的窗格,並查看分配了哪些實際資源。 借助LimitRange, Kubernetes可以為pod分配默認請求和限制(如果不是其規范的一部分)。
如果沒有分配請求/限制,則您的pod會達到“盡力而為”的服務質量,並且在節點資源緊張的情況下可以被驅逐。
您可以按照以下步驟獲取分配給廣告連播的資源限制。
Create the pod
-------------------
kubectl run test-resource-limits --image=busybox --limits "memory=100Mi" \
--command -- /bin/sh -c "while true; do sleep 2; done"
Test the resource limits that are specified
-------------------------------------------
kubectl get pods test-resource-limits-7b8b46c8c7-jdjgs \
-o=jsonpath='{.spec.containers[0].resources}'
如果您未指定資源請求和限制。 Kubernetes將在沒有它們的情況下運行您的工作負載。 這意味着您的Pod可能會使用節點上的所有CPU和RAM。
請注意; 如果您的命名空間的默認值設置為limitRange
則默認值將應用於未指定資源規格的工作負載。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.