VK Cloud logo

Қолжетімді есептеу ресурстары

Конфигурация қалыптары

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

Жадты резервтеу әдетте мынадай түрде ұйымдастырылады:

  • Алғашқы 4 ГБ жадтың 25%.
  • Келесі 4 ГБ жадтың 20% (8 ГБ-қа дейін).
  • Келесі 8 ГБ жадтың 10% (16 ГБ-қа дейін).
  • Келесі 112 ГБ жадтың 6% (128 ГБ-қа дейін).
  • 128 ГБ-тан жоғары кез келген жадтың 2%.

Резервтелген ресурстардан бөлек, түйіндерде үнемі жұмыс істейтін және жадты да тұтынатын жүйелік подтар жасалады:

Пoд атауы
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

GPU бар конфигурация қалыптары

GPU-үдетілген серверлер машиналық оқыту және үлкен деректерді өңдеу саласында күрделі әрі ресурс сыйымды есептеулерді орындауға мүмкіндік береді.

Кластер түйіндерінде GPU бар конфигурация қалыптарын пайдалану үшін Cloud GPU сервисін қосуға өтінім қалдырыңыз.

GPU бар кластерді жасаудың ерекшеліктері

GPU бар конфигурация қалыбын кластердің тек worker-түйіндері үшін ғана пайдалана аласыз. GPU бар конфигурация қалыбы оны пайдаланатын түйінмен бірдей қолжетімділік аймағында болуы керек.

Егер кластерді Terraform немесе CLI арқылы жасасаңыз не өңдесеңіз, GPU бар түйін үшін сізге берілген GPU орналасқан қолжетімділік аймағын көрсетіңіз. Әйтпесе кластер жасалмайды немесе дұрыс жұмыс істемейді.

VK Cloud жеке кабинеті арқылы жұмыс істеген кезде Тип Node-узлов өрісінде тек осы түйінмен бір қолжетімділік аймағында орналасқан GPU бар қалыптар ғана қолжетімді болады.

GPU-ді ортақ пайдалану технологиялары

Іс жүзінде машиналық оқыту және үлкен деректерді өңдеу процестері GPU ресурсының барлығын пайдаланбайды. Сондықтан GPU процессорлары не тек ішінара жұмыс істейді, не күрделі тапсырмаларға қоса қалыпты міндеттерді орындайды. Бұл GPU пайдалануды қымбат етеді.

GPU-ді ортақ пайдалану технологиялары бір графикалық процессорды бірнеше процесс немесе инстанс бір уақытта пайдалануына мүмкіндік береді: әртүрлі қолданбалар немесе әртүрлі data-мамандар өз жұмысында бір GPU-ді ортақ пайдалана алады.

VK Cloud платформасында Kubernetes кластерлерінде осындай екі технология қолжетімді — MIG және MPS.

MIG (Multi-Instance Graphics) — бұл бір графикалық процессорды бірнеше тәуелсіз GPU-ге бөлуге мүмкіндік беретін GPU виртуализациялау технологиясы. Әр бөліктің өз ресурстары (жады, есептеу блоктары) болады және ол басқаларынан оқшау жұмыс істей алады.

Технология виртуалдандырылған орталарда (мысалы, серверлерде) графикалық процессорларды пайдаланудың тиімділігін арттыруға арналған, мұнда шығындарды азайта отырып, әр пайдаланушыға немесе қолданбаға оқшауланған қолжетімділікті қамтамасыз ету маңызды.

MIG технологиясы GPU барлық модельдеріне қолжетімді емес. NVIDIA ресми құжаттамасында технология және ол қолжетімді болатын GPU модельдері толығырақ сипатталған.

MPS (CUDA Multi-Process Service) — бұл GPU-дің есептеу қуатын бірнеше процесс арасында бөлуге мүмкіндік беретін механизм. Әр процесс GPU ресурстарының бөлінген жиынтығын алады және олар бір-бірімен процестер арасындағы өзара әрекеттесу (IPC) арқылы байланысады.

Бұл технология жоғары параллельдік пен GPU есептеу қуаты маңызды болатын, бірақ қолданбаларға бір-бірінің жадына немесе ресурстарына тікелей қолжетімділік қажет емес тапсырмалар үшін қолайлы.

Толығырақ NVIDIA ресми құжаттамасында.