Kubernetes және автоматтандырудың арқасында екі сағат ішінде бұлтқа қалай көшуге болады

Kubernetes және автоматтандырудың арқасында екі сағат ішінде бұлтқа қалай көшуге болады

URUS компаниясы Kubernetes-ті әртүрлі формаларда сынап көрді: жалаңаш металлда, Google Cloud-та тәуелсіз орналастыру, содан кейін өз платформасын Mail.ru Cloud Solutions (MCS) бұлтына көшірді. Игорь Шишкин жаңа бұлт провайдерін қалай таңдағанын және оған рекордтық екі сағатта қалай көшкенін айтады (t3ran), URUS компаниясының аға жүйелік әкімшісі.

URUS не істейді?

Қалалық ортаның сапасын жақсартудың көптеген жолдары бар, олардың бірі – оны экологиялық таза ету. URUS - Smart Digital Services компаниясы дәл осылай жұмыс істейді. Мұнда олар кәсіпорындарға маңызды экологиялық көрсеткіштерді бақылауға және олардың қоршаған ортаға теріс әсерін азайтуға көмектесетін шешімдерді жүзеге асырады. Датчиктер ауа құрамы, шу деңгейі және басқа параметрлер туралы деректерді жинайды, содан кейін оларды талдау және ұсыныстар жасау үшін бірыңғай URUS-Ekomon платформасына жібереді.

URUS ішінен қалай жұмыс істейді

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

Kubernetes және автоматтандырудың арқасында екі сағат ішінде бұлтқа қалай көшуге болады
H2S концентрациясын бақылау графигі жақын маңдағы зауыттан түнгі тұрақты шығарындыларды көрсетеді

URUS-те біз қолданатын құрылғыларда белгілі бір газдардың мазмұны, шу деңгейі және қоршаған ортаны бағалау үшін басқа деректер туралы ақпаратты жинайтын бірнеше сенсорлар бар. Датчиктердің нақты саны әрқашан нақты тапсырмамен анықталады.

Kubernetes және автоматтандырудың арқасында екі сағат ішінде бұлтқа қалай көшуге болады
Өлшеулердің ерекшеліктеріне байланысты сенсорлары бар құрылғылар ғимараттардың қабырғаларында, тіректерде және басқа да ерікті жерлерде орналасуы мүмкін. Әрбір мұндай құрылғы ақпаратты жинайды, оны біріктіреді және деректерді қабылдау шлюзіне жібереді. Онда біз деректерді ұзақ мерзімді сақтау үшін сақтаймыз және оны кейінгі талдау үшін алдын ала өңдейміз. Талдау нәтижесінде алатын ең қарапайым мысал - AQI деп те аталатын ауа сапасының индексі.

Сонымен қатар, біздің платформада көптеген басқа қызметтер жұмыс істейді, бірақ олар негізінен қызмет көрсету сипатында. Мысалы, бақыланатын параметрлердің кез келгені (мысалы, CO2 мазмұны) рұқсат етілген мәннен асып кетсе, хабарландыру қызметі клиенттерге хабарландырулар жібереді.

Деректерді қалай сақтаймыз. Кубернетестің жалаң металлдағы оқиғасы

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

Бірнеше жыл бұрын сақтау мәселесін шешуге тырысқанда, бізде екі платформа таңдауы болды: Kubernetes және OpenStack. Бірақ соңғысы өте құбыжық көрінетіндіктен (оған көз жеткізу үшін оның архитектурасына қараңыз), біз Кубернетеске қоныстандық. Оның пайдасына тағы бір дәлел салыстырмалы түрде қарапайым бағдарламалық қамтамасыз етуді басқару, ресурстарға сәйкес тіпті аппараттық түйіндерді икемді түрде кесу мүмкіндігі болды.

Kubernetes-тің өзін меңгерумен қатар, біз деректерді сақтау жолдарын да зерттедік, біз Кубернетестегі барлық сақтауды өзіміздің аппараттық құралымызда сақтай отырып, тамаша тәжірибе алдық. Содан кейін біз Кубернеттерде өмір сүрген барлық нәрсе: толық сақтау, бақылау жүйесі, CI/CD. Kubernetes біз үшін барлығы бір платформаға айналды.

Бірақ біз Kubernetes-пен қызмет ретінде жұмыс істегіміз келді және оны қолдау мен дамытумен айналыспаймыз. Оған қоса, бізге оны жалаңаш металлда ұстау қанша тұратыны ұнамады және бізге үнемі даму қажет болды! Мысалы, бірінші тапсырмалардың бірі Kubernetes Ingress контроллерлерін ұйымымыздың желілік инфрақұрылымына біріктіру болды. Бұл қиын міндет, әсіресе сол кезде DNS жазбалары немесе IP мекенжайларын бөлу сияқты бағдарламалық ресурстарды басқаруға ештеңе дайын болмағанын ескерсек. Кейінірек біз сыртқы деректерді сақтаумен тәжірибе жасай бастадық. Біз ешқашан ПВХ контроллерін енгізуді қолға алған жоқпыз, бірақ содан кейін бұл арнайы мамандарды қажет ететін үлкен жұмыс аймағы екені белгілі болды.

Google бұлтты платформасына ауысу уақытша шешім болып табылады

Біз мұны жалғастыра алмайтынын түсіндік және деректерімізді жалаң металлдан Google Cloud платформасына көшірдік. Шындығында, ол кезде ресейлік компания үшін қызықты нұсқалар көп болған жоқ: Google Cloud Platform-тан басқа, тек Amazon ұқсас қызметті ұсынды, бірақ біз әлі де Google-дан шешім қабылдадық. Содан кейін бұл бізге экономикалық тұрғыдан тиімдірек, Upstream-ге жақынырақ көрінді, Google-дың өзі өндірістегі PoC Kubernetes түрі екенін айтпағанда.

Тұтынушы базасы ұлғайған сайын көкжиекте бірінші маңызды мәселе пайда болды. Жеке деректерді сақтау қажеттілігі туындаған кезде бізде таңдау тұрды: не Google-мен жұмыс істейміз және Ресей заңдарын бұзамыз, немесе біз Ресей Федерациясында балама іздейміз. Жалпы, таңдау болжамды болды. 🙂

Біз тамаша бұлттық қызметті қалай көрдік

Іздеудің басында біз болашақ бұлттық провайдерден не алғымыз келетінін білдік. Біз қандай қызмет іздедік:

  • Жылдам және икемді. Біз кез келген уақытта жаңа түйінді жылдам қосуға немесе бір нәрсені орналастыруға болатындай.
  • Қымбат емес. Бізді қаржы мәселесі қатты алаңдатты, өйткені ресурстарымыз шектеулі. Біз Kubernetes-пен жұмыс істегіміз келетінін бұрыннан білдік, енді бұл шешімді пайдалану тиімділігін арттыру немесе кем дегенде қолдау үшін оның құнын азайту міндеті тұрды.
  • автоматтандырылған. Біз API арқылы менеджерлерсіз және телефон қоңырауларысыз немесе төтенше жағдай режимінде бірнеше ондаған түйіндерді қолмен көтеру қажет жағдайларсыз жұмыс істеуді жоспарладық. Біздің процестеріміздің көпшілігі автоматтандырылғандықтан, біз бұлттық қызметтен де солай күттік.
  • Ресей Федерациясындағы серверлермен. Әрине, біз ресейлік заңнаманы және сол 152-ФЗ нормаларын сақтауды жоспарладық.

Ол кезде Ресейде Kubernetes aaS провайдерлері аз болды және провайдерді таңдаған кезде біз үшін басымдықтарымызды бұзбау маңызды болды. Біз жұмыс істей бастаған және әлі де ынтымақтасатын Mail.ru Cloud Solutions командасы бізге толық автоматтандырылған сервисті, API қолдауымен және Horizon қамтитын ыңғайлы басқару панелін ұсынды - оның көмегімен біз түйіндердің еркін санын тез көтере аламыз.

Біз MCS-ке екі сағатта қалай көштік

Мұндай қадамдарда көптеген компаниялар қиындықтар мен сәтсіздіктерге тап болады, бірақ біздің жағдайда олар болған жоқ. Бізге сәттілік болды: көшіру басталғанға дейін біз Kubernetes-те жұмыс істеп жатқандықтан, біз жай ғана үш файлды түзетіп, қызметтерімізді MCS жаңа бұлттық платформасында іске қостық. Естеріңізге сала кетейін, ол кезде біз ақырында жалаңаш металды тастап, Google Cloud платформасында өмір сүрдік. Сондықтан көшудің өзі екі сағаттан аспады, сонымен қатар біздің құрылғыларымыздан деректерді көшіруге біраз уақыт (шамамен бір сағат) жұмсалды. Ол кезде біз Spinnaker (Үздіксіз жеткізуді қамтамасыз ету үшін көп бұлтты CD қызметі) қолдандық. Біз оны жаңа кластерге тез қостық және әдеттегідей жұмысты жалғастырдық.

Әзірлеу процестері мен CI/CD автоматтандыруының арқасында URUS-тағы Kubernetes-ті бір маман басқарады (және бұл мен). Бір кезеңде менімен басқа жүйелік әкімші жұмыс істеді, бірақ содан кейін біз барлық негізгі жұмыстарды автоматтандырдық және біздің негізгі өнімімізде көбірек тапсырмалар бар және ресурстарды соған бағыттау мағынасы бар екені белгілі болды.

Біз бұлттық провайдерден күткенімізді алдық, өйткені біз иллюзиясыз ынтымақтастықты бастадық. Егер қандай да бір оқиғалар болса, олар негізінен техникалық және қызметтің салыстырмалы жаңалығымен оңай түсіндірілетін болды. Ең бастысы, MCS командасы кемшіліктерді жылдам жойып, мессенджердегі сұрақтарға жылдам жауап береді.

Егер мен өз тәжірибемді Google Cloud Platform-пен салыстыратын болсам, олардың жағдайында кері байланыс түймесі қайда екенін де білмедім, өйткені оған қажеттілік жоқ еді. Егер қандай да бір ақаулар орын алса, Google өзі хабарландыруларды біржақты жіберді. Бірақ MCS жағдайында, менің ойымша, үлкен артықшылығы - олар ресейлік клиенттерге - географиялық және психикалық тұрғыдан барынша жақын.

Болашақта бұлттармен жұмыс істеуді қалай көреміз

Қазір біздің жұмысымыз Кубернетеспен тығыз байланысты және ол инфрақұрылымдық міндеттер тұрғысынан бізге толығымен сәйкес келеді. Сондықтан, біз одан ешқайда көшуді жоспарламаймыз, дегенмен біз күнделікті тапсырмаларды жеңілдету және жаңаларын автоматтандыру, қызметтердің тұрақтылығы мен сенімділігін арттыру үшін үнемі жаңа тәжірибелер мен қызметтерді енгізіп отырсақ та... Біз қазір Chaos Monkey қызметін (нақтырақ айтқанда , біз chaoskube қолданамыз, бірақ бұл тұжырымдаманы өзгертпейді: ), оны бастапқыда Netflix жасаған. Chaos Monkey бір қарапайым нәрсені жасайды: ол кездейсоқ уақытта кездейсоқ Kubernetes қосқышын жояды. Бұл біздің қызметіміздің n–1 даналардың санымен қалыпты өмір сүруі үшін қажет, сондықтан біз өзімізді кез келген мәселелерге дайын болуға жаттықтырамыз.

Енді мен үшінші тарап шешімдерін пайдалануды - дәл сол бұлттық платформаларды - жас компаниялар үшін жалғыз дұрыс нәрсе ретінде көремін. Әдетте, сапардың басында олар адамдық және қаржылық ресурстарда шектеулі, ал жеке бұлтты немесе деректер орталығын құру және оған қызмет көрсету тым қымбат және еңбекті көп қажет етеді. Бұлттық провайдерлер бұл шығындарды азайтуға мүмкіндік береді, сіз олардан осы жерде және қазір қызметтердің жұмыс істеуі үшін қажетті ресурстарды жылдам алуға және осы ресурстарды кейін төлей аласыз. URUS компаниясына келетін болсақ, біз әзірге бұлттағы Кубернетеске адал боламыз. Бірақ кім біледі, бізге географиялық тұрғыдан кеңейту немесе кейбір нақты жабдыққа негізделген шешімдерді енгізу қажет болуы мүмкін. Немесе тұтынылатын ресурстардың мөлшері бұрынғы жақсы күндердегідей жалаң металлдағы меншікті Кубернеттерді ақтайтын шығар. 🙂

Бұлттық қызметтермен жұмыс істеуден не үйрендік

Біз Kubernetes-ті жалаң металлда қолдана бастадық, тіпті сонда да ол өзінше жақсы болды. Бірақ оның күшті жақтары бұлттағы aaS құрамдас бөлігі ретінде дәл анықталды. Егер сіз мақсат қойып, барлығын мүмкіндігінше автоматтандырсаңыз, жеткізушілерді құлыптаудан аулақ бола аласыз және бұлттық провайдерлер арасында жылжу бірнеше сағатты алады, ал жүйке жасушалары бізбен бірге қалады. Біз басқа компанияларға кеңес бере аламыз: ресурстары шектеулі және дамудың максималды жылдамдығы бар жеке (бұлттық) сервисті іске қосқыңыз келсе, дәл қазір бұлтты ресурстарды жалға алу арқылы бастаңыз және Forbes сіз туралы жазғаннан кейін деректер орталығын құрыңыз.

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

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