GKE CPU不足,无法用于小型Node.js应用程序吊舱

时间:2019-05-17 18:08:23

标签: node.js kubernetes google-cloud-platform google-kubernetes-engine

因此,在GKE上,我有一个Node.js make,每个pod使用约app

但是,每个节点只能部署1个Pod。我正在使用每个节点有CPU(cores): 5m, MEMORY: 100Mi的GKE n1-standard-1集群。

因此,为了使1 vCPU, 3.75 GB的两个Pod总计= app,它需要另一个整个+1节点= 2节点= CPU(cores): 10m, MEMORY: 200Mi才能正常工作。如果尝试在同一单个节点上部署这两个Pod,则会出现2 vCPU, 7.5 GB错误。

我觉得我实际上应该能够在insufficient CPU(1个vCPU,0.6 GB)或f1-micro(1个)的1个节点上运行几个Pod副本(例如3个副本和更多副本)。 vCPU,1.7 GB),而我在这里的配置太高了,浪费了我的钱。

但是我不确定为什么我似乎受到f1-small的限制。我需要更改一些配置吗?任何指导将不胜感激。


insufficient CPU

1 个答案:

答案 0 :(得分:2)

部署后,使用kubectl describe nodes检查节点容量。例如:在答案底部的代码示例中:

可分配的CPU:1800m

kube系统命名空间中的Pod已使用:100m + 260m + + 100m + 200m + 20m = 680m

这意味着还有1800m-680m = 1120m供您使用

因此,如果您的Pod或Pod请求的Cpu超过1120m,则它们将不适合该节点

  

因此,为了获得2个Pod,总计= CPU(内核):10m,内存:   200Mi,则需要另一个完整的+1节点= 2节点= 2 vCPU,7.5 GB   使它工作。如果我尝试将这两个Pod部署在同一单个   节点,我收到的CPU错误不足。

如果执行上述练习,您将找到答案。万一有足够的CPU供您的Pod使用,而您仍然收到不足的CPU错误,请检查您是否设置了CPU请求并正确限制了参数。参见here

如果您执行上述所有操作,仍然是一个问题。然后,我认为在您的情况下,可能会发生的事情是,您为节点应用分配了5-10m cpu,而cpu分配得太少了。尝试将其增加到50m cpu。

  

我觉得我实际上应该可以运行几个吊舱   f1-micro(1个vCPU,0.6)的1个节点上的副本(例如3个副本和更多副本)   GB)或f1-small(1个vCPU,1.7 GB),我的配置空间过大   在这里,浪费我的钱。

再次,执行上述练习以结论

Name:            e2e-test-minion-group-4lw4
[ ... lines removed for clarity ...]
Capacity:
 cpu:                               2
 memory:                            7679792Ki
 pods:                              110
Allocatable:
 cpu:                               1800m
 memory:                            7474992Ki
 pods:                              110
[ ... lines removed for clarity ...]
Non-terminated Pods:        (5 in total)
  Namespace    Name                                  CPU Requests  CPU Limits  Memory Requests  Memory Limits
  ---------    ----                                  ------------  ----------  ---------------  -------------
  kube-system  fluentd-gcp-v1.38-28bv1               100m (5%)     0 (0%)      200Mi (2%)       200Mi (2%)
  kube-system  kube-dns-3297075139-61lj3             260m (13%)    0 (0%)      100Mi (1%)       170Mi (2%)
  kube-system  kube-proxy-e2e-test-...               100m (5%)     0 (0%)      0 (0%)           0 (0%)
  kube-system  monitoring-influxdb-grafana-v4-z1m12  200m (10%)    200m (10%)  600Mi (8%)       600Mi (8%)
  kube-system  node-problem-detector-v0.1-fj7m3      20m (1%)      200m (10%)  20Mi (0%)        100Mi (1%)
Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.)
  CPU Requests    CPU Limits    Memory Requests    Memory Limits
  ------------    ----------    ---------------    -------------
  680m (34%)      400m (20%)    920Mi (12%)        1070Mi (14%)