我有6个谷歌节点与单核和kube系统pods需要太多的CPU .
default scylla-2 200m (21%) 500m (53%) 1Gi (38%) 1Gi (38%)
kube-system fluentd-gcp-v2.0.9-p9pvs 100m (10%) 0 (0%) 200Mi (7%) 300Mi (11%)
kube-system heapster-v1.4.3-dcd99c9f8-n6wb2 138m (14%) 138m (14%) 301856Ki (11%) 301856Ki (11%)
kube-system kube-dns-778977457c-gctgs 260m (27%) 0 (0%) 110Mi (4%) 170Mi (6%)
kube-system kube-dns-autoscaler-7db47cb9b7-l9jhv 20m (2%) 0 (0%) 10Mi (0%) 0 (0%)
kube-system kube-proxy-gke-scylla-default-pool-f500679a-7dhh 100m (10%) 0 (0%) 0 (0%) 0 (0%)
kube-system kubernetes-dashboard-6bb875b5bc-n4xsm 100m (10%) 100m (10%) 100Mi (3%) 300Mi (11%)
kube-system l7-default-backend-6497bcdb4d-cncr4 10m (1%) 10m (1%) 20Mi (0%) 20Mi (0%)
kube-system tiller-deploy-dccdb6fd9-7hd2s 0 (0%) 0 (0%) 0 (0%) 0 (0%)
是否有简单的方法可以在10次内降低所有kube系统pod的CPU请求/限制?
我知道需要内存才能正常运行,但可以在开发环境中降低CPU而不会出现任何重大问题 . 如果DNS工作速度慢10倍会怎么样?单系统dns pod的27%节点太多了 .
2 回答
作为peer the documentation要指定Container的CPU请求,请在Container的资源清单中包含 resources:requests 字段 . 要指定CPU限制,请包括 resources:limits 参见下面的示例:
GCP Kubernetes中的一个cpu相当于:1 GCP Core . Pod的CPU限制是Pod中所有容器的CPU限制的总和 .
Pod调度基于请求 . 仅当节点具有足够的CPU资源来满足Pod的CPU请求时,才会计划在节点上运行Pod .
您可以创建默认cpu-request-limit manifest并将其应用于kube-system命名空间:
现在,如果在kube-system命名空间中创建了Container,并且Container没有为CPU请求和CPU限制指定自己的值,则会为Container提供默认CPU请求0.5和默认CPU限制1 .
https://kubernetes.io/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace/#create-a-limitrange-and-a-pod