在Google Kubernetes引擎中运行单个Kubernete节点需要多少个Pod



我有多个Node.js应用程序/服务在Google Kubernetes Engine(GKE(上运行,实际上有8个pod在运行。我在创建pod时没有设置资源限制,所以现在我遇到了CPU非计划错误。

我知道我必须设置资源限制。据我所知,1 CPU/节点=1000Mi?我的问题是,

1( 我应该设置的理想资源限制是多少?喜欢最低限度吗?对于一个很少使用的Pod,我可以设置20Mi吗?还是50Mi?

2( 在一个Kubernetes节点上运行多少个Pod是理想的?现在我已经设置了2个节点,我想将其减少到1。

3( 人们在生产中使用什么?以及发展集群?

这是我的节点

节点1:

Namespace                  Name                                                    CPU Requests  CPU Limits  Memory Requests  Memory Limits
---------                  ----                                                    ------------  ----------  ---------------  -------------
default                    express-gateway-58dff8647-f2kft                         100m (10%)    0 (0%)      0 (0%)           0 (0%)
default                    openidconnect-57c48dc448-9jmbn                          100m (10%)    0 (0%)      0 (0%)           0 (0%)
default                    web-78d87bdb6b-4ldsv                                    100m (10%)    0 (0%)      0 (0%)           0 (0%)
kube-system                event-exporter-v0.1.9-5c8fb98cdb-tcd68                  0 (0%)        0 (0%)      0 (0%)           0 (0%)
kube-system                fluentd-gcp-v2.0.17-mhpgb                               100m (10%)    0 (0%)      200Mi (7%)       300Mi (11%)
kube-system                kube-dns-5df78f75cd-6hdfv                               260m (27%)    0 (0%)      110Mi (4%)       170Mi (6%)
kube-system                kube-dns-autoscaler-69c5cbdcdd-2v2dj                    20m (2%)      0 (0%)      10Mi (0%)        0 (0%)
kube-system                kube-proxy-gke-qp-cluster-default-pool-7b00cb40-6z79    100m (10%)    0 (0%)      0 (0%)           0 (0%)
kube-system                kubernetes-dashboard-7b89cff8-9xnsm                     50m (5%)      100m (10%)  100Mi (3%)       300Mi (11%)
kube-system                l7-default-backend-57856c5f55-k9wgh                     10m (1%)      10m (1%)    20Mi (0%)        20Mi (0%)
kube-system                metrics-server-v0.2.1-7f8dd98c8f-5z5zd                  53m (5%)      148m (15%)  154Mi (5%)       404Mi (15%)
Allocated resources:
(Total limits may be over 100 percent, i.e., overcommitted.)
CPU Requests  CPU Limits  Memory Requests  Memory Limits
------------  ----------  ---------------  -------------
893m (95%)    258m (27%)  594Mi (22%)      1194Mi (45%)

节点2:

Namespace                  Name                                                    CPU Requests  CPU Limits  Memory Requests  Memory Limits
---------                  ----                                                    ------------  ----------  ---------------  -------------
default                    kube-healthcheck-55bf58578d-p2tn6                       100m (10%)    0 (0%)      0 (0%)           0 (0%)
default                    pubsub-function-675585cfbf-2qgmh                        100m (10%)    0 (0%)      0 (0%)           0 (0%)
default                    servicing-84787cfc75-kdbzf                              100m (10%)    0 (0%)      0 (0%)           0 (0%)
kube-system                fluentd-gcp-v2.0.17-ptnlg                               100m (10%)    0 (0%)      200Mi (7%)       300Mi (11%)
kube-system                heapster-v1.5.2-7dbb64c4f9-bpc48                        138m (14%)    138m (14%)  301656Ki (11%)   301656Ki (11%)
kube-system                kube-dns-5df78f75cd-89c5b                               260m (27%)    0 (0%)      110Mi (4%)       170Mi (6%)
kube-system                kube-proxy-gke-qp-cluster-default-pool-7b00cb40-9n92    100m (10%)    0 (0%)      0 (0%)           0 (0%)
Allocated resources:
(Total limits may be over 100 percent, i.e., overcommitted.)
CPU Requests  CPU Limits  Memory Requests  Memory Limits
------------  ----------  ---------------  -------------
898m (95%)    138m (14%)  619096Ki (22%)   782936Ki (28%)

我的计划是将所有这些移动到1个节点中。

根据kubernetes官方文档

1( 你可以在内存和CPU方面降低,但你需要给pod足够的CPU和内存才能正常工作。我的CPU 100和内存200都很低(这在很大程度上取决于你运行的应用程序以及副本的数量(

2(There should not be 100 pods per node(这是极端情况(

3( 生产集群在任何情况下都不是单个节点。这是一本关于生产中的kubernetes的非常好的读物

但请记住,如果增加单个节点上pod的数量,则可能需要增加节点的大小(in terms of resources(。

内存和CPU使用率往往与集群上的大小/负载成比例增长

这是说明要求的官方文件

https://kubernetes.io/docs/setup/cluster-large/

最新更新