VK Cloud logo
Обновлена 15 апреля 2024 г. в 08:50

Доступные вычислительные ресурсы

Шаблоны конфигурации

При создании кластеров Kubernetes можно выбрать различные шаблоны конфигураций виртуальных машин, которые определяют вычислительные ресурсы, доступные узлам кластера. Часть шаблонов доступна сразу, а часть — по запросу в службу поддержки.

Рекомендации по выбору CPU и RAM для кластеров:

  • Для небольших тестовых кластеров: 1 vCPU, 2 или 4 ГБ RAM.

  • Для большинства кластеров: от 2 до 6 vCPU, от 2 до 24 ГБ RAM.

  • Для высокопроизводительных кластеров: от 8 до 16 vCPU, от 8 до 64 ГБ RAM.

По запросу в службу технической поддержки становятся доступны:

  • Шаблоны с высокопроизводительными CPU: от 16 vCPU, от 64 ГБ RAM. Эти процессоры более производительные.

  • Индивидуальные шаблоны конфигурации под особые потребности.

Расчет подходящей конфигурации кластера

Чтобы кластер Kubernetes работал стабильно:

  1. Оцените объем ресурсов, требуемый для планируемой рабочей нагрузки.

  2. Создайте кластер со следующими параметрами:

    • Количество vCPU: на 5-10% больше, чем расчетное количество для планируемой нагрузки.
    • Количество RAM: на 20% больше, чем расчетный объем для планируемой нагрузки.
    • Объём хранилища: на 10% больше, чем планируемый объем данных.
    • Тип хранилища: Ceph SSD или High-IOPS SSD.
    • Количество master-узлов: нечетное число для отказоустойчивой конфигурации (не менее трех).
    • Количество worker-узлов: на 10% больше, чем расчетное количество для планируемой нагрузки.

Расчет доступных вычислительных ресурсов CPU и RAM

На каждом узле в кластере Kubernetes работает агент kubelet. Kubelet, системные процессы и сама операционная система требуют определенного количества ресурсов, то есть не все ресурсы узла доступны для запуска контейнеров.

В большинстве случаев ресурсы CPU резервируются следующим образом:

  • 6% от первого ядра.
  • 1% от второго ядра (до 2 ядер).
  • 0.5% от третьего и четвертого ядра (до 4 ядер).
  • 0.25% от всех ядер выше четырех.

Резервирование памяти обычно устроено так:

  • 25% из первых 4 ГБ памяти.
  • 20% из следующих 4 ГБ (до 8 ГБ).
  • 10% из следующих 8 ГБ (до 16 ГБ).
  • 6% из следующих 112 ГБ (до 128 ГБ).
  • 2% от любой памяти выше 128 ГБ.

В дополнение к зарезервированным ресурсам, на узлах создаются системные поды, которые работают постоянно и также потребляют память:

Название пода
CPU Requests
CPU Limits
RAM Requests
RAM Limits
calico-node
100 m
0
512 Mi
0
csi-cinder-nodeplugin
75 m
300 m
96 Mi
384 Mi
haproxy
20 m
800 m
80 Mi
500 Mi

Порог вытеснения (eviction threshold) обычно составляет 100 МБ. Это количество свободной памяти узла, ниже которого kubelet начинает вытеснять поды из-за недостатка памяти.

Более крупные узлы могут использовать ресурсы более эффективно благодаря меньшему процентному резервированию в сравнении с узлами меньшего размера. Однако масштабирование кластера потребует времени на запуск дополнительных узлов. При добавлении новых узлов возрастет время, необходимое для развертывания и кеширования образов контейнеров, что критично для поддержания отказоустойчивости.

Количество запускаемых подов на узле влияет на производительность кластера. Максимально можно запустить 110 подов, но для лучшей производительности узла планируйте 30–40 подов на один узел.

При выборе размера узлов и их количества в кластере отдавайте предпочтение тому распределению, которое максимизирует использование ресурсов и сохраняет нужный уровень отказоустойчивости и масштабируемости.

Доступные вычислительные ресурсы на узле

Доступные ресурсы CPU на узле:

Node CPU
CPU Available
1
0,94
2
1,93
4
3,92
6
5,915
8
7,91
12
11,9
16
15,89

Доступные ресурсы RAM на узле:

Node RAM (ГБ)
Node RAM Capacity (Ki)
RAM Allocatable (Ki)
RAM Allocatable (Mi)
2
2 005 132
1 641 612
1 603
4
4 000 132
2 849 156
2 782
6
6 056 116
4 905 140
4 790
8
8 122 536
6 132 699
5 989
12
12 238 576
10 248 739
10 009
16
16 365 320
13 536 622
13 219
18
18 406 708
15 452 181
15 090
24
24 599 856
21 267 842
20 769
32
32 856 944
29 021 613
28 341
36
36 935 672
32 848 683
32 079
48
49 321 092
44 479 128
43 437
64
65 836 152
59 987 556
58 582