VK Cloud logo

Аддондар

Managed Containers кластерлері үшін әртүрлі аддондар (қосымша сервистер) қолжетімді. Оларды кез келген комбинацияда таңдап, не Terraform көмегімен кластерді құру кезінде, не бұрыннан бар кластерге кейінірек орнатуға болады. Орнату процесі автоматтандырылған және пайдаланушының ең аз араласуын талап етеді.

Аддондарды орнату ерекшеліктері

  • Аддондар кластердің worker-тораптарына орнатылады және олардың есептеу ресурстарын тұтынады.

    Төменде аддонды баптау кодындағы Kubernetes ресурстары үшін стандартты requests және limits мәндеріне негізделген аддондардың жүйелік талаптары келтірілген. Стандартты емес мәндер пайдаланылған кезде аддондардың жүйелік талаптары өзгереді.

  • Аддондар арнайы бөлінген worker-тораптар тобына немесе Kubernetes жоспарлаушысы таңдаған worker-тораптарға орнатылуы мүмкін. Бірінші тәсілді пайдалану кластерде жайылған production-сервистердің жұмысына аддондардың әсерін болдырмауға мүмкіндік береді.

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

  • Аддондарды орнату үш нұсқада мүмкін:

    • Аддонды баптау кодын өзгерте отырып, Kubernetes жоспарлаушысы таңдаған worker-тораптарға стандартты орнату.
    • Аддонды баптау кодын өзгерте отырып, бөлінген worker-тораптарға орнату.
    • Аддонды баптау кодын өзгертпей, Kubernetes жоспарлаушысы таңдаған worker-тораптарға жылдам орнату (әдепкі баптаулармен).

    Барлық аддондар орнатудың осы үш нұсқасының бәрін қолдамайды.

    Орнату процесі Аддондарды орнату және баптау бөлімінде сипатталған.

Қолжетімді аддондар

Белгілі бір аддондардың қолжетімділігі кластерді орналастыру жоспарланатын өңірге байланысты.

Argo CD

Argo CD — GitOps тәсілін пайдаланатын Kubernetes үшін үздіксіз жеткізу (continuous delivery, CD) құралы. Ол Git-репозиторийдегі конфигурацияны бақылау арқылы кластердегі қолданбаларды автоматты түрде орналастырады және жаңартады. Argo CD артықшылықтары:

  • GitOps процестері жылдамдатылады және жеңілдетіледі: іске қосу, масштабтау және өзгерістерді жеткізу уақыты қысқарады, сондай-ақ оларды енгізу күрделілігі азаяды.
  • Кластерлердің сенімділігі мен басқарылуы артады: конфигурацияны өзгерту кезінде қолмен орындалатын әрекеттер мен қателер азаяды. Argo CD мұндай айырмашылықтарды автоматты түрде анықтап, кластерді оның Git-репозиторийінде сипатталған күйге қайтарады.
  • Кластердегі әрекеттер анағұрлым ашық болады және Git арқылы барлық өзгерістерді бақылау, қадағалау және аудит жүргізу мүмкіндігі есебінен оның қауіпсіздігі артады.

Argo CD дұрыс жұмыс істеуі үшін кластер конфигурациясы сақталған Git-репозиторийлерге тұрақты қолжетімділік қажет. Сондай-ақ аддонның кластерде қолданбаларды жасау құқықтары болуы керек, олар Kubernetes ішінде қолжетімділікті шектеу моделі (Role Based Access Control, RBAC) арқылы бапталады, әйтпесе кластер күйін синхрондау кезінде қателер туындауы мүмкін.

cert-manager

cert-manager құралының көмегімен Kubernetes кластерлеріндегі сертификаттарды басқаруға болады:

  • Сертификаттарды, соның ішінде өздігінен қол қойылған (self-signed) сертификаттарды шығару. Ол үшін cert-manager сертификаттау орталығы (certificate authority, CA) рөлін атқаратын көздерге сұраулар жібереді.

    Көздердің мысалдары:

    • Venafi сияқты киберқауіпсіздік шешімдерінің провайдерлері;
    • Let’s Encrypt сияқты сертификат провайдерлері;
    • HashiCorp Vault сияқты секреттер қоймалары;
    • ішінде сертификаттың жария бөлігі мен жабық кілті бар жергілікті контейнерлер.
  • Әрекет ету мерзімі аяқталып жатқан сертификаттарды автоматты түрде қайта шығару.

cert-manager көмегімен шығарылған сертификат басқа Kubernetes ресурстарына қолжетімді болады. Мысалы, оны Ingress үшін пайдалануға болады.

Container Storage Interface (CSI) S3 үшін

Container Storage Interface (CSI) S3 үшін — S3 үйлесімді объектілік сақтау жүйелерін (VK Object Storage, AWS S3, MinIO және басқаларын) тұрақты томдар (Persistent Volumes, PV) ретінде ілуге мүмкіндік беретін Kubernetes-ке арналған Container Storage Interface драйвері.

S3-CSI FUSE негізінде жұмыс істейтін жоғары өнімділікті GeeseFS файлолық жүйесіне негізделген. Аддон POSIX үйлесімділігіне дерлік толық сәйкес келеді және объектілермен келесі әрекеттерді қолдайды:

  • оқу және жазу;
  • бұғаттау;
  • қайта атау және жою.

S3-CSI объектілік сақтау жүйесінің бакеттері деңгейінде жұмыс істейді және екі режимде қызмет ете алады:

  • Бакеттерді динамикалық жасау (dynamic provisioning). Көрсетілген сақтау класы (Storage Class) бар PVC (Persistent Volume Claim) жасалғанда, аддон мақсатты S3 үйлесімді сақтау жүйесінде жаңа бакетті автоматты түрде жасайды. PVC жасалғаннан кейін бұл бакет PV ретінде пайдалануға дайын болады.
  • Бар бакеттерді пайдалану (static provisioning). Сіз кез келген S3 үйлесімді сақтау жүйесінде алдын ала жасалған бакетті пайдалана аласыз. Ол үшін адлон бар бакеттің атын көрсетіп PV жасайды, содан кейін PVC осы PV-мен байланыстырылады.

S3-CSI сіз орнатқанда көрсеткен кез келген S3 үйлесімді сақтау жүйесінде бакеттер жасай алады.

Docker Registry

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

Толығырақ Docker реестріне қосылу бөлімінен қараңыз.

DRA Driver for NVIDIA GPUs

Dynamic Resource Allocation (DRA) — подтар арасында графикалық процессорлар (GPU) сияқты арнайы құрылғыларды икемді сұрау, баптау және бөлісу үшін Kubernetes механизмі. GPU-ны бөлінбейтін ресурс ретінде бөлетін стандартты Device Plugin механизмінен айырмашылығы, DRA жеке жүктеме үшін GPU жадының немесе есептеу ресурстарының тек бір бөлігін сұрауға мүмкіндік береді.

DRA Driver for NVIDIA GPUs аддонының артықшылықтары:

  • Бір GPU картасында бірнеше жүктемені іске қосуға мүмкіндік береді, олардың әрқайсысы үшін жад пен есептеу ресурстарын тұтынуды шектей отырып.
  • GPU бар worker-тораптарды пайдалануды арттырады және GPU инфрақұрылымын иеленудің жиынтық құнын төмендетеді.
  • Инференс, RAG, кескіндерді өңдеу сияқты тапсырмалар үшін бүтін GPU картасы қажет етпейтін машиналық оқыту және жасанды интеллект командалары үшін кіру шегін төмендетеді.
  • Кластерде GPU-ны бірлесіп пайдалануды басқарудың Helm-чарттар, қолжетімділік саясаттары және жүктемені орналастыру ережелері арқылы дербес әзірлеудің орнына қолдау көрсетілетін және стандартталған тәсілін қамтамасыз етеді.

Аддон құрамы:

  • worker-тораптарда GPU-ны подтарға дайындау және қосу үшін DRA Kubelet Plugin.
  • Кластер тораптарында қолжетімді функцияларды анықтау және тіркеу үшін Node Feature Discovery. Компонент келесі қызметтерден тұрады:
    • NFD-Master Kubernetes API серверіне қосылу және торап объектілерін жаңарту үшін жауап береді.
    • NFD-Worker аппараттық функцияларды хабарлау үшін NFD-Master қызметіне қосылады.
    • NFD Garbage-Collector Node Feature Discovery объектілерінің барлығының сәйкес тораптары бар екеніне кепілдік береді және жоқ тораптар үшін ескірген объектілерді жояды.

External Secrets Operator

External Secrets Operator бұлтты қоймаларда кластерден тыс сақталатын Kubernetes құпияларын қауіпсіз басқаруға мүмкіндік береді (мысалы, VK Cloud құпия менеджері, AWS Secrets Manager, Azure Key Vault және т.б.

Қосымша бөлімде VK Cloud құпия менеджерімен қалай пайдалану керектігі туралы толығырақ Пайдалану External Secrets Operator.

Cloud Logging үшін Fluent Bit (logaas-integration)

Lua тілінде жазылған арнайы сүзгілермен бірге Fluent Bit Managed Containers кластерінен логтарды Cloud Logging сервисіне жеткізуді ұйымдастыруға мүмкіндік береді, бұл осы логтарды әрі қарай талдау үшін қажет.

Логтардың көздері ретінде кластер тораптарында орналасқан kubelet қызметтері мен подтар (pods) қолданылады. Аддонның қалай жұмыс істейтіні туралы толығырақ оның орнату бөлімінен оқыңыз.

GPU Operator

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

Кластерде GPU пайдаланудың келесі нұсқалары қолжетімді:

  • Бір под бір немесе бірнеше GPU пайдаланады.
  • Аддон бір GPU-ді бірнеше под арасында MIG стратегиясы бойынша бөледі.
  • Аддон бір GPU-ді бірнеше под арасында MPS стратегиясы бойынша бөледі.

Аддон құрамы:

  • GPU-ді басқаруға арналған NVIDIA GPU Operator.

  • Конфигурация өзгергеннен кейін CUDA (Compute Unified Device Architecture) тексеруге арналған қызметтік валидаторлар.

  • Оператордың өзін-өзі диагностикалау құралдары.

  • GPU ресурстарын байланыстыру мен бөлуді автоматтандыруға арналған NVIDIA device plugin.

  • Кластер тораптарында қолжетімді функцияларды анықтау және тіркеу үшін Node Feature Discovery. Компонент келесі қызметтерді қамтиды:

    • NFD-Master Kubernetes API серверіне қосылуға және торап объектілерін жаңартуға жауап береді.
    • NFD-Worker аппараттық функцияларды жариялау үшін NFD-Master қызметіне қосылады.
    • NFD Garbage-Collector барлық Node Feature Discovery объектілерінің сәйкес тораптары болуын қамтамасыз етеді және жоқ тораптар үшін ескірген объектілерді жояды.

Аддон және оның компоненттері туралы толығырақ: NVIDIA GPU Operator, NVIDIA device plugin, Node Feature Discovery.

HAMi

HAMi (Heterogeneous AI Computing Virtualization Middleware) — Kubernetes үшін гетерогенді ЖИ-үдеткіштерін басқаруға арналған құралдар жинағы.

Managed Containers қызметіндегі HAMi аддоны GPU ресурстарын (жады, есептеу қуаты немесе виртуалды карталар) әртүрлі процестер арасында бөлуге мүмкіндік береді, мысалы, бар жабдықта көбірек ML-модельдерін іске қосу үшін. Осылайша, бір физикалық карта бірден бірнеше тапсырманы орындайды, әрі бұл үшін қолданбаларыңыздың кодына өзгеріс енгізу қажет емес.

HAMi аддонының артықшылықтары:

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

Аддон және оның архитектурасы туралы толығырақ HAMi ресми құжаттамасында.

Ingress Controller (NGINX)

NGINX негізіндегі Ingress-контроллер кері прокси (reverse proxy) ретінде жұмыс істейді және HTTP немесе HTTPS бойынша жұмыс істейтін кластер сервистері үшін бірыңғай кіру нүктесін ұйымдастыруға мүмкіндік береді.

Контроллер бар болған жағдайда, мұндай сервистер Kubernetes кластерінен тыс жерден қолжетімді болуы үшін Ingress ресурсын жасау жеткілікті.

Ingress-контроллер VK Cloud платформасымен тығыз интеграцияланады. Толығырақ Кластердегі желі бөлімінен қараңыз.

Istio

Istio қызметтер арасындағы желілік байланысты орталықтан бақылауға және Қолданба кодын өзгертпестен басқаруға мүмкіндік береді. Istio сервистік тор тәсілін жүзеге асырады (Service mesh): қызметтер арасындағы трафик басқарылатын прокси қабаты арқылы өтеді. Қосымшада sidecar-прокси бар классикалық модель ретінде қолдау көрсетіледі подов деңгейінде және Ambient Mesh режимі Sidecar контейнерлері жоқ (түйін деңгейіндегі прокси). Istio көмегімен сіз:

  • қызметтер арасындағы қауіпсіздік және трафикті басқару саясатын орнатыңыз;
  • қызметтер арасындағы байланыс үшін TLS пайдаланыңыз;
  • сервисаралық трафик мониторингін кеңейту (метрикаларды жинау, логирлеу, үлестірілген трассалау);
  • күрделі маршруттауды және қызметтер арасындағы трафикті теңестіруді теңшеңіз; -сұраныстардың қайталануын, тайм-ауттарды және басқа да ақауларға төзімділікті бақылау тетіктерін теңшеу; -біртіндеп орналастыру үшін Canary Deployment және Blue-Green Deployment пайдаланыңыз.

Jaeger

Микросервистерге негізделген үлестірілген жүйелерде сұраулар (requests) алмасуы үздіксіз жүреді. Jaeger платформасы сұрауларды үлестірілген трассировкадан өткізу үшін жасалған. Jaeger сұраулар ағынының микросервистер арқылы жүретін жолын қадағалайды және мыналарға мүмкіндік береді:

  • жүйе компоненттерінің өзара байланыстары туралы сұраулар ағыны тұрғысынан ақпарат жинауға;
  • сұраулармен байланысты мәселелерді немесе жүйе архитектурасындағы сұраулар ағынын өңдеуге қатысты тар орындарды анықтауға.

Мұндай құрал қажет, өйткені сұраулармен байланысты факторлар бұл жүйелердің тұтас мінез-құлқы мен өнімділігіне елеулі әсер етуі мүмкін. Жекелеген микросервистерді ғана бақылаумен шектелу жеткіліксіз.

Jaeger микросервистерден алатын деректер негізінде сұрауларды трассалауды орындайды. Сондықтан микросервистерге сұраулар туралы деректерді жіберу үшін OpenTelemetry құралдар стегін интеграциялау қажет. OpenTelemetry-ді микросервистік қосымшаға интеграциялаумен HotROD мысалында Jaeger пайдалану бөлімінде танысуға болады.

Kgateway

Kgateway — Gateway API пайдалану арқылы Kubernetes ішінде трафикті бағыттауға және басқаруға арналған құрал. Оның артықшылықтары:

  • Kubernetes сервистерін жариялауды және сыртқы сервистерге сұрауларды проксилеуді қамтамасыз етеді.
  • Жүктемеге қарай автоматты түрде масштабталады.
  • Қолданбалар мен сервистерді іске қосу уақытын қысқартады.
  • Кіру нүктелерін, TLS, маршруттарды және қол жеткізу саясаттарын орталықтандырылған түрде орнатуға мүмкіндік береді.

Аддонмен жұмыс істеу туралы толығырақ Kgateway пайдалану бөлімінде.

Kube Prometheus Stack

Kube Prometheus Stack — Prometheus және Grafana визуализациялау құралы негізінде іске асырылған кластер күйін және оның ішінде жайылған сервистерді мониторингтеу жүйесі. Толығырақ Кластер метрикаларын көру үшін Grafana-ға қосылу бөлімінен қараңыз.

VK Cloud Kube Prometheus Stack аддонының екі нұсқасын ұсынады: базалық және VK Tech компаниясының жетілдірулері бар нұсқа (vk жұрнағы бар нұсқа нөмірімен). Жетілдірулері бар аддонда қосымша кіріктірілген функциялар бар, атап айтқанда кластер ресурстарын тұтынуды болжау.

Velero

Velero — Kubernetes кластерлерін резервтік көшіру және апаттан қалпына келтіруге арналған ашық бастапқы кодты құрал.

Velero аддонының көмегімен жұмыс жүктемелерін, атаулар кеңістіктерін және Kubernetes ресурстарын резервтік көшіруді оңай баптауға және автоматтандыруға, кластерлерді көшіруге, сондай-ақ ақаулардан, баптау қателерінен, дұрыс емес релиздерден және деректер оқиғаларынан кейін қалпына келтіруге болады. Аддонмен жұмыс кезінде жасалатын резервтік көшірмелер VK Object Storage сервисіндегі Hotbox сақтау класы бар бакеттерде сақталады.

Velero аддоны тұрақты томдарды (Persistent Volumes, PV) резервтік көшіруге қолдау көрсетпейді.

Аддонмен жұмыс туралы толығырақ Қолмен резервтік көшіру бөлімінде.

Мақала пайдалы болды ма?