Кубернетес ҷаҳонро ишғол мекунад. Кай ва чӣ тавр?

Дар интизорй DevOpsConf Виталий Хабаров мусоҳиба кард Дмитрий Столяров (дистол), директори техникӣ ва ҳаммуассиси ширкати Flant. Виталий аз Дмитрий пурсид, ки Флант чӣ кор мекунад, дар бораи Кубернетес, рушди экосистема, дастгирӣ. Мо муҳокима кардем, ки чаро Кубернетес лозим аст ва оё он умуман лозим аст. Ва инчунин дар бораи хидматрасониҳои хурд, Amazon AWS, равиши "ман бахти худам" ба DevOps, ояндаи худи Кубернетес, чаро, кай ва чӣ гуна он ҷаҳонро ишғол мекунад, дурнамои DevOps ва муҳандисон бояд ба чӣ омода шаванд. ояндаи дурахшон ва наздик бо соддагардонӣ ва шабакаҳои нейрон.

Мусоҳибаи аслӣ ҳамчун подкаст дар DevOps Deflop - подкаст бо забони русӣ дар бораи DevOps гӯш кунед ва дар зер версияи матнӣ оварда шудааст.

Кубернетес ҷаҳонро ишғол мекунад. Кай ва чӣ тавр?

Дар ин ҷо ва дар поён ӯ савол медиҳад Виталий Хабаров муҳандис аз Express42.

Дар бораи "Флант"

- Салом Дима. Шумо директори техникӣ ҳастед "Флант" ва инчунин муассиси он. Лутфан ба мо бигӯед, ки ширкат чӣ кор мекунад ва шумо дар он чӣ ҳастед?

Кубернетес ҷаҳонро ишғол мекунад. Кай ва чӣ тавр?Дмитрий: Аз берун чунин ба назар мерасад, ки мо бачаҳое ҳастем, ки барои ҳама Kubernetes насб карда, бо он коре мекунем. Аммо ин дуруст нест. Мо ҳамчун як ширкате оғоз кардем, ки бо Linux сарукор дорад, аммо тӯли муддати тӯлонӣ фаъолияти асосии мо хидматрасонии истеҳсолот ва лоиҳаҳои калидӣ буд. Одатан, мо тамоми инфрасохторро аз сифр месозем ва сипас барои он барои муддати тӯлонӣ масъул ҳастем. Аз ин ру, кори асосие, ки «Флант» ичро мекунад, барои он пул мегирад, ин аст ухдадорй гирифта, истехсолоти кали-диро ба амал бароварда.




Ман хамчун директори техникй ва яке аз муассисони ширкат шабу руз кушиш мекунам, ки чи тавр дастрасии истехсолотро зиёд кунем, кори онро осон кунем, зиндагии маъмуронро осонтар ва зиндагии тахиягаронро гуворотар гардонам. .

Дар бораи Кубернетес

— Вактхои охир ман бисьёр гузоришхоро аз Флант ва мақолаҳо дар бораи Кубернетес. Чӣ тавр шумо ба он расидед?

Дмитрий: Ман аллакай дар ин бора борҳо гуфта будам, аммо ба такрор кардани он тамоман зид нестам. Ба фикрам такрори ин мавзуъ дуруст аст, зеро дар байни сабабу натича нофаҳмиҳо вуҷуд дорад.

Ба мо воқеан асбоб лозим буд. Мо ба бисьёр проблемахо дучор шудем, мубориза бурдем, онхоро бо асобагахои гуногун бартараф карда, ба асбоб эхтиёч доштем. Мо аз бисёр вариантҳои гуногун гузаштем, велосипедҳои худро сохтем ва таҷриба андӯхтаем. Оҳиста-оҳиста мо ба он ҷо расидем, ки мо ба истифодаи Docker тақрибан баробари пайдо шудани он шурӯъ кардем - тақрибан дар соли 2013. Дар замони пайдоиши он, мо аллакай бо контейнерҳо таҷрибаи зиёд доштем, мо аллакай як аналоги "Docker" - баъзе аз асобагонҳои шахсии худро дар Python навишта будем. Бо пайдоиши Docker, имкон пайдо шуд, ки асобачаҳоро партофта, ҳалли боэътимод ва аз ҷониби ҷомеа дастгирӣшавандаро истифода баред.

Бо Кубернетес ҳикоя монанд аст. То он даме, ки он суръат ба даст овард - барои мо ин версияи 1.2 аст - мо аллакай дар Shell ва Chef як қатор асобағоқҳо доштем, ки мо бо кадом роҳ онҳоро бо Docker ташкил карданӣ будем. Мо ба таври ҷиддӣ ба Ранчер ва дигар роҳҳои ҳалли дигар назар мекардем, аммо баъд Кубернетес пайдо шуд, ки дар он ҳама чиз маҳз ҳамон тавре ки мо ин корро мекардем ё ҳатто беҳтар иҷро мешавад. Ҳеҷ чиз барои шикоят кардан нест.

Бале, дар ин чо як навъ нокомил хаст, дар он чо як навъ нокомил хаст — камбудихо бисьёранд ва 1.2 умуман дадшатовар аст, вале... Кубернетес ба бинои сохташаванда монанд аст — шумо ба лоида назар карда, мефахмед. ки он сард мешавад. Агар бино холо тахкурсй ва ду ошьёна дошта бошад, пас шумо мефахмед, ки хануз ба он чо надаромадан бехтар аст, вале дар таъминоти программавй ин гуна проблемахо нест — шумо аллакай онро истифода бурда метавонед.

Мо лаҳзае надоштем, ки дар бораи истифодаи Kubernetes фикр кунем ё не. Мо онро хеле пеш аз пайдо шудани он интизор будем ва кӯшиш мекардем, ки аналогҳоро худамон созем.

Дар бораи Кубернетес

— Оё шумо бевосита дар коркарди худи Кубернетес иштирок мекунед?

Дмитрий: Миёна. Баръакс, мо дар рушди экосистема иштирок мекунем. Мо шумораи муайяни дархостҳоро мефиристем: ба Prometheus, ба операторҳои гуногун, ба Helm - ба экосистема. Мутаассифона, ман наметавонам ҳама корҳоеро, ки мо мекунем, пайгирӣ кунам ва ман хато карда метавонам, аммо аз мо як ҳавзи аслӣ вуҷуд надорад.

— Ҳамзамон, оё шумо бисёр асбобҳои худро дар атрофи Kubernetes таҳия мекунед?

Дмитрий: Стратегия ин аст: мо меравем ва ба ҳама чизе, ки аллакай вуҷуд дорад, дархост мекунем. Агар дархостҳои кашидан дар он ҷо қабул нашаванд, мо онҳоро худамон ҷудо мекунем ва то даме ки онҳо бо биноҳои мо қабул карда шаванд, зиндагӣ мекунем. Сипас, вақте ки он ба болооб мерасад, мо ба версияи болоӣ бармегардем.

Масалан, мо як оператори Prometheus дорем, ки бо он мо эҳтимолан аллакай 5 маротиба ба болоравии маҷлиси худ пешу баргаштем. Мо ба як навъ хусусият ниёз дорем, мо дархости ҷалб фиристодем, мо бояд онро фардо паҳн кунем, аммо мо намехоҳем интизор шавем, ки он дар боло мебарояд. Бинобар ин, мо барои худ ҷамъ меорем, маҷлиси худро бо хусусияти худ, ки барои баъзе сабабҳо ба мо лозим аст, ба ҳама кластерҳои худ паҳн мекунем. Сипас, масалан, онҳо онро дар болооб бо суханони зерин ба мо мегардонанд: "Бачаҳо, биёед ин корро барои як парвандаи умумӣ кунем", мо ё ягон каси дигар онро ба итмом мерасонем ва бо мурури замон он дубора якҷоя мешавад.

Мо кӯшиш мекунем, ки ҳама чизи мавҷударо инкишоф диҳем. Бисьёр элементхое, ки хануз вучуд надоранд, ихтироъ нашудаанд ва ё ихтироъ карда шудаанд, вале барои татбики он вакт наёфтаанд — мо инро карда истодаем. Ва на аз он сабаб, ки мо раванд ё сохтани велосипедро ҳамчун саноат дӯст медорем, балки танҳо аз он сабаб, ки мо ба ин асбоб ниёз дорем. Саволе ба миён меояд, ки чаро мо ин ё он корро кардем? Чавоб оддист — бале, зеро ба мо лозим омад, ки пештар равем, ягон масъалаи амалиро хал кунем ва мо онро бо хамин тула хал кардем.

Рох хамеша чунин аст: мо хеле бодиккат чустучу мекунем ва агар дар бораи аз нон троллейбус сохтани троллейбус ягон илоч наёбем, пас мо нони худамон ва троллейбуси худамон месозем.

Воситаҳои Flanta

— Ман медонам, ки Flant ҳоло дорои операторҳои addon, shell ва асбобҳои dapp/werf мебошад. Тавре ки ман мефаҳмам, ин як асбоб дар инкарнатсияҳои гуногун аст. Ман инчунин мефаҳмам, ки дар дохили Flaunt асбобҳои зиёди гуногун мавҷуданд. Ин дуруст аст?

Дмитрий: Мо дар GitHub бисёр чизҳои дигар дорем. Аз он чизе, ки ман ҳоло дар ёд дорам, мо як харитаи статус дорем - панели Графана, ки ҳама онро дучор омадаанд. Он тақрибан дар ҳар як мақолаи дуюм дар бораи мониторинги Kubernetes дар Medium зикр шудааст. Ба таври мухтасар шарҳ додани харитаи статус ғайриимкон аст - барои он мақолаи алоҳида лозим аст, аммо он барои мониторинги вазъ бо мурури замон як чизи хеле муфид аст, зеро дар Кубернетес мо аксар вақт бояд вазъиятро бо мурури замон нишон диҳем. Мо инчунин LogHouse дорем - ин чизест, ки ба ClickHouse ва ҷодуи сиёҳ барои ҷамъоварии гузоришҳо дар Kubernetes асос ёфтааст.

Бисёре аз хизматрасониҳои коммуналӣ! Ва боз ҳам бештар хоҳад буд, зеро ин сол як қатор қарорҳои дохилӣ бароварда мешаванд. Аз ҷузъҳои хеле калон, ки ба оператори addon асос ёфтааст, як қатор изофаҳо барои Kubernetes мавҷуданд, ала чӣ гуна дуруст насб кардани менеҷери серт - асбоб барои идоракунии сертификатҳо, чӣ гуна дуруст насб кардани Prometheus бо як даста лавозимот - инҳо тақрибан бист гуногунанд. бинарҳое, ки маълумотро содир мекунанд ва чизе ҷамъ мекунанд, ба ин Prometheus дорои графикаи аҷибтарин ва огоҳӣ мебошад. Ҳамаи ин танҳо як даста иловаҳо ба Kubernetes мебошанд, ки дар кластер насб карда шудаанд ва аз оддӣ ба хунук, мураккаб, автоматӣ табдил меёбанд, ки дар онҳо бисёр масъалаҳо аллакай ҳал шудаанд. Бале, мо бисьёр кор мекунем.

Рушди экосистема

"Ба назари ман, ин саҳми хеле калон дар рушди ин асбоб ва усулҳои истифодаи он аст." Оё шумо тахминан тахмин карда метавонед, ки боз кӣ дар рушди экосистема ҳамин гуна саҳм мегузорад?

Дмитрий: Дар Русия аз ширкатҳое, ки дар бозори мо фаъолият мекунанд, касе ҳатто наздик нест. Албатта, ин як изҳороти баланд аст, зеро бозигарони асосӣ ба монанди Mail ва Yandex ҳастанд - онҳо инчунин бо Kubernetes коре мекунанд, аммо ҳатто онҳо ба саҳми ширкатҳое дар тамоми ҷаҳон, ки аз мо бештар кор мекунанд, наздик намешаванд. Муқоиса кардани Flant, ки 80 нафар кормандон дорад ва Red Hat, ки танҳо дар як Кубернете 300 муҳандис дорад, агар хато накунам, душвор аст. Муқоиса кардан душвор аст. Мо дар шуъбаи РнД 6 нафар одамон дорем, ки дар байни онхо ман хам тамоми асбобхоямонро мебуранд. 6 нафар бо 300 муҳандиси Red Hat - муқоиса кардан то андозае душвор аст.

— Аммо, вакте ки хатто ин 6 нафар дар хакикат кори фоиданок ва бегонакунанда карда метавонанд, вакте ки бо як масъалаи амалй ру ба ру мешаванд ва халли худро ба чамъият медиханд — як ходисаи ачоиб. Ман мефаҳмам, ки дар ширкатҳои бузурги технологӣ, ки дар он ҷо онҳо дастаи таҳия ва дастгирии Kubernetes-и худро доранд, аслан ҳамон асбобҳоро метавон таҳия кард. Ин барои онҳо намунаи он аст, ки он чизеро таҳия ва ба ҷомеа додан мумкин аст ва ба тамоми ҷомеае, ки Kubernetes-ро истифода мебарад, такони мебахшад.

Дмитрий: Ин шояд хусусияти интегратор, хусусияти он бошад. Мо лоиҳаҳои зиёде дорем ва мо бисёр ҳолатҳои гуногунро мебинем. Барои мо роҳи асосии эҷоди арзиши изофӣ таҳлили ин ҳолатҳо, пайдо кардани умумият ва барои мо то ҳадди имкон арзон кардани онҳо мебошад. Мо дар ин бобат фаъолона кор карда истодаем. Барои ман дар бораи Русия ва ҷаҳон сӯҳбат кардан душвор аст, аммо мо дар ширкат тақрибан 40 муҳандиси DevOps дорем, ки дар Kubernetes кор мекунанд. Ман фикр намекунам, ки дар Русия ширкатҳои зиёде мавҷуданд, ки шумораи муқоисашавандаи мутахассисоне ҳастанд, ки Кубернетесро мефаҳманд, агар умуман вуҷуд дошта бошанд.

Ман ҳама чизро дар бораи унвони муҳандиси DevOps мефаҳмам, ҳама ҳама чизро мефаҳманд ва одат кардаанд, ки муҳандисони DevOps-ро муҳандисони DevOps даъват кунанд, мо инро муҳокима намекунем. Ҳамаи ин 40 муҳандисони аҷиби DevOps ҳар рӯз бо мушкилот рӯ ба рӯ мешаванд ва онҳоро ҳал мекунанд, мо танҳо ин таҷрибаро таҳлил мекунем ва кӯшиш мекунем, ки умумӣ кунем. Мо мефах-мем, ки агар дар дохили мо монад, пас аз як-ду сол асбоб бефоида мешавад, зеро дар ягон чо дар чамъият Тула тайёр пайдо мешавад. Ҷамъоварии ин таҷриба дар дохили он ҳеҷ маъно надорад - он танҳо энергия ва вақтро ба dev/null сарф мекунад. Ва мо ба ин тамоман пушаймон нестем. Мо ҳама чизро бо камоли майл нашр мекунем ва мефаҳмем, ки онро нашр кардан, инкишоф додан, пешбарӣ кардан, таблиғ кардан лозим аст, то одамон аз он истифода баранд ва таҷрибаи худро илова кунанд - пас ҳама чиз меафзояд ва зиндагӣ мекунад. Баъд аз ду сол асбоб ба ахлот намедарояд. Афсӯс нест, ки қувватро идома диҳед, зеро маълум аст, ки касе асбоби шуморо истифода мебарад ва пас аз ду сол ҳама аз он истифода мекунанд.

Ин як қисми стратегияи бузурги мо бо dapp/werf аст. Дар ёд надорам, ки мо онро кай оғоз карда будем, 3 сол пеш ба назар мерасад. Дар аввал, он одатан дар қабат буд. Ин як далели олии консепсия буд, мо баъзе мушкилоти мушаххаси худро ҳал кардем - он кор кард! Аммо бо ҷабҳа мушкилот вуҷуд доранд, онро минбаъд васеъ кардан ғайриимкон аст, барномарезӣ дар shell вазифаи дигар аст. Мо як одати навиштан ба руби доштем, мувофиқан, мо чизеро дар руби навсозӣ кардем, инкишоф додем, инкишоф додем, инкишоф додем ва ба он дучор шудем, ки ҷомеа, издиҳоме, ки намегӯянд, ки "мо инро мехоҳем ё намехоҳем" ” бинии худро ба Руби боло мекунад, Ин чӣ гуна хандаовар нест? Мо фаҳмидем, ки мо бояд ҳамаи ин чизҳоро дар Go нависем, то ба нуқтаи аввал дар рӯйхати назорат мувофиқат кунем: Воситаи DevOps бояд дуии статикӣ бошад. Гузаштан ё на он қадар муҳим нест, аммо бинарии статикӣ, ки дар Go навишта шудааст, беҳтар аст.

Мо кувваи худро сарф кардем, даппро дар Go аз нав навишт ва онро werf номидем. Dapp дигар дастгирӣ намешавад, таҳия нашудааст ва дар баъзе версияи охирин кор мекунад, аммо роҳи такмилдиҳии мутлақ ба боло мавҷуд аст ва шумо метавонед онро пайгирӣ кунед.

Чаро дапп офарида шудааст?

— Метавонед мухтасар бигуед, ки дапп чаро ба вучуд омад, кадом масъалахоро хал мекунад?

Дмитрий: Сабаби якум дар мачлис аст. Дар аввал, мо дар сохтмон мушкилоти ҷиддие доштем, вақте ки Docker қобилиятҳои бисёрмарҳила надошт, аз ин рӯ мо мустақилона бисёрмарҳила кардем. Пас аз он мо бо тоза кардани тасвир мушкилоти зиёде доштем. Ҳар касе, ки CI/CD кор мекунад, дертар на дертар, бо мушкилоте рӯбарӯ мешавад, ки як қатор тасвирҳои ҷамъшуда мавҷуданд, ба шумо лозим аст, ки бо кадом роҳ чизҳои нолозимро тоза кунед ва чизи лозимиро тарк кунед.

Сабаби дуюм - ҷойгиркунӣ. Бале, Ҳелм вуҷуд дорад, аммо он танҳо баъзе мушкилотро ҳал мекунад. Аҷиб аст, ки навишта шудааст, ки "Хелм менеҷери бастаҳо барои Kubernetes аст." Маҳз чӣ "ба". Инчунин калимаҳои "Менеҷери бастаҳо" мавҷуданд - интизории маъмулӣ аз менеҷери бастаҳо чист? Мо мегӯем: "Менеҷери бастаҳо - бастаро насб кунед!" ва мо интизорем, ки ӯ ба мо бигӯяд: "Баста фиристода шуд."

Ҷолиб он аст, ки мо мегӯем: "Шумола, бастаро насб кунед" ва вақте ки ӯ ҷавоб медиҳад, ки онро насб кардааст, маълум мешавад, ки вай навакак насбро оғоз кардааст - вай ба Кубернетес ишора кардааст: "Ин чизро оғоз кунед!" Ва оё он оғоз ёфт ё не. , кор мекунад ё не, Хелм ин масъаларо тамоман хал намекунад.

Маълум мешавад, ки Helm танҳо як протсессори матнист, ки маълумотро ба Kubernetes бор мекунад.

Аммо ҳамчун як қисми ҳама гуна ҷойгиркунӣ, мо мехоҳем бидонем, ки ин барнома барои истеҳсол бароварда шудааст ё не? Ба истеҳсолот баровардашуда маънои онро дорад, ки барнома ба он ҷо кӯчонида шудааст, версияи нав ҷойгир шудааст ва ҳадди аққал он дар он ҷо суқут намекунад ва дуруст ҷавоб медиҳад. Хелм ин масъаларо бо хеч рох хал намекунад. Барои ҳалли он, шумо бояд кӯшиши зиёд сарф кунед, зеро шумо бояд ба Kubernetes фармон диҳед, ки паҳн ва назорат кардани он чизе, ки дар он ҷо рӯй дода истодааст - хоҳ он ҷойгир шудааст ё паҳн шудааст. Ва инчунин бисёр вазифаҳои марбут ба ҷойгиркунӣ, тозакунӣ ва васлкунӣ мавҷуданд.

Нақшаҳо

Имсол мо ба ободонии махалхо шуруъ мекунем. Мо мехоҳем он чизеро, ки қаблан дар Vagrant буд, ба даст орем - мо "вагрант" -ро чоп кардем ва мошинҳои виртуалиро ҷойгир кардем. Мо мехоҳем ба он ҷое расем, ки дар Git лоиҳа вуҷуд дорад, мо дар он ҷо "werf up" менависем ва он нусхаи маҳаллии ин лоиҳаро, ки дар мини-Куби маҳаллӣ ҷойгир карда шудааст, бо тамоми директорияҳои барои рушд мувофиқ пайваст мекунад. . Вобаста аз забони рушд, ин ба таври гуногун анҷом дода мешавад, аммо ба ҳар ҳол, то рушди маҳаллӣ дар зери файлҳои насбшуда ба осонӣ анҷом дода шавад.

Қадами навбатӣ барои мост барои бароҳатӣ барои таҳиягарон сармоягузорӣ кунед. Барои зуд ҷойгир кардани лоиҳа бо як асбоб, онро таҳия кунед, онро ба Git тела диҳед ва он инчунин вобаста ба қубурҳо ба марҳила ё озмоишҳо мебарояд ва сипас ҳамон асбобро барои ба истеҳсолот рафтан истифода баред. Ин ягонагӣ, муттаҳидшавӣ, такрористеҳсоли инфрасохтор аз муҳити маҳаллӣ то фурӯш барои мо як нуқтаи хеле муҳим аст. Аммо ин ҳанӯз дар werf нест - мо танҳо онро ба нақша гирифтаем.

Аммо роҳ ба dapp/werf ҳамеша ҳамон тавре буд, ки бо Кубернетес дар ибтидо буд. Мо бо мушкилот рӯ ба рӯ шудем, онҳоро бо роҳҳои ҳалкунанда ҳал кардем - мо барои худамон дар ҳама чиз баъзе роҳҳои ҳалли худро пайдо кардем. Он гоҳ онҳо кӯшиш карданд, ки ин роҳҳои ҳалкунандаро бо ягон роҳ дуруст кунанд, дар ин ҳолат онҳоро ба бинарӣ муттаҳид кунанд, ки мо онро танҳо мубодила мекунем.

Роҳи дигари баррасии тамоми ин ҳикоя бо қиёсҳо вуҷуд дорад.

Kubernetes як чаҳорчӯбаи мошин бо муҳаррик аст. Дархо, шиша, радио, арчаи солина — хеч чиз нест. Танҳо чаҳорчӯба ва муҳаррик. Ва дар он ҷо Helm - ин руль аст. Сард - як чархи руль вуҷуд дорад, аммо ба шумо инчунин як пин, руль, редуктор ва чархҳо лозим аст ва шумо бе онҳо кор карда наметавонед.

Дар мавриди werf, ин як ҷузъи дигари Kubernetes аст. Танҳо ҳоло дар версияи алфа werf, масалан, Helm дар дохили werf тартиб дода шудааст, зеро мо аз иҷрои ин кор худамон хаста шудаем. Сабабҳои зиёде барои ин кор вуҷуд доранд, ман ба шумо муфассал мегӯям, ки чаро мо тамоми рульро дар якҷоягӣ бо tiller дар дохили werf тартиб додем. дар гузориш дар RIT++.

Акнун werf як ҷузъи бештар ҳамгирошуда аст. Мо як рули тайёр, як пиндоре ба даст меорем - ман дар мошинҳо чандон хуб нестам, аммо ин як блоки калонест, ки аллакай доираи хеле васеи мушкилотро ҳал мекунад. Ба мо лозим нест, ки худамон каталогро аз назар гузаронем, як қисмро барои дигараш интихоб кунем ва дар бораи он фикр кунем, ки чӣ гуна онҳоро якҷоя кунем. Мо комбайни тайёр мегирем, ки дар як вакт шумораи зиёди масъалахоро хал мекунад. Аммо дар дохили он аз ҳамон ҷузъҳои кушодаасос сохта шудааст, он то ҳол Docker-ро барои васлкунӣ, Helm -ро барои баъзе функсияҳо истифода мебарад ва якчанд китобхонаҳои дигар мавҷуданд. Ин як воситаи ҳамгирошуда барои зуд ва ба осонӣ аз қуттӣ баровардани CI/CD сард аст.

Оё нигоҳдории Kubernetes душвор аст?

— Шумо дар бораи тачрибае, ки шумо ба истифодабарии Кубернетес шуруъ карда будед, ин чорчуба барои шумо, двигатель аст ва дар он шумо метавонед бисёр чизхои гуногунро овезон кунед: кузов, руль, буранда дар педальхо, курсихо. Савол ба миён меояд - дастгирии Kubernetes барои шумо то чӣ андоза душвор аст? Шумо таҷрибаи зиёд доред, шумо барои дастгирии Кубернетес дар ҷудо аз ҳама чизи дигар чӣ қадар вақт ва захира сарф мекунед?

Дмитрий: Ин як саволи хеле душвор аст ва ба он ҷавоб додан, мо бояд фаҳмем, ки дастгирӣ чист ва мо аз Кубернетес чӣ мехоҳем. Шояд шумо ошкор карда метавонед?

— То ҷое ки ман медонам ва мебинам, ҳоло бисёр дастаҳо мехоҳанд Кубернетесро бисанҷанд. Хар кас худро ба он мепайвандад, ба зону мегузорад. Ман ҳис мекунам, ки одамон на ҳама вақт мураккабии ин системаро дарк мекунанд.

Дмитрий: Чунин аст.

— Кубернетхоро аз сифр гирифта васл кардан чй кадар душвор аст, то ки он ба истехсолот тайёр бошад?

Дмитрий: Ба фикри шумо пайванд кардани дил то чӣ андоза мушкил аст? Ман мефаҳмам, ки ин саволи созанда аст. Истифодаи скальпел ва хато накардан он қадар душвор нест. Агар онҳо ба шумо гӯянд, ки дар куҷо буридан ва дар куҷо дӯхтан лозим аст, пас худи ин тартиб мураккаб нест. Ба зудӣ кафолат додан душвор аст, ки ҳама чиз хуб мешавад.

Насб кардани Kubernetes ва ба кор даровардани он осон аст: chick! — гузошта шудааст, усулхои монтаж бисьёранд. Аммо вақте ки мушкилот ба миён меоянд, чӣ мешавад?

Ҳамеша саволҳо ба миён меоянд, ки мо то ҳол чиро ба назар нагирифтаем? Мо то ҳол чӣ кор накардаем? Кадом параметрҳои ядрои Linux нодуруст нишон дода шудаанд? Худовандо, оё мо ҳатто онҳоро зикр кардем?! Кадом ҷузъҳои Kubernetes мо таҳвил додаем ва кадомашро не? Ҳазорҳо савол ба миён меояд ва барои посух додан ба онҳо 15-20 солро дар ин соҳа сарф кардан лозим аст.

Ман як мисоли ба наздикӣ дар ин мавзӯъ дорам, ки метавонад маънои мушкилоти "Оё нигоҳ доштани Кубернетес душвор аст?" Чанде пеш мо ба таври ҷиддӣ фикр мекардем, ки оё мо бояд кӯшиш кунем, ки Cilium-ро ҳамчун шабака дар Кубернетес татбиқ кунем.

Биёед ман фаҳмонам, ки Cilium чист. Kubernetes дорои бисёр амалисозии зерсистемаи шабакавӣ мебошад ва яке аз онҳо хеле аҷиб аст - Cilium. Маънои он чист? Дар ядро, чанде пеш имкон пайдо шуд, ки барои ядро ​​ҳокҳо навишта шаванд, ки бо ин ё он роҳ ба зерсистемаи шабакавӣ ва зерсистемаҳои гуногуни дигар ҳамла мекунанд ва ба шумо имкон медиҳанд, ки қисмҳои калони ядроро давр занед.

Ядрои Linux таърихан дорои IP rout, overfilter, пулҳо ва бисёр ҷузъҳои кӯҳнаи 15, 20, 30 сола мебошад. Умуман, кор мекунанд, хама чиз хуб аст, вале холо зарфхо чамъ кардаанд ва он манорае аз 15 хишт болои хам ба назар мерасад ва дар болои он як по меистед — хисси ачибе. Ин система таърихан бо нозукиҳои зиёд, ба монанди замима дар бадан инкишоф ёфтааст. Дар баъзе ҳолатҳо, масалан, мушкилоти иҷроиш вуҷуд дорад.

Як BPF аҷиб ва қобилияти навиштани қалмоқҳо барои ядро ​​вуҷуд дорад - бачаҳо қалмоқҳои худро барои ядро ​​​​навиштаанд. Маҷмӯа ба ядрои Linux ворид мешавад, онҳо онро мустақиман дар вуруд берун мекунанд, онро худашон тавре коркард мекунанд, ки бояд бе пулҳо, бе TCP, бе стек IP - хулоса, ҳама чизеро, ки дар ядрои Linux навишта шудаанд, канорагирӣ мекунанд ва сипас туф мекунанд. онро ба контейнер гузоред.

Чӣ гап шуд? Иҷрои хеле олӣ, хусусиятҳои олӣ - танҳо олӣ! Аммо мо ба ин назар мекунем ва мебинем, ки дар ҳар як мошин барномае мавҷуд аст, ки ба API-и Kubernetes пайваст мешавад ва дар асоси маълумоте, ки аз ин API гирифта мешавад, рамзи C тавлид мекунад ва бинарҳоро тартиб медиҳад, ки он ба ядро ​​бор мекунад, то ин қалмоқҳо кор кунанд дар фазои ядро.

Агар чизе хато кунад, чӣ мешавад? Мо намедонем. Барои фаҳмидани ин, шумо бояд ҳамаи ин кодро хонед, тамоми мантиқро бифаҳмед ва ин аҷиб аст, ки ин чӣ қадар душвор аст. Аммо, аз тарафи дигар, ин пулҳо, филтрҳои шабакавӣ, ip rout вуҷуд доранд - ман рамзи ибтидоии онҳоро нахондаам ва на 40 муҳандисеро, ки дар ширкати мо кор мекунанд. Шояд танҳо чанд нафар баъзе қисмҳоро мефаҳманд.

Ва чӣ фарқияте дорад? Маълум мешавад, ки ip rout, ядрои Linux вуҷуд дорад ва асбоби нав вуҷуд дорад - он чӣ фарқияте дорад, мо ин ё он дигарро намефаҳмем. Вале мо аз истифодаи чизи нав метарсем — чаро? Зеро, агар асбоб 30 сол дошта бошад, пас дар 30 сол ҳама хатогиҳо пайдо шуданд, ҳама хатогиҳо пеш гирифта шуданд ва ба шумо лозим нест, ки дар бораи ҳама чиз донед - он мисли қуттии сиёҳ кор мекунад ва ҳамеша кор мекунад. Хама медонад, ки кадом отверткаи диагностикиро дар кадом чо часпид, кадом tcpdump дар кадом лахза кор кунад. Ҳама хидматҳои ташхисиро хуб медонанд ва мефаҳманд, ки ин маҷмӯи ҷузъҳо дар ядрои Linux чӣ гуна кор мекунад - на чӣ тавр кор мекунад, балки чӣ гуна истифода бурдани он.

Ва Силиуми аҷиб 30-сола нест, он ҳанӯз пир нашудааст. Кубернетес ҳамон мушкилот дорад, нусхабардорӣ. Он Cilium ба таври комил насб карда шудааст, Kubernetes ба таври комил насб шудааст, аммо вақте ки дар истеҳсол чизе хато мекунад, оё шумо метавонед дар вазъияти интиқодӣ зуд бифаҳмед, ки чӣ хато шудааст?

Вақте ки мо мегӯем, ки нигоҳ доштани Kubernetes душвор аст - не, ин хеле осон аст ва ҳа, бениҳоят душвор аст. Кубернетес мустақилона кор мекунад, аммо бо як миллиард нозукиҳо.

Дар бораи равиши "Ман бахт хоҳам буд"

— Оё ширкатҳое ҳастанд, ки дар онҳо ин нозукиҳо қариб кафолат дода мешавад? Фарз мекунем, ки Яндекс ногаҳон ҳама хидматҳоро ба Кубернетес интиқол медиҳад, дар он ҷо бори бузург хоҳад буд.

Дмитрий: Не, ин сухбат дар бораи бор не, балки дар бораи оддитарин чизхо аст. Масалан, мо Kubernetes дорем, мо барномаро дар он ҷо ҷойгир кардем. Чӣ тавр шумо медонед, ки он кор мекунад? Барои фаҳмидани он, ки барнома вайрон намешавад, ягон асбоби тайёр вуҷуд надорад. Ягон системаи тайёре вуҷуд надорад, ки огоҳиҳо мефиристад; шумо бояд ин огоҳиҳо ва ҳар як ҷадвалро танзим кунед. Ва мо Kubernetes-ро навсозӣ мекунем.

Ман Ubuntu 16.04 дорам. Шумо метавонед бигӯед, ки ин версияи кӯҳна аст, аммо мо то ҳол дар он ҳастем, зеро он LTS аст. Система мавҷуд аст, ки нозукии он дар он аст, ки он гурӯҳҳои C-ро тоза намекунад. Кубернетес подкҳоро ба кор медарорад, гурӯҳҳои C-ро эҷод мекунад, сипас подкҳоро нест мекунад ва ба ҳар ҳол маълум мешавад - ман тафсилотро дар ёд надорам, мутаассифона - ин буридаҳои системавӣ боқӣ мемонанд. Ин ба он оварда мерасонад, ки бо мурури замон, ҳар як мошин ба таври қатъӣ суст мешавад. Ин ҳатто як савол дар бораи баландбардорӣ нест. Агар подкҳои доимӣ ба кор андохта шаванд, масалан, агар як Cron Job мавҷуд бошад, ки пайваста подкҳоро тавлид мекунад, пас мошини Ubuntu 16.04 пас аз як ҳафта суст шуданро оғоз мекунад. Аз сабаби он, ки як гурӯҳи C-гурӯҳҳо таъсис дода шудаанд, миёнаи доимии сарбории баланд хоҳад буд. Ин мушкилотест, ки ҳар касе, ки Ubuntu 16 ва Kubernetes-ро дар боло насб мекунад, дучор мешавад.

Фарз мекунем, ки ӯ бо ягон роҳ systemd ё чизи дигарро навсозӣ мекунад, аммо дар ядрои Linux то 4.16 ин боз ҳам хандовартар аст - вақте ки шумо гурӯҳҳои C-ро нест мекунед, онҳо дар ядро ​​мерезанд ва воқеан нест карда намешаванд. Аз ин ру, баъди як мохи кор дар ин дастгох ба статистики хотираи оташдонхо назар кардан мумкин нест. Мо файлро мебарорем, онро дар барнома меғелонад ва як файл 15 сония меғелонад, зеро ядро ​​​​барои ҳисоб кардани як миллион гурӯҳи C дар дохили худ вақти хеле тӯлонӣ мегирад, ки онҳо ба назар тоза карда шудаанд, аммо не - онҳо ихроҷ мешаванд. .

Ин гуна майда-чуйдахо дар ин чо хануз бисьёранд. Ин масъала нест, ки ширкатҳои азим баъзан зери бори вазнин дучор мешаванд - не, ин як масъалаи ҳаррӯза аст. Одамон метавонанд чунин моҳҳо зиндагӣ кунанд - онҳо Kubernetes-ро насб карданд, барномаро ҷойгир карданд - ба назар чунин мерасад, ки кор мекунад. Барои бисёр одамон ин муқаррарӣ аст. Онҳо ҳатто намедонанд, ки ин барнома бо ягон сабаб вайрон мешавад, онҳо огоҳӣ намегиранд, аммо барои онҳо ин меъёр аст. Пештар мо дар мошинҳои виртуалӣ бидуни назорат зиндагӣ мекардем, ҳоло мо ба Кубернетес кӯчидем, инчунин бидуни назорат - чӣ фарқияте дорад?

Савол ин аст, ки вақте ки мо рӯи ях қадам мезанем, мо ҳеҷ гоҳ ғафсии онро намедонем, агар онро пешакӣ чен кунем. Бисёр одамон роҳ мераванд ва хавотир намешаванд, зеро онҳо пештар роҳ гаштаанд.

Аз нуқтаи назари ман, нозукиҳо ва мураккабии кори ҳама гуна система аз он иборат аст, ки ғафсии ях барои ҳалли мушкилоти мо комилан кофӣ бошад. Ин аст он чизе ки мо дар бораи он гап мезанем.

Дар IT, ба назарам, равишҳои "ман бахт меёбам" хеле зиёданд. Бисёр одамон нармафзорро насб мекунанд ва китобхонаҳои нармафзорро ба умеди он ки бахти онҳо ба даст меоранд, истифода мебаранд. Умуман, бисьёр одамон хушбахтанд. Эҳтимол барои ҳамин кор мекунад.

- Аз арзёбии пессимистии ман, чунин ба назар мерасад: вақте ки хатарҳо зиёданд ва барнома бояд кор кунад, пас дастгирӣ аз Flaunt лозим аст, шояд аз Red Hat ё ба шумо як гурӯҳи дохилии худ, ки махсус ба Кубернетес бахшида шудааст, лозим аст, ки омода аст. барои кашидани он.

Дмитрий: Объективона, хамин тавр аст. Ворид шудан ба достони Кубернетес барои як гурӯҳи хурд як қатор хатарҳоро дар бар мегирад.

Оё ба мо контейнерҳо лозиманд?

— Метавонед бигӯед, ки кубернетес дар Русия то чӣ андоза паҳн шудааст?

Дмитрий: Ман ин маълумотро надорам, ва ман боварӣ надорам, ки касе онро дорад. Мо мегӯем: "Кубернетес, Кубернетес", аммо роҳи дигари баррасии ин масъала вуҷуд дорад. Ман инчунин намедонам, ки контейнерҳо то чӣ андоза паҳн шудаанд, аммо ман рақамеро аз гузоришҳо дар Интернет медонам, ки 70% контейнерҳоро Кубернетес ташкил мекунанд. Ин як манбаи боэътимод барои намунаи хеле калон дар саросари ҷаҳон буд.

Пас саволи дигар - оё ба мо контейнерҳо лозиманд? Эҳсоси шахсии ман ва мавқеи умумии ширкати Flant ин аст, ки Кубернетес стандарти воқеист.

Ҳеҷ чиз ҷуз Кубернетес нахоҳад буд.

Ин як тағирдиҳандаи мутлақ дар соҳаи идоракунии инфрасохтор аст. Танҳо мутлақ - ин аст, дигар нест Ansible, Chef, мошинҳои виртуалӣ, Terraform. Ман дар бораи усулхои кухнаи колхозй сухан намеронам. Кубернетес як тағирдиҳандаи мутлақ аст, ва ҳоло он танҳо чунин хоҳад буд.

Маълум аст, ки барои дарк кардани ин барои баъзехо як-ду сол ва барои дигарон якчанд дахсола лозим аст. Ман шубҳа надорам, ки ҷуз Kubernetes ва ин намуди нав чизе нахоҳад буд: мо дигар ба системаи оператсионӣ зарар намерасонем, балки онро истифода мебарем. инфрасохтор ҳамчун код, на танҳо бо код, балки бо yml - инфрасохтори ба таври декларативӣ тавсифшуда. Ман ҳис мекунам, ки ҳамеша чунин хоҳад буд.

— Яъне он ширкатҳое, ки ҳанӯз ба Kubernetes нагузаштаанд, ҳатман ба он мегузаранд ё дар фаромӯшӣ мемонанд. Ман шуморо дуруст фаҳмидам?

Дмитрий: Ин низ комилан дуруст нест. Масалан, агар мо вазифаи иҷро кардани сервери DNS дошта бошем, он гоҳ он метавонад дар FreeBSD 4.10 кор кунад ва он метавонад дар тӯли 20 сол комилан кор кунад. Танҳо кор кунед ва тамом. Шояд пас аз 20 сол чизеро як бор нав кардан лозим ояд. Агар мо дар бораи нармафзор дар формате, ки мо оғоз кардем ва он воқеан солҳои зиёд бидуни навсозӣ, бидуни тағирот кор мекунад, пас, албатта, ҳеҷ Kubernetes нахоҳад буд. Ӯ дар он ҷо лозим нест.

Ҳама чизҳои марбут ба CI/CD - дар ҳама ҷое, ки Интиқоли муттасил лозим аст, дар он ҷо шумо бояд версияҳоро навсозӣ кунед, тағироти фаъол ворид кунед, дар ҳама ҷое, ки ба шумо таҳаммулпазирии хатогиҳо лозим аст - танҳо Kubernetes.

Дар бораи хизматрасониҳои хурд

- Дар ин ҷо ман каме нофаҳмӣ дорам. Барои кор бо Kubernetes ба шумо дастгирии беруна ё дохилӣ лозим аст - ин нуқтаи аввал аст. Дуюм, вақте ки мо нав ба рушд шурӯъ мекунем, мо як стартапи хурд ҳастем, мо ҳоло чизе надорем, таҳия барои Kubernetes ё меъмории микросервис дар маҷмӯъ метавонад мураккаб бошад ва на ҳамеша аз ҷиҳати иқтисодӣ асоснок бошад. Ман ба андешаи шумо таваҷҷӯҳ дорам - оё стартапҳо бояд фавран навиштанро барои Кубернетес аз сифр оғоз кунанд ё онҳо метавонанд то ҳол як монолит нависанд ва танҳо ба Кубернетес меоянд?

Дмитрий: Саволи аҷиб. Ман дар бораи микросервисҳо сӯҳбат дорам "Хизматрасониҳои микро: андоза муҳим аст." Борҳо ман бо одамоне вохӯрдам, ки бо микроскоп мехҳо задан мехоҳанд. Худи равиш дуруст аст; мо худамон нармафзори дохилии худро ҳамин тавр тарҳрезӣ мекунем. Аммо вақте ки шумо ин корро мекунед, шумо бояд ба таври равшан фаҳмед, ки чӣ кор карда истодаед. Калимае, ки ман дар бораи хидматҳои хурд аз ҳама нафрат дорам, “микро” аст. Таърихан ин вожа дар онҷо пайдо шудааст ва бо кадом сабабе одамон фикр мекунанд, ки микро хеле хурд аст, камтар аз як миллиметр, мисли микрометр аст. Ин нодуруст аст.

Масалан, як монолит вуҷуд дорад, ки онро 300 нафар менависанд ва ҳар нафаре, ки дар таҳия ширкат кардааст, мефаҳмад, ки дар он ҷо мушкилот вуҷуд дорад ва он бояд ба микро-порчаҳо тақсим карда шавад - тақрибан 10 дона, ки ҳар яки онро 30 нафар навиштаанд. дар версияи ҳадди ақал. Ин муҳим, зарур ва сард аст. Аммо вақте ки як стартап ба назди мо меояд, ки дар он 3 бачаҳои хеле хуб ва боистеъдод 60 микросервисро дар зонуҳояшон навиштаанд, ҳар дафъа ман Корвалолро меҷӯям.

Ба назари ман, дар ин бора аллакай ҳазорҳо маротиба гуфта шудааст - мо дар ин ё он шакл як монолити тақсимшуда гирифтем. Ин аз чихати иктисодй асоснок нест, умуман дар хама чиз хеле душвор аст. Ман инро чанд маротиба дидаам, ки ин ба ман дард мекунад, бинобар ин ман дар бораи он сӯҳбатро идома медиҳам.

Ба саволи аввала, байни он ихтилоф вуҷуд дорад, ки аз як тараф, Кубернетес истифода кардан даҳшатнок аст, зеро маълум нест, ки чӣ метавонад дар он ҷо вайрон шавад ё кор накунад, аз тарафи дигар, маълум аст, ки ҳама чиз ба он ҷо меравад. ва чизе ҷуз Кубернетес вуҷуд нахоҳад дошт. Ҷавоб - миқдори фоидаеро, ки шумо метавонед ҳал кунед, ҳисоб кунед. Ин дар як тарафи миқёс аст. Аз тарафи дигар, хавфҳое вуҷуд доранд, ки бо бекорӣ ё кам шудани вақти посух, сатҳи дастрасӣ - бо кам шудани нишондиҳандаҳои фаъолият алоқаманданд.

Ин аст - ё мо зуд ҳаракат мекунем ва Кубернетес ба мо имкон медиҳад, ки бисёр корҳоро тезтар ва беҳтар иҷро кунем, ё мо қарорҳои боэътимод ва дар вақт санҷидашударо истифода мебарем, аммо хеле сусттар ҳаракат мекунем. Ин интихобест, ки ҳар як ширкат бояд кунад. Шумо метавонед онро ҳамчун як пайраҳа дар ҷангал тасаввур кунед - вақте ки шумо бори аввал роҳ меравед, шумо метавонед бо мор, паланг ё бадеи девона вохӯред ва вақте ки шумо 10 маротиба пиёда рафтед, шумо роҳро тай кардаед, хориҷ кардаед. шохаҳо ва роҳ рафтан осонтар аст. Хар дафъа рох васеътар мешавад. Баъд рохи асфальтпуш ва баъдтар гулгашти зебо.

Кубернетес дар як ҷо намеистад. Боз савол: Кубернетес, аз як тараф, 4-5 бинарӣ, аз тарафи дигар, он тамоми экосистема аст. Ин системаи оператсионии мо дар мошинҳои мост. Ин чи аст? Ubuntu ё Curios? Ин ядрои Linux, як даста ҷузъҳои иловагӣ мебошад. Хамаи ин чизхо дар ин чо як мори захрнокро аз рох партофтаанд, дар он чо девор кашидаанд. Kubernetes хеле зуд ва динамикӣ инкишоф меёбад ва ҳаҷми хатарҳо, ҳаҷми номаълум ҳар моҳ коҳиш меёбад ва мувофиқан ин тарозуҳо мувозинат мекунанд.

Дар посух ба саволе, ки стартап бояд чӣ кор кунад, ман гуфтам - ба Flaunt биёед, 150 ҳазор рубл пардохт кунед ва хидмати осони DevOps-ро калид гиред. Агар шумо як стартапи хурд бо якчанд таҳиягарон бошед, ин кор мекунад. Ба ҷои киро кардани DevOps-и шахсии худ, ки бояд дар айни замон чӣ гуна ҳалли мушкилоти шуморо омӯзад ва маош пардохт кунад, шумо ҳалли калидии ҳама масъалаҳоро хоҳед гирифт. Бале, баъзе камбудиҳо вуҷуд доранд. Мо, ҳамчун аутсорсинг, наметавонем ин қадар ҷалб шуда, ба тағйирот зуд вокуниш нишон диҳем. Вале мо бисьёр тачриба ва тачрибаи тайёр дорем. Мо кафолат медиҳем, ки дар ҳама гуна вазъият мо ҳатман онро зуд муайян мекунем ва ҳама Кубернетҳоро аз мурдагон эҳё мекунем.

Ман ба таври қатъӣ аутсорсингро ба стартапҳо ва тиҷорати муқарраршуда тавсия медиҳам, ки то андозае, ки шумо метавонед як гурӯҳи 10 нафарро ба амалиёт бахшидаед, зеро дар акси ҳол ҳеҷ маъное нест. Ин бешубҳа мантиқи берун аз ин аст.

Дар бораи Amazon ва Google

— Оё хостеро аз ҳалли Amazon ё Google ҳамчун аутсорсинг ҳисобидан мумкин аст?

Дмитрий: Бале, албатта, ин як катор масъалахоро хал мекунад. Аммо боз нозукиҳо вуҷуд доранд. Шумо ҳоло ҳам бояд фаҳмед, ки чӣ тавр истифода бурдани он. Масалан, дар кори Amazon AWS ҳазорҳо чизи хурд вуҷуд дорад: Balancer-ро гарм кардан лозим аст ё дархост бояд пешакӣ навишта шавад, ки "бачаҳо, мо трафик мегирем, Balancer-ро барои мо гарм кунед!" Шумо бояд ин нозукиҳоро донед.

Вақте ки шумо ба одамоне муроҷиат мекунед, ки дар ин кор тахассус доранд, шумо қариб ҳама чизҳои маъмулиро баста мешавед. Мо холо 40 нафар инженер дорем, то охири сол шояд 60 нафар шаванд — мо ба хамаи ин чизхо бешубха дучор шудем. Ҳатто агар мо дар ягон лоиҳа боз ба ин мушкилот дучор шавем, мо зуд аз ҳамдигар мепурсем ва чӣ гуна ҳалли онро медонем.

Эҳтимол ҷавоб ин аст - албатта, ҳикояи баргузоршуда як қисми онро осонтар мекунад. Савол ин аст, ки оё шумо омодаед ба ин хостгорҳо бовар кунед ва оё онҳо мушкилоти шуморо ҳал хоҳанд кард. Amazon ва Google хуб кор карданд. Барои ҳама ҳолатҳои мо - маҳз. Мо дигар таҷрибаи мусбӣ надорем. Ҳама абрҳои дигаре, ки мо бо онҳо кор кардан мехостем, мушкилоти зиёдеро ба вуҷуд меоранд - Ager ва ҳама чизҳое, ки дар Русия ҳастанд ва ҳама намудҳои OpenStack дар татбиқҳои гуногун: Headster, Overage - ҳар чизе ки шумо мехоҳед. Ҳамаи онҳо мушкилотеро эҷод мекунанд, ки шумо онҳоро ҳал кардан намехоҳед.

Аз ин рӯ, ҷавоб бале аст, аммо, дар асл, ҳалли баркамол хеле зиёд нест.

Кубернетес ба кӣ лозим аст?

— Ва аммо Кубернетес ба кй лозим? Кӣ бояд аллакай ба Кубернетес гузарад, ки муштарии маъмулии Flaunt аст, ки махсус барои Кубернетес меояд?

Дмитрий: Ин саволи ҷолиб аст, зеро худи ҳозир, дар паси Кубернетес, бисёр одамон ба назди мо меоянд: "Бачаҳо, мо медонем, ки шумо Кубернетесро мекунед, ин корро барои мо кунед!" Мо ба онҳо ҷавоб медиҳем: "Ҷанобон, мо Кубернетесро иҷро намекунем, мо истеҳсол ва ҳама чизеро, ки бо он алоқаманданд, мекунем." Зеро дар айни замон бидуни иҷрои тамоми CI/CD ва тамоми ин ҳикоя истеҳсол кардани маҳсулот ғайриимкон аст. Ҳама аз он тақсимот дур шуданд, ки мо бо рушд рушд дорем ва баъд истисмор бо истисмор.

Мизоҷони мо чизҳои гуногунро интизоранд, аммо ҳама як мӯъҷизаи хуберо интизоранд, ки онҳо мушкилоти муайян доранд ва ҳоло - хоп! — Кубернетес онхоро хал мекунад. Одамон ба мӯъҷизаҳо бовар мекунанд. Дар зеҳни онҳо онҳо мефаҳманд, ки мӯъҷизае нахоҳад буд, аммо дар ҷони худ онҳо умедворанд - чӣ мешавад, ки агар ин кубернетҳо ҳоло барои мо ҳама чизро ҳал кунанд, онҳо дар ин бора ин қадар гап мезананд! Ногаҳон ӯ ҳоло - атса мезанад! - ва тири нуқра, атса! - ва мо 100% вақти корӣ дорем, ҳама таҳиягарон метавонанд ҳар чизеро, ки ба истеҳсолот дохил мешаванд, 50 маротиба бароварда кунанд ва он садама намекунад. Умуман, мӯъҷиза!

Вакте ки ин гуна одамон ба назди мо меоянд, мо мегуем: «Мебахшед, аммо муъчизае нест». Барои солим будан, шумо бояд дуруст хӯрок хӯред ва машқ кунед. Барои он ки маҳсулоти боэътимод дошта бошад, онро боэътимод сохтан лозим аст. Барои доштани CI/CD қулай, шумо бояд онро чунин созед. Ин кори зиёдеро ба чо овардан лозим аст.

Ҷавоб ба саволе, ки ба кӣ Кубернетес лозим аст - ҳеҷ кас ба Кубернетес ниёз надорад.

Баъзе одамон тасаввуроти нодуруст доранд, ки онҳо ба Кубернетҳо ниёз доранд. Ба одамон лозим аст, ки онҳо эҳтиёҷоти амиқ доранд, ки фикр кардан, омӯхтан ва таваҷҷуҳ ба тамоми мушкилоти инфрасохтор ва мушкилоти татбиқи барномаҳои худро қатъ кунанд. Онҳо мехоҳанд, ки барномаҳо танҳо кор кунанд ва танҳо ҷойгир шаванд. Барои онҳо, Кубернетес умедест, ки онҳо шунидани ҳикояеро, ки "мо дар он ҷо хобида будем" ё "мо берун рафта наметавонем" ё чизи дигарро бас кунанд.

Директори техникй одатан ба назди мо меояд. Аз у ду чиз мепурсанд: аз як тараф ба мо хусусият, аз тарафи дигар субот. Мо тавсия медиҳем, ки шумо онро ба гардан гиред ва ин корро кунед. Тири нуқра, дурусттараш нуқрапӯшӣ дар он аст, ки шумо дар бораи ин мушкилот фикр кардан ва вақтро бехуда сарф мекунед. Шумо одамони махсусе хоҳед дошт, ки ин масъаларо мепӯшанд.

Ин ибора, ки мо ё ягон каси дигар ба Кубернетес ниёз дорад, нодуруст аст.

Администраторҳо воқеан ба Кубернетес ниёз доранд, зеро он як бозичаи хеле ҷолиб аст, ки шумо метавонед бо он бозӣ кунед ва бо он кор кунед. Биёед ростқавл бошем - ҳама бозичаҳоро дӯст медоранд. Мо ҳама дар ҷое кӯдак ҳастем ва вақте ки навраси навро мебинем, мехоҳем онро бозӣ кунем. Барои баъзеҳо, ин, масалан, дар маъмурият рӯҳафтода шудааст, зеро онҳо аллакай кофӣ бозӣ кардаанд ва аллакай хаста шудаанд, ки онҳо намехоҳанд. Аммо ин ба касе тамоман гум нашудааст. Масалан, агар ман муддати тӯлонӣ аз бозичаҳо дар соҳаи идоракунии система ва DevOps хаста шуда бошам, пас ман то ҳол бозичаҳоро дӯст медорам, ман то ҳол бозичаҳои нав мехарам. Ҳама одамон, ба ин ё он роҳ, ҳанӯз ҳам мехоҳанд, ки ягон намуди бозичаҳо дошта бошанд.

Бо истеҳсолот бозӣ кардан лозим нест. Ҳар он чизе ки ман қатъиян тавсия намедиҳам, ки иҷро накунам ва он чизе, ки ҳоло ба таври оммавӣ мебинам: "Оҳ, бозичаи нав!" — ба харидани он давида, хариданд ва: «Биёед, ҳозир ба мактаб бурда, ба ҳама дӯстонамон нишон диҳем». Ин корро накунед. Узр мепурсам, фарзандонам нав калон мешаванд, ман пайваста дар кӯдакон чизеро мебинам, онро дар худам мушоҳида мекунам ва баъд ба дигарон умум мезанам.

Ҷавоби ниҳоӣ ин аст: ба шумо Kubernetes лозим нест. Шумо бояд мушкилоти худро ҳал кунед.

Он чизе ки шумо метавонед ба даст оред, ин аст:

  • маҳсулот намеафтад;
  • афтидан хам кунад хам, мо инро пешакй медонем ва дар он чизе гузошта метавонем;
  • мо метавонем онро бо суръате, ки тиҷорати мо онро талаб мекунад, тағир дода метавонем ва мо онро ба осонӣ иҷро карда метавонем; ин ба мо ҳеҷ мушкиле намеорад.

Ду эҳтиёҷоти воқеӣ вуҷуд доранд: эътимоднокӣ ва динамизм / чандирии паҳнкунӣ. Ҳар касе, ки айни замон ягон намуди лоиҳаҳои IT-ро иҷро мекунад, новобаста аз он, ки дар кадом намуди тиҷорат - нарм барои сабук кардани ҷаҳон аст ва инро дарк мекунад, бояд ин ниёзҳоро ҳал кунад. Кубернетес бо муносибати дуруст, бо фаҳмиши дуруст ва таҷрибаи кофӣ ба шумо имкон медиҳад, ки онҳоро ҳал кунед.

Дар бораи бе сервер

— Агар шумо ба оянда каме дуртар назар кунед, пас кӯшиш кунед, ки мушкилоти мавҷуд набудани дарди сар бо инфрасохтор, бо суръати паҳншавӣ ва суръати тағирёбии барномаҳо ҳал карда шавад, ҳалли нав пайдо мешавад, масалан, бе сервер. Оё шумо дар ин самт ягон потенсиал ва, бигӯем, хатар барои Кубернетес ва ҳалли шабеҳро эҳсос мекунед?

Дмитрий: Дар ин чо бояд бори дигар ёдовар шавем, ки ман бинанда нестам, ки ба пеш нигариста гуяд — хамин тавр мешавад! Гарчанде ки ман ҳамин корро кардам. Ман ба пойҳои худ нигоҳ мекунам ва дар он ҷо як қатор мушкилотро мебинам, масалан, чӣ гуна транзисторҳо дар компютер кор мекунанд. Ин хандаовар аст, дуруст? Мо бо баъзе хатогиҳо дар CPU дучор мешавем.

Бе серверро комилан боэътимод, арзон, муассир ва қулай созед ва ҳама масъалаҳои экосистемаро ҳал кунед. Дар ин ҷо ман бо Элон Маск розӣ ҳастам, ки сайёраи дуюм барои эҷоди таҳаммулпазирии хатогиҳо барои инсоният лозим аст. Ҳарчанд ман намедонам, ки ӯ чӣ мегӯяд, ман мефаҳмам, ки ман худам омода нестам ба Миррих парвоз кунам ва фардо ин тавр нахоҳад шуд.

Дар ҳолати бе сервер равшан аст, ки ин як чизи аз ҷиҳати идеологӣ дуруст аст, ба монанди таҳаммулпазирӣ ба хатогиҳо барои инсоният - доштани ду сайёра беҳтар аз як сайёра аст. Аммо ҳоло чӣ тавр бояд кард? Фиристодани як экспедитсия мушкил нест, агар шумо кӯшишҳои худро ба он равона кунед. Якчанд экспедиция фиристодан ва дар он чо чой додани чандин хазор нафар одамон, ба фикрам, хам реалист. Аммо барои он ки онро комилан ба айбҳо тобовар созам, то нисфи инсоният дар он ҷо зиндагӣ кунад, ба назари ман ҳоло имконнопазир аст, онро баррасӣ намекунанд.

Бо сервери як ба як: кор аҷиб аст, аммо он аз мушкилоти соли 2019 дур аст. Наздик ба соли 2030 - биёед то бубинем. Шубха надорам, ки зинда хохем кард, хатман зиндагонй мекунем (такрор пеш аз хоб), вале акнун дигар масъалахоро бояд хал кунем. Мисли бовар кардан ба пони афсонавии Рейнбоу. Бале, чанд фоизи парвандаҳо ҳал мешаванд ва онҳо ба таври комил ҳал мешаванд, аммо аз ҷиҳати субъективӣ бе сервер рангинкамон аст... Барои ман ин мавзӯъ хеле дур ва нофаҳмо аст. Ман ба сӯҳбат омода нестам. Дар соли 2019, шумо наметавонед як барномаро бо сервери бе сервер нависед.

Чӣ тавр Кубернетес таҳаввул хоҳад кард

— Вақте ки мо ба сӯи ин ояндаи дури эҳтимолан аҷиб ҳаракат мекунем, ба фикри шумо Кубернетес ва экосистемаи атрофи он чӣ гуна инкишоф меёбанд?

Дмитрий: Дар ин бора бисьёр фикр кардаам ва чавоби аник дорам. Якум, давлатдор аст - дар ниҳоят, бидуни шаҳрвандӣ осонтар аст. Кубернетес дар аввал бештар ба ин сармоягузорӣ кард, ҳамааш аз он оғоз ёфт. Бе шаҳрвандӣ дар Кубернетес қариб ба таври комил кор мекунад, танҳо чизе барои шикоят кардан нест. Проблемахо, дурусттараш, нозукихо хануз бисьёранд. Ҳама чиз дар он ҷо аллакай барои мо хуб кор мекунад, аммо ин мост. Барои ҳама кор кардан камаш якчанд соли дигар лозим аст. Ин нишондиҳандаи ҳисобшуда нест, балки эҳсоси ман аз сари ман аст.

Хулоса, маълумоти давлатӣ бояд хеле қавӣ инкишоф ёбад ва хоҳад шуд, зеро ҳамаи замимаҳои мо ҳолати худро нигоҳ медоранд; ягон замимаи бидуни шаҳрвандӣ вуҷуд надорад. Ин як иллюзия аст; ба шумо ҳамеша ба як навъи махзани маълумот ва чизи дигар лозим аст. Statefull дар бораи дуруст кардани ҳама чизест, ки имконпазир аст, ислоҳ кардани ҳама хатогиҳо, такмил додани ҳама мушкилоте, ки ҳоло дучор мешаванд - биёед онро қабул номида шавад.

Сатҳи номаълум, сатҳи мушкилоти ҳалнашуда, сатҳи эҳтимолияти дучор шудан ба чизе ба таври назаррас коҳиш меёбад. Ин як ҳикояи муҳим аст. Ва операторҳо - ҳама чизҳои марбут ба кодификацияи мантиқи маъмурият, мантиқи идоракунӣ барои ба даст овардани хидмати осон: хидмати осони MySQL, хидмати осони RabbitMQ, хидмати осон Memcache - дар маҷмӯъ, ҳамаи ин ҷузъҳо, ки ба мо кафолат дода мешавад, ки онҳо кор кунанд. қуттӣ. Ин танҳо дардро ҳал мекунад, ки мо пойгоҳи додаҳоро мехоҳем, аммо мо намехоҳем онро идора кунем ё мо Кубернетесро мехоҳем, аммо мо онро идора кардан намехоҳем.

Ин достони рушди оператор дар ин ё он шакл дар ду соли оянда муҳим хоҳад буд.

Ман фикр мекунам, ки осонии истифода бояд хеле афзоиш ёбад - қуттӣ торафт сиёҳтар, бештар ва боэътимодтар, бо тугмаҳои оддӣ бештар мешавад.

Боре ман як мусоҳибаи кӯҳна бо Исҳоқ Осимовро аз солҳои 80-ум дар YouTube дар Saturday Night Live гӯш кардам - ​​барномае мисли Ургант, танҳо ҷолиб. Онҳо аз ӯ дар бораи ояндаи компютерҳо пурсиданд. Вай гуфт, ки оянда хам мисли радио дар сода аст. Радиоприёмник дар ибтидо як чизи мураккаб буд. Барои гирифтани мавҷ, шумо лозим буд, ки тугмаҳоро дар тӯли 15 дақиқа гард кунед, шишкҳоро гардед ва умуман бидонед, ки ҳама чиз чӣ гуна кор мекунад, физикаи интиқоли мавҷи радиоро фаҳмед. Дар натиҷа, дар радио танҳо як тугма боқӣ монд.

Ҳоло дар соли 2019 кадом радио? Дар мошин радиоприёмник хамаи мавчхо ва номи станцияхоро пайдо мекунад. Физикаи ин раванд дар тӯли 100 сол тағир наёфтааст, аммо осонии истифода. Холо ва на танхо хозир, хануз соли 1980, вакте ки бо Азимов сухбате буд, хама аз радио истифода мебурданд ва касе фикр намекард, ки он чй тавр кор мекунад. Он ҳамеша кор мекард - ин дода шудааст.

Азимов баъд гуфт, ки бо компютерхо хам хамин тавр мешавад — осонии истифода зиёд мешавад. Дар ҳоле ки дар соли 1980 ба шумо лозим омад, ки тугмаҳоро дар компютер пахш кунед, дар оянда ин тавр нахоҳад шуд.

Ман ҳис мекунам, ки бо Kubernetes ва инфрасохтор инчунин дар осонии истифода афзоиш хоҳад ёфт. Ин, ба назари ман, равшан аст - он дар рӯи замин аст.

Бо муҳандисон чӣ бояд кард?

— Пас бо муҳандисон ва маъмурони система, ки Кубернетесро дастгирӣ мекунанд, чӣ мешавад?

Дмитрий: Баъди пайдо шудани 1С бо бухгалтер чй шуд? Дар бораи ҳамин. Пеш аз ин, онҳо дар рӯи коғаз ҳисоб мекарданд - ҳоло дар барнома. Хосилнокии мехнат ба андозаи зиёд афзуд, вале худи мехнат аз байн нарафтааст. Агар пештар барои печонидани лампочка 10 инженер лозим бошад, акнун як нафар кифоя мешавад.

Миқдори нармафзор ва шумораи вазифаҳо, ба назарам, ҳоло бо суръати тезтар аз пайдоиши DevOps нав ва самаранокӣ меафзояд. Холо дар бозор камбудии хосе мавчуд аст ва он муддати дароз давом мекунад. Баъдтар, ҳама чиз ба як намуди муқаррарӣ бармегардад, ки дар он самаранокии кор зиёд мешавад, серверҳо торафт бештар мешаванд, ба Кубернетес нейрон пайваст карда мешавад, ки тамоми захираҳоро ба таври лозимӣ интихоб мекунад ва умуман. ҳама чизро худаш иҷро кунед, тавре ки бояд бошад - шахс танҳо дур мешавад ва дахолат намекунад.

Аммо ба ҳар ҳол касе бояд қарор қабул кунад. Маълум аст, ки дарачаи тахассус ва ихтисоси ин шахс баландтар аст. Холо дар шуъбаи бухгалтерй 10 нафар коргар даркор нест, ки дасташон хаста нашавад. Ин танҳо лозим нест. Бисёр ҳуҷҷатҳо аз ҷониби системаи электронии идоракунии ҳуҷҷатҳо ба таври худкор скан ва эътироф карда мешаванд. Як сармуҳосиби оқил кифоя аст, ки аллакай дорои малакаҳои бештар ва фаҳмиши хуб аст.

Умуман дар хамаи сохахои саноат хамин тавр аст. Бо мошинхо хам хамин тавр аст: пештар мошин бо як челонгар ва се ронанда меомад. Дар айни замон, рондани мошин як раванди оддӣ аст, ки дар он ҳамаи мо ҳар рӯз иштирок мекунем. Ҳеҷ кас фикр намекунад, ки мошин чизи мураккаб аст.

DevOps ё муҳандисии системаҳо аз байн нахоҳанд рафт - кори сатҳи баланд ва самаранокӣ афзоиш хоҳад ёфт.

— Ман хам як фикри ачоибе шунидам, ки кор дар хакикат зиёд мешавад.

Дмитрий: Албатта, сад фоиз! Зеро ҳаҷми нармафзоре, ки мо менависем, пайваста меафзояд. Шумораи масъалаҳое, ки мо бо нармафзор ҳал мекунем, мунтазам меафзояд. Хачми кор торафт меафзояд. Ҳоло бозори DevOps хеле гарм шудааст. Инро дар интизориҳои музди меҳнат дидан мумкин аст. Ба таври хуб, бидуни ворид кардани тафсилот, бояд наврасоне бошанд, ки X мехоҳанд, миёнаҳое, ки 1,5X мехоҳанд ва пиронсолоне, ки 2X мехоҳанд. Ва ҳоло, агар шумо ба бозори маоши DevOps-и Маскав назар кунед, як ҷавон аз X то 3X ва як пиронсол аз X то 3X мехоҳад.

Ҳеҷ кас намедонад, ки ин чӣ қадар арзиш дорад. Сатҳи маош аз рӯи эътимоди шумо чен карда мешавад - як девонахонаи комил, ростқавлона, бозори хеле гармшуда.

Албатта, ин вазъият хеле зуд тағйир меёбад - бояд каме сершавӣ ба амал ояд. Дар масъалаи таҳияи нармафзор ин тавр нест - сарфи назар аз он, ки ҳама ба таҳиягарон ниёз доранд ва ҳама ба таҳиягарони хуб ниёз доранд, бозор мефаҳмад, ки кӣ ба чӣ арзиш дорад - саноат ором шуд. Дар ин рӯзҳо DevOps чунин нест.

— Аз он чи ки шунидам, ба хулосае омадам, ки администратори ҳозираи система набояд аз ҳад зиёд ғамхорӣ кунад, аммо вақти он расидааст, ки малакаи худро такмил диҳад ва барои он омода шавад, ки фардо кор бештар мешавад, аммо ихтисоси баландтар хоҳад буд.

Дмитрий: Сад фоиз. Умуман, мо дар соли 2019 зиндагӣ мекунем ва қоидаи зиндагӣ ин аст: омӯзиши якумрӣ - мо дар тӯли ҳаёти худ меомӯзем. Ба назари ман, ҳоло ҳама инро медонанд ва эҳсос мекунанд, аммо донистан кофӣ нест - шумо бояд ин корро кунед. Ҳар рӯз мо бояд тағир диҳем. Агар ин корро накунем, дер ё зуд моро дар канори касб мемонанд.

Ба гардишҳои шадиди 180 дараҷа омода бошед. Ман вазъиятеро истисно намекунам, ки чизе ба куллӣ тағйир меёбад, чизи нав ихтироъ мешавад - ин рӯй медиҳад. Хоп! — ва мо акнун дигар хел рафтор мекунем. Муҳим аст, ки ба ин омода бошед ва хавотир нашавед. Мумкин аст, ки фардо ҳама коре, ки ман анҷом медиҳам, нодаркор мешавад - ҳеҷ чиз, ман тамоми умр хондаам ва омодаам чизи дигареро омӯзам. Ин мушкил нест. Аз бехатарии кор тарсидан лозим нест, аммо шумо бояд омода бошед, ки доимо чизи навро омӯзед.

Таманно ва як дақиқаи реклама

— Ягон хохиш доред?

Дмитрий: Бале, ман якчанд хохиш дорам.

Аввалин ва тиҷорӣ - обуна шавед YouTube. Хонандагони азиз ба Ютуб даромада ба канали мо обуна шавед. Тақрибан дар як моҳ мо ба густариши фаъоли хидмати видеоӣ шурӯъ хоҳем кард.Мо дорои мундариҷаи зиёди таълимӣ дар бораи Кубернетес, кушода ва гуногун хоҳем буд: аз чизҳои амалӣ, то лабораторияҳо, чизҳои амиқи назариявӣ ва чӣ гуна истифода бурдани Кубернетес дар дарачаи принципхо ва шаклхо.

Хоҳиши дуюми тиҷоратӣ - рафтан ба GitHub ва ситораҳо гузоред, зеро мо ба онҳо ғизо медиҳем. Агар шумо ба мо ситора надиҳед, мо чизе барои хӯрдан надорем. Он мисли мана дар бозии компютерӣ аст. Мо коре мекунем, мекунем, мекӯшем, касе мегӯяд, ки ин дучархаҳои даҳшатноканд, касе мегӯяд, ки ҳама чиз комилан нодуруст аст, аммо мо идома медиҳем ва комилан софдилона амал мекунем. Мо проблемаеро мебинем, онро хал мекунем ва тачрибаи худро мубодила мекунем. Пас, ба мо ситора деҳ, он аз шумо дур нахоҳад шуд, балки ба назди мо меояд, зеро мо аз онҳо ғизо медиҳем.

Сеюм, хоҳиши муҳим ва дигар на тиҷоратӣ - ба афсона бовар карданро бас кунед. Шумо мутахассис ҳастед. DevOps як касби хеле ҷиддӣ ва масъулиятнок аст. Бозиро дар ҷои кор бас кунед. Бигзор онро барои шумо клик кунед ва шумо онро мефаҳмед. Тасаввур кунед, ки шумо ба беморхона меоед ва дар он ҷо духтур бар шумо озмоиш мекунад. Ман мефаҳмам, ки ин метавонад барои касе таҳқиромез бошад, аммо, эҳтимол, ин дар бораи шумо нест, балки дар бораи каси дигар аст. Ба дигарон низ бигӯед, ки бас кунанд. Ин воқеан ҳаётро барои ҳамаи мо хароб мекунад - бисёриҳо ба амалиётҳо, администраторҳо ва DevOps ҳамчун дугонаҳое муносибат мекунанд, ки боз чизеро шикастанд. Ин «шикаст» бештар аз он буд, ки мо ба бозӣ мерафтем ва бо шуури сард нигоҳ намекардем, ки ин тавр аст, чунин аст.

Ин маънои онро надорад, ки шумо набояд озмоиш кунед. Мо бояд таҷриба кунем, худамон инро мекунем. Ростӣ, мо худамон баъзан бозӣ мекунем - ин, албатта, хеле бад аст, аммо ҳеҷ чизи инсонӣ барои мо бегона нест. Биёед соли 2019-ро соли таҷрибаҳои ҷиддӣ ва хуб андешидашуда эълон кунем, на бозиҳои истеҳсолӣ. Шояд хамин тавр бошад.

- Ташаккури зиёд!

Дмитрий: Ташаккур, Виталий, хам барои вакт ва хам барои сухбат. Хонандагони азиз, ташаккури зиёд, агар ногаҳон ба ин дараҷа расидаед. Умедворам, ки мо ба шумо ҳадди аққал як ду фикрро овардем.

Дар мусохиба Дмитрий ба масъалаи верф дахл кард. Ҳоло ин як корди универсалии швейтсарӣ аст, ки қариб ҳама мушкилотро ҳал мекунад. Аммо на ҳамеша чунин буд. Дар DevOpsConf  дар фестиваль RIT++ Дмитрий Столяров ба шумо дар бораи ин асбоб ба таври муфассал нақл мекунад. дар маъруза "werf воситаи мо барои CI/CD дар Kubernetes аст" ҳама чиз хоҳад буд: мушкилот ва нозукиҳои пинҳонии Kubernetes, имконоти ҳалли ин мушкилот ва татбиқи кунунии werf ба таври муфассал. Рӯзҳои 27 ва 28 май ба мо ҳамроҳ шавед, мо асбобҳои беҳтаринро эҷод мекунем.

Манбаъ: will.com

Илова Эзоҳ