【发布时间】:2019-10-15 18:29:15
【问题描述】:
我正在尝试为 Kubernetes 中的命名空间创建资源配额。在为资源配额编写 yaml 文件时,我应该为 cpu 请求指定什么 - "cpu" 或 "requests.cpu" ?另外,是否有任何官方文档说明两者之间的区别?我浏览了 openshift 文档,其中指定这两者是相同的并且可以互换使用。
【问题讨论】:
标签: kubernetes
我正在尝试为 Kubernetes 中的命名空间创建资源配额。在为资源配额编写 yaml 文件时,我应该为 cpu 请求指定什么 - "cpu" 或 "requests.cpu" ?另外,是否有任何官方文档说明两者之间的区别?我浏览了 openshift 文档,其中指定这两者是相同的并且可以互换使用。
【问题讨论】:
标签: kubernetes
requests.cpu 用于 ResourceQuota,可以在命名空间级别应用。
apiVersion: v1
kind: ResourceQuota
metadata:
name: mem-cpu-demo
spec:
hard:
requests.cpu: "1"
requests.memory: 1Gi
limits.cpu: "2"
limits.memory: 2Gi
在 pod 级别应用 cpu。
apiVersion: v1
kind: Pod
metadata:
name: quota-mem-cpu-demo
spec:
containers:
- name: quota-mem-cpu-demo-ctr
image: nginx
resources:
limits:
memory: "800Mi"
cpu: "800m"
requests:
memory: "600Mi"
cpu: "400m"
更多详情请参考以下链接。
https://kubernetes.io/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace/
【讨论】:
如果您遵循 Kubernetes 文档,您可以使用 cpu 表单。
quota中内存或cpu前添加requests或limit的区别如下:https://kubernetes.io/docs/concepts/policy/resource-quotas/#requests-vs-limits
最终结果是相同的,但如果您使用请求或限制,则必须让 pod 中的每个容器都具有指定的那些。
【讨论】: