【发布时间】:2019-10-05 02:08:48
【问题描述】:
所以在 GKE 上,我有一个 Node.js app,每个 pod 都使用它:CPU(cores): 5m, MEMORY: 100Mi
但是,我只能为每个节点部署 1 个 pod。我正在使用 GKE n1-standard-1 集群,每个节点都有 1 vCPU, 3.75 GB。
因此,为了获得总共 2 个 app 的 pod = CPU(cores): 10m, MEMORY: 200Mi,它需要另一个完整的 +1 节点 = 2 个节点 = 2 vCPU, 7.5 GB 才能使其工作。如果我尝试将这 2 个 pod 部署在同一个节点上,我会收到 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>
【问题讨论】:
-
也许您可以添加部署文件的示例。您是否有任何资源限制配置,例如 cpu 限制?也许您应该尝试将请求设置为所需的数量。在这里阅读更多:kubernetes.io/docs/concepts/configuration/…
-
您也可以查看“kubectl describe node NODE_NAME”,尤其是“可分配”资源。
-
这是解决方案的一部分:github.com/kubernetes/kubernetes/issues/…
标签: node.js kubernetes google-cloud-platform google-kubernetes-engine