这是一个已创建要在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
答案 0 :(得分:1)
您可以“ kubectl描述”您的pod,并查看分配了哪些实际资源。借助LimitRange,Kubernetes可以为pod分配默认请求和限制(如果不是其规范的一部分)。
如果未分配请求/限制-您的pod的服务质量将达到Best Effort,如果节点上的资源紧张,则可以将其驱逐。
答案 1 :(得分:1)
您可以按照以下步骤获取分配给广告连播的资源限制。
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}'
答案 2 :(得分:1)
如果您未指定资源请求和限制。没有它们,Kubernetes将运行您的工作负载。这意味着您的Pod可能会使用该节点上的所有CPU和RAM。
注意这一点;如果您的命名空间的默认值设置为limitRange
,则默认值将应用于未指定资源规格的工作负载。