簡體   English   中英

GKE針對小型Node.js應用程序窗口的CPU不足

[英]GKE Insufficient CPU for small Node.js app pods

所以在GKE上我有一個Node.js app ,每個pod使用的: CPU(cores): 5m, MEMORY: 100Mi

但是我只能為每個節點部署一個pod。 我使用的是GKE n1-standard-1集群,每個節點有1 vCPU, 3.75 GB

因此,為了獲得2個app總數= CPU(cores): 10m, MEMORY: 200Mi ,它需要另外整個+1節點= 2個節點= 2 vCPU, 7.5 GB才能使其工作。 如果我嘗試在同一個節點上部署這兩個pod,我的insufficient CPU錯誤就會insufficient CPU

我有一種感覺,我實際上應該能夠在f1-micro (1個vCPU,0.6 GB)或f1-small (1個vCPU,1.7 GB)的1個節點上運行一些pod復制品(如3個復制品和更多復制品),並且我在這里過度供應,浪費我的錢。

但我不確定為什么我看起來因insufficient CPU而受到限制。 我需要更改一些配置嗎? 任何指導將不勝感激。


Allocatable:
 cpu:                940m
 ephemeral-storage:  47093746742
 hugepages-2Mi:      0
 memory:             2702216Ki
 pods:               110
Non-terminated Pods:         (7 in total)
  Namespace                  Name                                                CPU Requests  CPU Limits  Memory Requests  Memory Limits
  ---------                  ----                                                ------------  ----------  ---------------  -------------
  default                    mission-worker-5cf6654687-fwmk4                     100m (10%)    0 (0%)      0 (0%)           0 (0%)
  default                    mission-worker-5cf6654687-lnwkt                     100m (10%)    0 (0%)      0 (0%)           0 (0%)
  kube-system                fluentd-gcp-v3.1.1-5b6km                            100m (10%)    1 (106%)    200Mi (7%)       500Mi (18%)
  kube-system                kube-dns-76dbb796c5-jgljr                           260m (27%)    0 (0%)      110Mi (4%)       170Mi (6%)
  kube-system                kube-proxy-gke-test-cluster-pool-1-96c6d8b2-m15p    100m (10%)    0 (0%)      0 (0%)           0 (0%)
  kube-system                metadata-agent-nb4dp                                40m (4%)      0 (0%)      50Mi (1%)        0 (0%)
  kube-system                prometheus-to-sd-gwlkv                              1m (0%)       3m (0%)     20Mi (0%)        20Mi (0%)
Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.)
  Resource  Requests     Limits
  --------  --------     ------
  cpu       701m (74%)   1003m (106%)
  memory    380Mi (14%)  690Mi (26%)
Events:     <none>

部署后,使用kubectl describe nodes檢查節點容量。 例如:在答案底部的代碼示例中:

可分配的CPU:1800米

已經被kube-system命名空間中的pod使用:100m + 260m + + 100m + 200m + 20m = 680m

這意味着1800m - 680m = 1120m留給您使用

因此,如果您的pod或pod請求超過1120m cpu,它們將不適合此節點

因此,為了獲得2個應​​用程序總數= CPU(核心):10米,MEMORY:200Mi,它需要另外整個+1節點= 2個節點= 2個vCPU,7.5 GB才能使其工作。 如果我嘗試在同一個節點上部署這兩個pod,我的CPU錯誤就會不足。

如果您進行上述練習,您將找到答案。 如果你的pod有足夠的CPU使用,你仍然沒有足夠的CPU錯誤,檢查你是否正在設置cpu請求並正確限制params。 看到這里

如果你做了以上所有,仍然是一個問題。 然后,我認為在你的情況下,可能發生的是你為你的節點應用程序分配5-10m cpu,這是太少的CPU分配。 嘗試增加可能是50米CPU。

我有一種感覺,我實際上應該能夠在f1-micro(1個vCPU,0.6 GB)或f1-small(1個vCPU,1.7 GB)的1個節點上運行一些pod復制品(如3個復制品和更多復制品),並且我在這里過度供應,浪費我的錢。

再次,做上面描述的練習得出結論

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%)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM