Өндірістік орталарда контейнерлер мен кубернеттерді іске қосудың үздік тәжірибелері мен үздік тәжірибелері

Өндірістік орталарда контейнерлер мен кубернеттерді іске қосудың үздік тәжірибелері мен үздік тәжірибелері
Контейнерлеу технологиясының экожүйесі қарқынды дамып, өзгеруде, сондықтан бұл салада жақсы жұмыс тәжірибесі жоқ. Дегенмен, Кубернеттер мен контейнерлер бұрынғы қолданбаларды жаңарту үшін де, заманауи бұлттық қолданбаларды әзірлеу үшін де жиі қолданылуда. 

команда Mail.ru сайтынан Kubernetes aaS Gartner, 451 Research, StacxRox және т.б. нарық көшбасшыларына арналған болжамдарды, кеңестерді және үздік тәжірибелерді жинады. Олар контейнерлерді өндірістік орталарда орналастыруға мүмкіндік береді және тездетеді.

Сіздің компанияңыз өндірістік ортада контейнерлерді орналастыруға дайын екенін қалай білуге ​​болады

Гартнер бойынша, 2022 жылы ұйымдардың 75%-дан астамы өндірісте контейнерлік қосымшаларды пайдаланады. Бұл компаниялардың 30%-дан азы осындай қосымшаларды пайдаланатын қазіргіден айтарлықтай көп. 

бойынша 451 Зерттеу2022 жылы контейнерлік технологияларды қолданудың болжамды нарығы 4,3 миллиард долларды құрайды, бұл 2019 жылы болжанған сомадан екі есе көп, нарықтың өсу қарқыны 30%.

В Portworx және Aqua Security сауалнамасы Респонденттердің 87%-ы қазір контейнерлік технологияларды қолданатынын айтты. Салыстыру үшін, 2017 жылы мұндай респонденттердің 55%-ы болған. 

Контейнерлерге қызығушылықтың артуына және қабылдануына қарамастан, оларды өндіріске енгізу технологиялық жетілмегендіктен және ноу-хаудың болмауына байланысты оқу қисығын талап етеді. Ұйымдар қолданбаларды контейнерлеуді қажет ететін бизнес-процестер туралы шынайы болуы керек. АТ көшбасшылары тез үйрену қажеттілігімен алға жылжу үшін олардың дағдылары бар-жоғын бағалауы керек. 

Gartner мамандары Төмендегі суреттегі сұрақтар контейнерлерді өндірісте орналастыруға дайын екеніңізді анықтауға көмектеседі деп ойлаймыз:

Өндірістік орталарда контейнерлер мен кубернеттерді іске қосудың үздік тәжірибелері мен үздік тәжірибелері

Өндірісте контейнерлерді пайдалану кезінде жиі кездесетін қателер

Ұйымдар өндірісте контейнерлерді пайдалану үшін қажет күш-жігерді жиі бағаламайды. Гартнер ашты Өндіріс орталарында контейнерлерді пайдалану кезінде тұтынушы сценарийлеріндегі кейбір жалпы қателер:

Өндірістік орталарда контейнерлер мен кубернеттерді іске қосудың үздік тәжірибелері мен үздік тәжірибелері

Контейнерлерді қалай қауіпсіз ұстау керек

Қауіпсіздікті «кейінірек» шешу мүмкін емес. Ол DevOps процесіне енгізілуі керек, сондықтан арнайы термин де бар - DevSecOps. Ұйымдар жоспарлауы керек контейнер ортаңызды қорғау құрастыру және әзірлеу процесін, қолданбаны орналастыруды және іске қосуды қамтитын әзірлеудің бүкіл өмірлік циклі.

Gartner ұсынған ұсыныстар

  1. Қолданба кескіндерін осалдықтарға сканерлеу процесін үздіксіз біріктіру/үздіксіз жеткізу (CI/CD) құбырына біріктіріңіз. Бағдарламалар бағдарламалық құралды құру және іске қосу кезеңдерінде сканерленеді. Ашық бастапқы құрамдастарды, кітапханаларды және фреймворктерді сканерлеу және анықтау қажеттілігін атап өтіңіз. Ескі, осал нұсқаларды пайдаланатын әзірлеушілер контейнер осалдықтарының негізгі себептерінің бірі болып табылады.
  2. Интернет қауіпсіздігі сынақтары орталығымен конфигурацияңызды жақсартыңыз (ТМД), олар Docker және Kubernetes үшін қол жетімді.
  3. Қол жеткізуді басқаруды қамтамасыз етуді, міндеттерді бөлуді қамтамасыз етуді және құпияларды басқару саясатын жүзеге асыруды ұмытпаңыз. Secure Sockets Layer (SSL) кілттері немесе дерекқор тіркелгі деректері сияқты құпия ақпарат оркестрмен немесе үшінші тарап басқару қызметтерімен шифрланады және орындалу уақытында көрсетіледі.
  4. Ықтимал бұзу қаупін азайту үшін қауіпсіздік саясатын басқару арқылы жоғары контейнерлерден аулақ болыңыз.
  5. Зиянды әрекетті болдырмау үшін ақ тізімді, мінез-құлықты бақылауды және аномалияны анықтауды қамтамасыз ететін қауіпсіздік құралдарын пайдаланыңыз.

StacxRox ұсыныстары:

  1. Kubernetes кірістірілген мүмкіндіктерін пайдаланыңыз. Рөлдерді қолданатын пайдаланушылар үшін рұқсатты орнату. Қажетті ең аз рұқсаттарды қарастыру біраз уақыт алуы мүмкін болса да, жеке нысандарға қажетсіз рұқсаттарды бермегеніңізге көз жеткізіңіз. Кластер әкімшісіне кең артықшылықтар беру қызықты болуы мүмкін, себебі бұл бастапқыда уақытты үнемдейді. Дегенмен, есептік жазбадағы кез келген ымыраға келу немесе қателіктер кейінірек ауыр зардаптарға әкелуі мүмкін. 
  2. Қайталанатын кіру рұқсаттарынан аулақ болыңыз. Кейде әртүрлі рөлдердің қабаттасуы пайдалы болуы мүмкін, бірақ бұл операциялық мәселелерге әкелуі мүмкін және рұқсаттарды жою кезінде соқыр нүктелер тудыруы мүмкін. Сондай-ақ пайдаланылмаған және белсенді емес рөлдерді жою маңызды.
  3. Желі саясаттарын орнату: оларға қол жеткізуді шектеу үшін модульдерді оқшаулау; тегтер арқылы қажет модульдерге Интернетке кіруге нақты рұқсат беру; Бір-бірімен байланысуы қажет модульдер арасындағы байланысқа нақты рұқсат беріңіз. 

Контейнерлер мен олардағы қызметтердің мониторингін қалай ұйымдастыруға болады

Қауіпсіздік және мониторинг - компаниялардың негізгі мәселелері Kubernetes кластерлерін орналастыру кезінде. Әзірлеушілер әрқашан аспектілеріне емес, өздері әзірлейтін қолданбалардың мүмкіндіктеріне көбірек назар аударады осы қолданбаларды бақылау

Gartner ұсынған ұсыныстар:

  1. Хост жүйелерін бақылаумен бірге контейнерлердің немесе олардағы қызметтердің күйін бақылауға тырысыңыз.
  2. Контейнер оркестріне терең интеграцияланған жеткізушілер мен құралдарды іздеңіз, әсіресе Кубернетес.
  3. Аналитика және/немесе машиналық оқыту арқылы егжей-тегжейлі тіркеуді, қызметті автоматты түрде табуды және нақты уақыттағы ұсыныстарды қамтамасыз ететін құралдарды таңдаңыз.

SolarWinds блогы кеңес береді:

  1. Орталық процессор, жад және жұмыс уақыты сияқты өнімділік көрсеткіштерін байланыстыратын контейнер көрсеткіштерін автоматты түрде табу және қадағалау үшін құралдарды пайдаланыңыз.
  2. Контейнерді бақылау көрсеткіштеріне негізделген сыйымдылықтың таусылуын болжау арқылы оңтайлы қуатты жоспарлауды қамтамасыз етіңіз.
  3. Сыйымдылықты жоспарлау және өнімділік мәселелерін шешу үшін пайдалы болатын қол жетімділік пен өнімділікке арналған контейнерлік қолданбаларды бақылаңыз.
  4. Контейнерлер мен олардың орналастыру орталары үшін басқару және масштабтау қолдауын қамтамасыз ету арқылы жұмыс процестерін автоматтандырыңыз.
  5. Пайдаланушы базасын бақылау, ескірген және қонақ тіркелгілерін өшіру және қажетсіз артықшылықтарды жою үшін қол жеткізуді басқаруды автоматтандырыңыз.
  6. Инфрақұрылым, желі, жүйелер және қолданбалар бойынша өнімділікті визуализациялау және салыстыру үшін құралдар жинағыңыз бірнеше ортада (бұлттық, жергілікті немесе гибридті) осы контейнерлер мен қолданбаларды бақылай алатынына көз жеткізіңіз.

Деректерді сақтау және оның қауіпсіздігін қамтамасыз ету

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

Сәйкесінше Portworx және Aqua Security сауалнамасы, деректер қауіпсіздігі респонденттердің көпшілігі (61%) келтірген қауіпсіздік мәселелерінің тізімінде бірінші орында тұр. 

Деректерді шифрлау негізгі қауіпсіздік стратегиясы болып табылады (64%), бірақ респонденттер орындау уақытын бақылауды да пайдаланады

(49%), регистрлерді осалдықтарға сканерлеу (49%), CI/CD конвейерлеріндегі осалдықтарды сканерлеу (49%) және орындалу уақытын қорғау арқылы аномалияларды блоктау (48%).

Gartner ұсынған ұсыныстар:

  1. Принциптерге негізделген сақтау шешімдерін таңдаңыз микросервис архитектурасы. Контейнерлік қызметтерге арналған деректерді сақтау талаптарына жауап беретін, аппараттық құралдардан тәуелсіз, API басқарылатын, бөлінген архитектурасы бар, жергілікті орналастыруды және жалпы бұлтта орналастыруды қолдайтындарға назар аударған дұрыс.
  2. Меншікті плагиндер мен интерфейстерден аулақ болыңыз. Kubernetes интеграциясын қамтамасыз ететін және CSI (Container Storage Interfaces) сияқты стандартты интерфейстерді қолдайтын жеткізушілерді таңдаңыз.

Желілермен қалай жұмыс істеу керек

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

В Magalix блогы жиналған кластерлік желілік шешімді іске асыру сәйкес болуы тиіс жоғары деңгейдегі ережелер:

  1. Бір түйінде жоспарланған қосқыштар NAT (Желілік мекенжай аудармасы) қолданбай басқа подкасттармен байланыса алуы керек.
  2. Белгілі бір түйінде жұмыс істейтін барлық жүйе демондары (kubelet сияқты фондық процестер) бір түйінде жұмыс істейтін подкасттармен байланыса алады.
  3. Қолдану хост желісі, NAT қолданбастан барлық басқа түйіндердегі барлық басқа подкасттармен байланысу мүмкіндігі болуы керек. Хост желілеріне тек Linux хосттарында қолдау көрсетілетінін ескеріңіз.

Желілік шешімдер Kubernetes примитивтерімен және саясаттарымен тығыз біріктірілген болуы керек. АТ жетекшілері желіні автоматтандырудың жоғары дәрежесіне ұмтылуы және әзірлеушілерге дұрыс құралдар мен жеткілікті икемділік беруі керек.

Gartner ұсынған ұсыныстар:

  1. CaaS (қызмет ретіндегі контейнер) немесе SDN (бағдарламалық құрал анықталған желі) Kubernetes желілерін қолдайтынын біліңіз. Олай болмаса немесе қолдау жеткіліксіз болса, контейнерлеріңіз үшін қажетті функциялар мен саясаттарды қолдайтын CNI (контейнерлік желі интерфейсі) желілік интерфейсін пайдаланыңыз.
  2. CaaS немесе PaaS (қызмет ретіндегі платформа) кіріс трафигін кластер түйіндері арасында тарататын кіру контроллерін және/немесе жүктеме балансын жасауды қолдайтынына көз жеткізіңіз. Бұл опция болмаса, үшінші тарап проксилерін немесе қызмет торларын пайдаланып зерттеңіз.
  3. Дағдылар арасындағы айырмашылықты азайту және ептілікті арттыру үшін желі инженерлерін Linux желілері мен желіні автоматтандыру құралдарына үйретіңіз.

Қолданбаның өмірлік циклін қалай басқаруға болады

Қолданбаны автоматтандырылған және біркелкі жеткізу үшін контейнерлік оркестрді код (IaC) өнімдері ретінде инфрақұрылым сияқты басқа автоматтандыру құралдарымен толықтыру қажет. Оларға Chef, Puppet, Ansible және Terraform кіреді. 

Қосымшаларды құру және шығару үшін автоматтандыру құралдары да қажет («қараңыз»).Қолданбаларды шығару оркестріне арналған сиқырлы квадрант«). Контейнерлер сонымен қатар виртуалды машиналарды (VM) қолдану кезінде қолжетімді мүмкіндіктерге ұқсас кеңейту мүмкіндіктерін қамтамасыз етеді. Сондықтан IT көшбасшылары болуы керек контейнердің өмірлік циклін басқару құралдары.

Gartner ұсынған ұсыныстар:

  1. Өлшемге, лицензиялауға және әзірлеушілерге құрамдастарды қосу икемділігіне негізделген негізгі контейнер кескіндері үшін стандарттарды орнатыңыз.
  2. Қоғамдық немесе жеке репозитарийлерде орналасқан негізгі кескіндерге негізделген конфигурацияны қабаттастыратын контейнерлердің өмірлік циклін басқару үшін конфигурацияны басқару жүйелерін пайдаланыңыз.
  3. Қолданбаның барлық жұмыс процесін автоматтандыру үшін CaaS платформасын автоматтандыру құралдарымен біріктіріңіз.

Контейнерлерді оркестрлермен қалай басқаруға болады

Контейнерлерді орналастырудың негізгі функционалдығы оркестрлеу және жоспарлау қабаттарында қамтамасыз етілген. Жоспарлау кезінде контейнерлер оркестрлік деңгей талаптарына сәйкес кластердегі ең оңтайлы хосттарға орналастырылады. 

Kubernetes белсенді қауымдастықпен іс жүзінде контейнерлік оркестрдің стандартына айналды және жетекші коммерциялық жеткізушілер тарапынан қолдау көрсетіледі. 

Gartner ұсынған ұсыныстар:

  1. Қауіпсіздікті басқару, мониторинг, саясатты басқару, деректер тұрақтылығы, желі және контейнердің өмірлік циклін басқару үшін негізгі талаптарды анықтаңыз.
  2. Осы талаптарға сүйене отырып, сіздің талаптарыңызға және пайдалану жағдайларына сәйкес келетін құралды таңдаңыз.
  3. Gartner зерттеулерін қолданыңыз (қараңызKubernetes орналастыру үлгісін қалай таңдауға болады") әртүрлі Kubernetes орналастыру үлгілерінің артықшылықтары мен кемшіліктерін түсіну және қолданбаңыз үшін ең жақсысын таңдау.
  4. Тығыз сервер интеграциясы, жалпы басқару жоспарлары және дәйекті баға үлгілері бар бірнеше ортадағы жұмыс контейнерлері үшін гибридті оркестрді қамтамасыз ете алатын провайдерді таңдаңыз.

Бұлттық провайдерлердің мүмкіндіктерін қалай пайдалануға болады

Гартнер сенедідайын CaaS ұсыныстарының болуына, сондай-ақ бұл ұсыныстарды бұлттық провайдерлер ұсынатын басқа өнімдермен тығыз біріктіруге байланысты IaaS қоғамдық бұлтында контейнерлерді орналастыруға қызығушылық артып келеді.

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

Негізгі бұлттық басқарылатын қызмет провайдерлері кестеде көрсетілген: 

Бұлтты жеткізуші
Қызмет түрі
Өнім/қызмет

Alibaba
Native Cloud қызметі
Alibaba Cloud Container Service, Alibaba Cloud Container Service for Kubernetes

Amazon Web Services (AWS)
Native Cloud қызметі
Amazon Elastic Container Services (ECS), Amazon ECS for Kubernetes (EKS), AWS Fargate

Алып үйір
MSP
Giant Swarm басқарылатын Kubernetes инфрақұрылымы

Google
Native Cloud қызметі
Google Container Engine (GKE)

IBM
Native Cloud қызметі
IBM Cloud Kubernetes қызметі

Microsoft
Native Cloud қызметі
Azure Kubernetes қызметі, Azure Service Fabric

Oracle
Native Cloud қызметі
Kubernetes үшін OCI контейнер қозғалтқышы

Platform9
MSP
Басқарылатын Kubernetes

Red Hat
Хост қызметі
OpenShift арнайы және онлайн

VMware
Хост қызметі
Cloud PKS (бета)

Mail.ru бұлтты шешімдер*
Native Cloud қызметі
Mail.ru бұлтты контейнерлері

* Біз мұны жасырмаймыз, аударма кезінде өзімізді осында қостық :)

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

Gartner ұсыныстары:

  1. Ұйымыңыздың сәйкес құралдарды орналастыру және басқару қабілетін объективті бағалаңыз және бұлтты контейнерлерді басқарудың балама қызметтерін қарастырыңыз.
  2. Бағдарламалық құралды мұқият таңдаңыз, мүмкіндігінше ашық бастапқы коды пайдаланыңыз.
  3. Гибридті орталарда жалпы операциялық үлгілері бар провайдерлерді таңдаңыз, олар біріктірілген кластерлерді шыны басқарудың бір тақтасын, сондай-ақ IaaS-ті өздігінен орналастыруды жеңілдететін провайдерлерді таңдаңыз.

Replex блогындағы Kubernetes aaS провайдерін таңдау бойынша кейбір кеңестер:

  1. Қораптан жоғары қолжетімділікті қолдайтын дистрибутивтерді іздеген жөн. Бұған бірнеше негізгі архитектураларды қолдау, жоғары қолжетімді etcd құрамдастары, сақтық көшірме жасау және қалпына келтіру кіреді.
  2. Kubernetes орталарыңызда ұтқырлықты қамтамасыз ету үшін жергілікті жерден гибридті және көп бұлттыға дейін кең ауқымды орналастыру үлгілерін қолдайтын бұлттық провайдерлерді таңдаған дұрыс. 
  3. Провайдер ұсыныстарын орнату, орнату және кластерді құру, сондай-ақ жаңартулар, бақылау және ақаулықтарды жою оңайлығы негізінде бағалау керек. Негізгі талап - толық автоматтандырылған кластер жаңартуларына нөлдік тоқтау уақытымен қолдау көрсету. Сіз таңдаған шешім жаңартуларды қолмен іске қосуға мүмкіндік беруі керек. 
  4. Сәйкестендіру және қол жеткізуді басқару қауіпсіздік және басқару тұрғысынан маңызды. Сіз таңдаған Kubernetes дистрибуциясы сіз іште пайдаланатын аутентификация және авторизация құралдарымен біріктіруді қолдайтынына көз жеткізіңіз. RBAC және нақты қол жеткізуді басқару да маңызды мүмкіндіктер жиынтығы болып табылады.
  5. Сіз таңдаған дистрибутив әртүрлі қолданбалар немесе инфрақұрылым талаптарының кең ауқымын қамтитын жергілікті бағдарламалық құралмен анықталған желілік шешімге ие болуы немесе Flannel, Calico, kube-router немесе OVN сияқты танымал CNI негізіндегі желілік іске асырулардың бірін қолдауы керек. .

Контейнерлерді өндіріске енгізу басты бағытқа айналуда, бұл туралы жүргізілген сауалнама нәтижелері дәлелдейді. Gartner сессиялары 2018 жылғы желтоқсанда инфрақұрылым, операциялар және бұлттық стратегиялар (IOCS) бойынша:

Өндірістік орталарда контейнерлер мен кубернеттерді іске қосудың үздік тәжірибелері мен үздік тәжірибелері
Көріп отырғаныңыздай, респонденттердің 27%-ы өз жұмыстарында контейнерлерді пайдаланып жүр, ал 63%-ы мұны жоспарлап отыр.

В Portworx және Aqua Security сауалнамасы Респонденттердің 24%-ы контейнерлік технологияларға жылына жарты миллион доллардан астам инвестиция салғанын, ал респонденттердің 17%-ы жылына миллион доллардан астам қаражат жұмсағанын хабарлады. 

Бұлтты платформа тобы дайындаған мақала Mail.ru бұлтты шешімдері.

Тақырып бойынша тағы не оқу керек:

  1. DevOps үздік тәжірибелері: DORA есебі.
  2. Жүзеге асыруға арналған шаблонмен пираттық рухтағы Кубернетес.
  3. 25 Kubernetes орналастыру және қабылдау үшін пайдалы құралдар.

Ақпарат көзі: www.habr.com

пікір қалдыру