引用自
documentation
:
节点可分配资源
笔记
运行Kubernetes引擎需要一些节点的资源,以及使该节点作为集群的一部分运行所需的Kubernetes资源。因此,您可能会注意到节点的总资源(如机器类型文档中指定的)与Kubernetes引擎中节点的可分配资源之间存在差异
笔记
:随着较大的机器类型倾向于运行更多的容器(扩展为Kubernetes吊舱),对于较大的机器,Kubernetes引擎为集群进程保留的资源量会向上扩展。
小心
:在1.7.6之前的Kubernetes引擎节点版本中,保留资源未计入节点的总可分配资源。
如果您的节点最近升级到了版本1.7.6,那么它们的可用资源可能会更少,因为Kubernetes引擎现在显示可分配的资源。这可能会导致集群的节点过度提交,因此您可能需要调整集群的大小。
例如,执行一些可以双重检查的测试:
Machine type Memory(GB) Allocatable(GB) CPU(cores) Allocatable(cores)
g1-small 1.7 1.2 0.5 0.47
n1-standard-1 (default) 3.75 2.7 1 0.94
n1-standard-2 7.5 5.7 2 1.93
n1-standard-4 15 12 4 3.92
n1-standard-8 30 26.6 8 7.91
n1-standard-16 60 54.7 16 15.89
笔记
:为可分配资源列出的值不考虑kube system pods使用的资源,其数量随Kubernetes版本的不同而变化。这些系统吊舱通常在每个节点上额外占用400m CPU和400mi内存(值为近似值)。如果需要对每个节点上的可用资源进行准确的统计,建议您直接检查集群。
更新
Kubernetes文档中也有关于为什么使用这些资源的官方解释:
kube reserved旨在捕获kubernetes系统守护进程的资源保留,如kubelet、容器运行时、节点问题检测器等。
它不是要为系统守护进程保留资源
作为吊舱运行。kube reserved通常是节点上pod密度的函数。此性能仪表板显示kubelet和docker引擎在多个pod密度级别上的cpu和内存使用情况。这篇博文解释了如何将仪表板解释为提供合适的kube保留预订。
我建议你去thorugh
this
如果您有兴趣了解更多信息,请翻页。