Сколько модулей для запуска одного узла Kubernetes в Google Kubernetes Engine? - PullRequest
0 голосов
/ 28 ноября 2018

У меня есть несколько приложений / служб Node.js, работающих на Google Kubernetes Engine (GKE), на самом деле работает 8 модулей.Я не устанавливал лимит ресурсов при создании модулей, поэтому теперь я получаю сообщение о незапланированной ошибке ЦП.

Я понимаю, что должен установить ограничения на ресурсы.Из того, что я знаю, 1 CPU / Node = 1000Mi?У меня вопрос:

1) какой идеальный лимит ресурсов я должен установить?Как минимум?для стручка, который используется редко, могу ли я установить 20Mi?или 50Ми?

2) Сколько стручков идеально подходит для работы на одном узле Kubernetes?Сейчас у меня настроено 2 узла, которые я хочу уменьшить до 1.

3) что люди используют в производстве?и для разработки Cluster?

Вот мои Узлы

Узел 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 узел.

1 Ответ

0 голосов
/ 28 ноября 2018

Согласно официальной документации kubernetes

1) Вы можете уменьшить объем памяти и ЦП, но вам нужно выделить достаточно ЦП и памяти для модулей для правильной работы.Я опустился до CPU 100 и Memory 200 (Это сильно зависит от того, какое приложение вы используете, и от количества реплик)

2) There should not be 100 pods per node (это крайний случай)

3) Производственный кластер ни в коем случае не состоит из одного узла.Это очень хорошее чтение около kubernetes в производстве

Но имейте в виду, что если вы увеличите количество pod на одном узле, вам может потребоваться увеличить размер (in terms of resources)узла.

Использование памяти и ЦП имеет тенденцию пропорционально расти в зависимости от размера / нагрузки на кластер

Вот официальная документация с указанием требований

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...