Kubernetes bakal ngawasa dunya. Iraha jeung kumaha?

Di antos-antos DevOpsConf Vitaly Khabarov diwawancara Dmitry Stolyarov (distol), diréktur téknis sareng pangadeg perusahaan Flant. Vitaly naroskeun ka Dmitry ngeunaan naon anu dilakukeun ku Flant, ngeunaan Kubernetes, pamekaran ékosistem, dukungan. Urang bahas naha Kubernetes diperlukeun tur naha éta diperlukeun pisan. Sareng ogé ngeunaan microservices, Amazon AWS, pendekatan "Kuring bakal untung" pikeun DevOps, masa depan Kubernetes sorangan, kunaon, iraha sareng kumaha éta bakal ngawasa dunya, prospek DevOps sareng naon anu kedah disiapkeun ku insinyur di caang jeung deukeut mangsa nu bakal datang kalayan nyederhanakeun tur jaringan saraf.

Wawancara aslina dangukeun salaku podcast dina DevOps Deflop - podcast basa Rusia ngeunaan DevOps, sareng di handap ieu mangrupikeun versi téks.

Kubernetes bakal ngawasa dunya. Iraha jeung kumaha?

Di dieu jeung di handap anjeunna nanyakeun patarosan Vitaly Khabarov insinyur ti Express42.

Ngeunaan "Flant"

- Halo Dima. Anjeun diréktur téknis "Flant"sareng ogé pangadegna. Punten wartosan kami naon anu dilakukeun ku perusahaan sareng naon anjeun di jerona?

Kubernetes bakal ngawasa dunya. Iraha jeung kumaha?Dmitry: Ti luar sigana urang téh guys anu buka sabudeureun masang Kubernetes for everyone jeung ngalakukeun hiji hal kalawan eta. Tapi éta henteu leres. Kami ngamimitian salaku perusahaan anu ngurus Linux, tapi pikeun waktos anu lami kagiatan utama kami nyaéta ngalayanan produksi sareng proyék turnkey beban tinggi. Biasana urang ngawangun sakabéh infrastruktur ti scratch lajeng tanggung jawab eta pikeun lila, lila. Ku alatan éta, karya utama "Flant", nu eta narima duit nyandak tanggung jawab sareng ngalaksanakeun produksi turnkey.




Kuring, salaku diréktur téknis sareng salah sahiji pendiri perusahaan, nyéépkeun sadidinten sareng wengi nyobian kumaha carana ningkatkeun aksés produksi, nyederhanakeun operasina, ngajantenkeun kahirupan pangurus langkung gampang, sareng kahirupan pamekar langkung pikaresepeun. .

Ngeunaan Kubernetes

- Akhir-akhir ieu kuring ningali seueur laporan ti Flant sareng artikel ngeunaan Kubernetes. Kumaha anjeun datang ka dinya?

Dmitry: Kuring geus sababaraha kali ngobrol ngeunaan ieu, tapi kuring teu kapikiran ngulang deui. Kuring pikir éta leres pikeun ngulang topik ieu kusabab aya kabingungan antara sabab sareng akibat.

Kami leres-leres peryogi alat. Urang Nyanghareupan loba masalah, bajoang, overcame aranjeunna kalayan sagala rupa crutches sarta ngarasa perlu alat. Urang ngaliwatan loba pilihan béda, ngawangun bikes sorangan, sarta miboga pangalaman. Laun-laun urang dugi ka titik dimana urang mimiti nganggo Docker ampir pas muncul - sakitar 2013. Dina waktos penampilanna, kami parantos gaduh seueur pangalaman sareng wadah, kami parantos nyerat analog tina "Docker" - sababaraha crutches kami sorangan dina Python. Kalayan munculna Docker, éta tiasa ngalungkeun crutches sareng nganggo solusi anu dipercaya sareng didukung komunitas.

Kalawan Kubernetes carita sarupa. Nalika éta mimiti kéngingkeun moméntum - pikeun kami ieu mangrupikeun versi 1.2 - kami parantos ngagaduhan sakumpulan crutches dina Shell sareng Chef, anu kumaha waé urang nyobian orchestrate sareng Docker. Kami serius ningali ka Rancher sareng sagala rupa solusi anu sanés, tapi teras Kubernetes muncul, dimana sadayana dilaksanakeun persis sapertos anu bakal dilakukeun atanapi langkung saé. Henteu aya anu ngawadul.

Sumuhun, aya sababaraha jenis imperfection di dieu, aya sababaraha jenis imperfection aya - aya loba imperfections, sarta 1.2 umumna dahsyat, tapi ... Kubernetes téh kawas wangunan dina konstruksi - anjeun nempo proyék jeung ngarti. yén éta bakal tiis. Upami wangunan ayeuna gaduh yayasan sareng dua lanté, maka anjeun ngartos yén éta langkung saé henteu ngalih, tapi henteu aya masalah sapertos kitu sareng parangkat lunak - anjeun parantos tiasa dianggo.

Kami henteu gaduh waktos dimana urang mikir ngeunaan ngagunakeun Kubernetes atanapi henteu. Kami ngantosan éta lami sateuacan muncul, sareng nyobian ngadamel analog sorangan.

Ngeunaan Kubernetes

- Dupi anjeun langsung aub dina ngembangkeun Kubernetes sorangan?

Dmitry: Biasa. Gantina, urang ilubiung dina ngembangkeun ékosistem. Kami ngirimkeun sababaraha pamundut tarik: ka Prometheus, ka sababaraha operator, ka Helm - ka ékosistem. Hanjakalna, kuring henteu tiasa ngalacak sadaya anu urang laksanakeun sareng kuring tiasa salah, tapi henteu aya kolam renang tunggal ti kami kana inti.

— Dina waktos anu sami, naha anjeun ngembangkeun seueur alat anjeun di sekitar Kubernetes?

Dmitry: strategi ieu: urang balik sarta narik requests ka sagalana nu geus aya. Upami pamundut tarik henteu ditampi di dinya, urang ngan saukur garpu sareng hirup dugi ka katampi kalayan gedong urang. Teras, nalika dugi ka hulu, urang balik deui ka versi hulu.

Contona, urang boga operator Prometheus, kalawan nu urang switched deui mudik ka hulu assembly urang meureun 5 kali geus. Urang kudu sababaraha jenis fitur, urang dikirim hiji pamundut tarikan, urang kudu gulung kaluar isukan, tapi urang teu hayang ngadagoan eta dileupaskeun hulu. Sasuai, urang ngumpul pikeun diri urang sorangan, gulung kaluar assembly urang kalawan fitur urang, nu urang peryogi pikeun sababaraha alesan, ka sadaya klaster urang. Lajeng, contona, aranjeunna balikkeun ka urang di hulu ku kecap: "Guys, hayu urang ngalakukeun hal eta pikeun hal nu leuwih umum," urang, atawa batur, rengse eta, sarta kana waktu eta merges deui.

Urang nyoba ngamekarkeun sagalana nu aya. Seueur unsur-unsur anu teu acan aya, teu acan diciptakeun, atanapi parantos diciptakeun, tapi teu acan aya waktos pikeun dilaksanakeun - kami ngalakukeunana. Sareng sanés kusabab urang resep kana prosés atanapi gedong sapédah salaku industri, tapi ngan kusabab urang peryogi alat ieu. Patarosan anu sering ditaroskeun, naha urang ngalakukeun ieu atanapi éta? Jawabanna basajan - enya, sabab urang kedah langkung jauh, ngarengsekeun sababaraha masalah praktis, sareng urang ngarengsekeunana ku tula ieu.

Jalanna sok sapertos kieu: urang milarian taliti pisan sareng, upami urang henteu mendakan solusi ngeunaan cara ngadamel trolleybus tina roti roti, teras urang ngadamel roti sorangan sareng trolleybus sorangan.

parabot Flanta

- Kuring terang yén Flant ayeuna gaduh operator addon, operator cangkang, sareng alat dapp / werf. Sakumaha kuring ngartos, ieu mangrupikeun alat anu sami dina incarnations anu béda. Kuring ogé ngarti yén aya seueur alat anu béda dina Flaunt. Ieu leres?

Dmitry: Urang gaduh seueur deui dina GitHub. Tina anu kuring émut ayeuna, kami gaduh peta status - panel pikeun Grafana anu parantos dipendakan ku sadayana. Disebutkeun dina ampir unggal artikel kadua ngeunaan ngawaskeun Kubernetes dina Medium. Teu mungkin pikeun ngajelaskeun sakeudeung naon statusmap - peryogi artikel anu misah, tapi éta mangrupikeun hal anu mangpaat pikeun ngawaskeun status kana waktosna, sabab dina Kubernetes urang sering kedah nunjukkeun status kana waktosna. Kami ogé ngagaduhan LogHouse - ieu mangrupikeun hal dumasar kana ClickHouse sareng sihir hideung pikeun ngumpulkeun log di Kubernetes.

Seueur utilitas! Sareng bakal aya deui, sabab sajumlah solusi internal bakal dileupaskeun taun ieu. Tina anu ageung pisan dumasar kana operator addon, aya sakumpulan addon pikeun Kubernetes, kumaha carana leres masang manajer sert - alat pikeun ngatur sertipikat, kumaha leres masang Prometheus sareng sakumpulan asesoris - ieu sakitar dua puluh béda. binér nu ngekspor data sarta ngumpulkeun hal, mun Prometheus ieu boga grafik paling endah tur ngabejaan. Sadaya ieu ngan kebat tina addons mun Kubernetes, nu dipasang dina klaster a, tur robah tina basajan pikeun niiskeun, canggih, otomatis, nu loba masalah geus direngsekeun. Sumuhun, urang ngalakukeun loba.

Pangwangunan ékosistem

"Sigana mah ieu mangrupikeun kontribusi anu ageung pikeun pamekaran alat ieu sareng metode pamakeanna." Naha anjeun tiasa ngira-ngira saha waé anu bakal masihan kontribusi anu sami pikeun pangwangunan ékosistem?

Dmitry: Di Rusia, pausahaan anu beroperasi di pasar urang, teu saurang ogé deukeut. Tangtosna, ieu mangrupikeun pernyataan anu nyaring, sabab aya pamaén utama sapertos Mail sareng Yandex - aranjeunna ogé ngalakukeun hiji hal sareng Kubernetes, tapi bahkan aranjeunna henteu caket kana kontribusi perusahaan di sakumna dunya anu ngalakukeun langkung seueur tibatan urang. Hese ngabandingkeun Flant, anu ngagaduhan staf 80 urang, sareng Red Hat, anu gaduh 300 insinyur per Kubernetes nyalira, upami teu lepat. Hese dibandingkeun. Kami ngagaduhan 6 urang di jurusan RnD, kalebet kuring, anu motong sadaya alat kami. 6 jalma ngalawan 300 insinyur Red Hat - kumaha waé hésé dibandingkeun.

- Sanajan kitu, sanajan ieu 6 jalma bisa ngalakukeun hiji hal bener mangpaat tur alienating, nalika aranjeunna Nyanghareupan masalah praktis tur masihan solusi ka masarakat - hiji hal metot. Kuring ngarti yén di pausahaan téhnologi badag, dimana maranéhna boga Kubernetes ngembangkeun sarta tim rojongan sorangan, prinsipna mah, alat anu sarua bisa dimekarkeun. Ieu mangrupikeun conto pikeun aranjeunna ngeunaan naon anu tiasa dikembangkeun sareng dipasihkeun ka masarakat, masihan dorongan ka sakumna komunitas anu ngagunakeun Kubernetes.

Dmitry: Ieu meureun ciri tina integrator, peculiarity na. Kami ngagaduhan seueur proyék sareng kami ningali seueur kaayaan anu béda. Pikeun urang, cara utama pikeun nyiptakeun nilai tambah nyaéta nganalisis kasus-kasus ieu, milari persamaan sareng ngajantenkeun aranjeunna langkung mirah pikeun urang. Urang aktip dipake dina ieu. Hésé pikeun kuring ngobrol ngeunaan Rusia sareng dunya, tapi urang gaduh ngeunaan 40 insinyur DevOps di perusahaan anu damel di Kubernetes. Ku teu sangka aya loba pausahaan di Rusia kalawan jumlah comparable spesialis anu ngarti Kubernetes, lamun sagala pisan.

Abdi ngartos sadayana ngeunaan judul padamelan insinyur DevOps, sadayana ngartos sadayana sareng biasa nelepon insinyur DevOps insinyur DevOps, kami moal ngabahas ieu. Sadaya 40 insinyur DevOps anu luar biasa ieu nyanghareupan sareng ngarengsekeun masalah unggal dinten, urang ngan ukur nganalisis pangalaman ieu sareng nyobian ngageneralisasi. Urang ngarti yén lamun eta tetep di jero urang, teras dina hiji atawa dua taun alat bakal aya gunana, sabab tempat di masarakat bakal muncul Tula siap-dijieun. Teu aya gunana pikeun ngumpulkeun pangalaman ieu sacara internal - éta ngan ukur nyéépkeun énergi sareng waktos kana dev / null. Sarta kami henteu ngarasa punten pikeun eta pisan. Kami nyebarkeun sadayana kalayan resep pisan sareng ngartos yén éta kedah dipedar, dikembangkeun, dipromosikeun, dipromosikeun, ku kituna masarakat ngagunakeunana sareng nambihan pangalaman - teras sadayana tumbuh sareng hirup. Lajeng sanggeus dua taun instrumen teu balik kana jarian. Teu karunya neruskeun tuang di kakuatan, sabab éta jelas yén batur ngagunakeun alat Anjeun, sarta sanggeus dua taun dulur ngagunakeun eta.

Ieu mangrupikeun bagian tina strategi ageung kami sareng dapp/werf. Abdi henteu émut nalika urang ngamimitian damel, sigana 3 sababaraha taun ka pengker. Mimitina, éta umumna dina cangkang. Éta mangrupikeun bukti konsép anu super, kami ngarengsekeun sababaraha masalah khusus urang - éta damel! Tapi aya masalah sareng cangkang, mustahil pikeun dilegakeun deui, program dina cangkang mangrupikeun tugas sanés. Urang kungsi kabiasaan nulis dina Ruby, sasuai, urang remade hal di Ruby, dimekarkeun, dimekarkeun, dimekarkeun, jeung lumpat kana kanyataan yén masarakat, riungan nu teu nyebutkeun “urang hayang atawa urang teu hayang eta, ” Ngacungkeun irungna ka Ruby, kumaha lucuna? Kami sadar yén urang kedah nyerat sadaya barang ieu dina Go kanggo nyumponan titik anu munggaran dina daptar pariksa: Alat DevOps kedah janten binér statik. Janten Go atanapi henteu henteu penting pisan, tapi binér statik anu ditulis dina Go langkung saé.

Urang spent énergi kami, rewrote dapp di Go jeung disebut werf. Dapp geus euweuh dirojong, teu dimekarkeun, ngajalankeun sababaraha versi panganyarna, tapi aya hiji jalur pamutahiran mutlak ka luhur, tur anjeun bisa nuturkeun eta.

Naha dapp diciptakeun?

- Dupi anjeun sakeudeung ngabejaan urang naha dapp dijieun, masalah naon solves?

Dmitry: Alesan kahiji dina rakitan. Mimitina, urang ngagaduhan masalah serius sareng ngawangun nalika Docker henteu ngagaduhan kamampuan multi-tahap, janten kami ngadamel multi-tahap nyalira. Teras kami ngagaduhan seueur masalah sareng ngabersihan gambar. Dulur anu teu CI / CD, sooner tinimbang engké, Nyanghareupan masalah anu aya kebat gambar dikumpulkeun, anjeun kudu kumaha bae ngabersihan kaluar naon teu diperlukeun sarta ninggalkeun naon anu diperlukeun.

Alesan kadua nyaéta deployment. Sumuhun, aya Helm, tapi solves ngan sababaraha masalah. Lucuna, ditulis yén "Helm nyaéta Manajer Paket pikeun Kubernetes." Persis naon "anu". Aya ogé kecap "Pakét Manajer" - naon ekspektasi biasa ti Manajer Paket? Kami nyarios: "Package Manager - pasang pakét!" sareng kami ngarepkeun anjeunna nyarios ka kami: "Pakét parantos dikirimkeun."

Éta pikaresepeun yén urang nyarios: "Helm, pasang pakét," sareng nalika anjeunna ngawaler yén anjeunna dipasang, tétéla yén anjeunna nembé ngamimitian pamasangan - anjeunna nunjukkeun Kubernetes: "Lancarkeun hal ieu!", sareng naha éta ngamimitian atanapi henteu. , naha éta jalan atanapi henteu , Helm teu ngajawab masalah ieu pisan.

Tétéla Helm ngan ukur preprocessor téks anu ngamuat data kana Kubernetes.

Tapi salaku bagian tina panyebaran naon waé, urang hoyong terang naha aplikasina parantos dileupaskeun pikeun produksi atanapi henteu? Digulung kaluar prod hartina aplikasi nu geus dipindahkeun ka dinya, versi anyar geus deployed, sarta sahanteuna teu ngadat aya na responds neuleu. Helm henteu ngabéréskeun masalah ieu ku cara naon waé. Pikeun ngajawab éta, anjeun kudu méakkeun loba usaha, sabab anjeun kudu masihan Kubernetes paréntah pikeun roll kaluar sarta ngawas naon anu lumangsung aya - naha éta deployed atanapi digulung kaluar. Sareng aya ogé seueur tugas anu aya hubunganana sareng panyebaran, beberesih, sareng perakitan.

Rencana

Taun ieu urang bakal ngamimitian pangwangunan lokal. Kami hoyong ngahontal naon anu sateuacana di Vagrant - kami ngetik "vagrant up" sareng kami nyebarkeun mesin virtual. Kami hoyong dugi ka titik dimana aya proyék di Git, kami nyerat "werf up" di dinya, sareng éta ngahasilkeun salinan lokal proyék ieu, disebarkeun dina mini-Kub lokal, kalayan sagala diréktori anu cocog pikeun pangwangunan disambungkeun. . Gumantung kana basa ngembangkeun, ieu dipigawé béda, tapi kumaha oge, ku kituna pangwangunan lokal bisa merenah dilaksanakeun dina file dipasang.

Lengkah saterusna pikeun urang téh investasi di genah pikeun pamekar. Pikeun gancang nyebarkeun proyék lokal kalawan hiji alat, ngamekarkeun eta, nyorong kana Git, sarta eta oge bakal gulung kaluar ka panggung atawa tés, gumantung kana pipelines, lajeng nganggo alat anu sarua pikeun buka produksi. Ngahijikeun ieu, ngahijikeun, reproducibility infrastruktur ti lingkungan lokal ka penjualan mangrupikeun titik anu penting pisan pikeun urang. Tapi ieu henteu acan di werf - urang ngan ukur ngarencanakeun pikeun ngalakukeunana.

Tapi jalur ka dapp / werf sok sami sareng Kubernetes dina awalna. Kami mendakan masalah, ngarengsekeunana kalayan solusi - kami mendakan sababaraha solusi pikeun diri sorangan dina cangkang, naon waé. Teras aranjeunna nyobian kumaha waé ngalempengkeun workarounds ieu, ngageneralisasi sareng ngahijikeun kana binari dina hal ieu, anu ku urang bagikeun.

Aya cara séjén pikeun nempo sakabeh carita ieu, kalawan analogi.

Kubernetes mangrupikeun pigura mobil kalayan mesin. Henteu aya panto, kaca, radio, tangkal Natal - teu aya nanaon. Ngan pigura jeung mesin. Sareng aya Helm - ieu mangrupikeun setir. Cool - aya setir, tapi anjeun ogé kudu pin steering, rak steering, gearbox jeung roda, jeung anjeun teu tiasa ngalakukeun tanpa aranjeunna.

Dina kasus werf, ieu komponén séjén pikeun Kubernetes. Ngan ayeuna dina versi alfa tina werf, contona, Helm disusun di jero werf, sabab urang bosen ngalakukeun eta sorangan. Aya seueur alesan pikeun ngalakukeun ieu, kuring bakal nyarioskeun ka anjeun sacara rinci ngeunaan naha urang nyusun sadayana helm sareng tiller di jero werf. dina laporan di RIT ++.

Ayeuna werf mangrupikeun komponén anu langkung terpadu. Simkuring meunang kabayang steering rengse, pin steering - Abdi teu pisan alus dina mobil, tapi ieu blok badag nu geus solves rupa-rupa masalah. Kami henteu kedah ngaliwat katalog sorangan, pilih hiji bagian pikeun anu sanés, pikirkeun kumaha ngahijikeunana. Kami kéngingkeun gabungan anu siap-siap anu ngabéréskeun sajumlah ageung masalah sakaligus. Tapi di jero diwangun tina komponén open source sami, masih ngagunakeun Docker pikeun assembly, Helm pikeun sababaraha fungsi, tur aya sababaraha perpustakaan séjén. Ieu mangrupikeun alat anu terintegrasi pikeun nyandak CI / CD tiis tina kotak gancang sareng gampang.

Naha Kubernetes sesah dijaga?

- Anjeun ngobrol ngeunaan pangalaman nu dimimitian maké Kubernetes, ieu pigura pikeun anjeun, mesin, tur anjeun bisa ngagantung loba hal béda dina: awak, setir, screw on pedals, korsi. Timbul patarosan - kumaha sesah dukungan Kubernetes pikeun anjeun? Anjeun gaduh seueur pangalaman, sabaraha waktos sareng sumber daya anjeun nyéépkeun pikeun ngadukung Kubernetes diisolasi tina anu sanés?

Dmitry: Ieu patarosan pisan hésé tur ngajawab, urang kudu ngarti naon rojongan tur naon urang hayang ti Kubernetes. Meureun anjeun bisa nembongkeun?

- Sajauh anu kuring terang sareng anu kuring tingali, ayeuna seueur tim anu hoyong nyobian Kubernetes. Sarerea harnesses dirina ka dinya, nempatkeun eta dina tuur maranéhanana. Kuring boga rarasaan yén jalma teu salawasna ngartos pajeulitna sistem ieu.

Dmitry: Nya kitu.

— Kumaha sesah nyandak sareng masang Kubernetes ti mimiti supados produksina siap?

Dmitry: Sabaraha héséna pikeun cangkok jantung? Kuring ngarti ieu patarosan compromising. Ngagunakeun scalpel a jeung teu nyieun kasalahan teu jadi hésé. Upami aranjeunna nyarioskeun ka anjeun dimana motong sareng dimana ngaput, maka prosedurna nyalira henteu rumit. Hese ngajamin waktos saatos waktos yén sadayana bakal jalan kaluar.

Masang Kubernetes sareng ngagarapna éta gampang: hayam! - dipasang, aya loba métode instalasi. Tapi naon anu lumangsung nalika masalah timbul?

Patarosan sok timbul - naon anu urang henteu acan dipertimbangkeun? Naon anu urang henteu acan dilakukeun? Parameter kernel Linux mana anu henteu leres? Gusti, naha urang malah nyebut aranjeunna?! Komponén Kubernetes mana anu kami kirimkeun sareng mana anu henteu? Rébuan patarosan timbul, sareng pikeun ngajawabna, anjeun kedah nyéépkeun 15-20 taun di industri ieu.

Kuring boga conto panganyarna dina topik ieu nu bisa nembongkeun harti masalah "Naha Kubernetes sesah dijaga?" Sababaraha waktu ka tukang urang serius mertimbangkeun naha urang kedah nyobian pikeun nerapkeun Cilium salaku jaringan di Kubernetes.

Hayu atuh ngajelaskeun naon Cilium. Kubernetes boga loba palaksanaan béda tina subsistem jaringan, sarta salah sahijina pisan cool - Cilium. Naon hartina? Dina kernel, sababaraha waktu ka tukang éta bisa nulis kait pikeun kernel, nu dina hiji cara atawa sejen narajang subsistem jaringan sarta sagala rupa subsistem lianna, sarta ngidinan Anjeun pikeun bypass sakumpulan badag dina kernel.

Kernel Linux sacara sajarahna ngagaduhan ip rout, overfilter, sasak sareng seueur komponén lami anu umurna 15, 20, 30 taun. Sacara umum, aranjeunna jalan, sagalana geus hébat, tapi ayeuna geus tumpukan peti, sarta eta Sigana mah a munara 15 bata dina luhureun silih, jeung anjeun nangtung dina hiji leg - rarasaan aneh. Sistim ieu sajarahna geus dimekarkeun kalawan loba nuansa, kawas appendix dina awak. Dina sababaraha kaayaan aya masalah kinerja, contona.

Aya BPF anu saé sareng kamampuan nyerat kait pikeun kernel - budak lalaki nyerat kait sorangan pikeun kernel. Paketna asup kana kernel Linux, aranjeunna ngaluarkeun langsung dina inputna, ngolahna sorangan sakumaha sakuduna tanpa sasak, tanpa TCP, tanpa tumpukan IP - pondokna, ngalangkungan sadayana anu diserat dina kernel Linux, teras nyiduh. eta kaluar kana wadahna.

Aya naon? Kinerja anu saé pisan, fitur anu saé - ngan keren! Tapi urang tingali ieu sareng ningali yén dina unggal mesin aya program anu nyambung ka API Kubernetes sareng, dumasar kana data anu ditampi tina API ieu, ngahasilkeun kode C sareng nyusun binari anu dimuat kana kernel supados kait ieu tiasa dianggo. dina rohangan kernel.

Naon anu lumangsung lamun aya anu salah? Kami henteu terang. Ngartos ieu, anjeun kudu maca sakabeh kode ieu, ngartos sagala logika, tur éta endah kumaha hésé éta. Tapi, di sisi anu sanés, aya sasak ieu, saringan net, ip rout - kuring henteu acan maca kode sumberna, sareng henteu gaduh 40 insinyur anu damel di perusahaan kami. Meureun ngan saeutik ngarti sababaraha bagian.

Jeung naon bédana? Tétéla aya ip rout, kernel Linux, sareng aya alat énggal - naon bédana éta, urang henteu ngartos hiji atanapi anu sanés. Tapi urang sieun ngagunakeun hal anyar - naha? Kusabab upami alatna umurna 30 taun, maka dina 30 taun sadaya bug parantos kapendak, sadaya kasalahan parantos ditincak sareng anjeun henteu kedah terang ngeunaan sadayana - éta tiasa dianggo sapertos kotak hideung sareng salawasna jalan. Sarerea weruh nu obeng diagnostik lengket di mana tempat, nu tcpdump ngajalankeun di momen naon. Sadayana terang utilitas diagnostik sareng ngartos kumaha set komponén ieu tiasa dianggo dina kernel Linux - sanés kumaha jalanna, tapi kumaha cara ngagunakeunana.

Jeung Cilium awesomely tiis teu 30 taun heubeul, éta teu yuswa acan. Kubernetes boga masalah anu sarua, nyalin. Éta Cilium dipasang sampurna, yén Kubernetes dipasang sampurna, tapi lamun hal mana anu salah dina produksi, anjeun bisa gancang ngartos dina kaayaan kritis naon nu salah?

Nalika urang nyarios hese ngajaga Kubernetes - henteu, éta gampang pisan, sareng enya, éta hésé pisan. Kubernetes tiasa dianggo nyalira, tapi kalayan samilyar nuansa.

Ngeunaan pendekatan "Kuring gé jadi untung".

- Naha aya perusahaan dimana nuansa ieu ampir dijamin muncul? Anggap Yandex ujug-ujug mindahkeun sadaya jasa ka Kubernetes, bakal aya beban anu ageung di dinya.

Dmitry: Henteu, ieu sanés obrolan ngeunaan beban, tapi ngeunaan hal-hal anu paling sederhana. Contona, urang boga Kubernetes, urang deployed aplikasi nu aya. Kumaha anjeun terang éta jalan? Aya ngan saukur teu aya alat siap-dijieun pikeun ngarti yén aplikasi henteu nabrak. Henteu aya sistem anu siap-siap anu ngirimkeun béwara; anjeun kedah ngonpigurasikeun béwara ieu sareng unggal jadwal. Sareng urang ngamutahirkeun Kubernetes.

Abdi gaduh Ubuntu 16.04. Anjeun tiasa nyebatkeun yén ieu mangrupikeun vérsi anu lami, tapi kami tetep aya sabab éta LTS. Aya systemd, nuansa nu teu ngabersihan up C-grup. Kubernetes ngaluncurkeun pods, nyiptakeun C-groups, teras ngahapus pods, sareng kumaha waé tétéla - kuring henteu émut detilna, punten - yén irisan systemd tetep. Hal ieu jadi marga pikeun kanyataan yén kana waktu, sagala mobil mimiti ngalambatkeun turun kuat. Ieu malah lain patarosan ngeunaan highload. Upami pod permanén diluncurkeun, contona, upami aya Cron Job anu terus-terusan ngahasilkeun pods, maka mesin sareng Ubuntu 16.04 bakal mimiti ngalambatkeun saatos saminggu. Bakal aya rata-rata beban anu terus-terusan kusabab kanyataan yén sakumpulan C-grup parantos didamel. Ieu mangrupikeun masalah anu bakal dihadapi ku saha waé anu ngan saukur masang Ubuntu 16 sareng Kubernetes di luhur.

Hayu urang nyebutkeun anjeunna kumaha bae ngamutahirkeun systemd atawa hal sejenna, tapi dina kernel Linux Ubuntu nepi ka 4.16 malah funnier - mun anjeun ngahapus C-grup, aranjeunna bocor dina kernel jeung teu sabenerna dihapus. Ku alatan éta, sanggeus hiji bulan gawe dina mesin ieu, éta bakal mungkin ningali statistik memori pikeun hearths. Kami ngaluarkeun file, gulung dina program, sareng hiji file gulung salami 15 detik, sabab kernel butuh waktos anu lami pisan pikeun ngitung sajuta C-grup dina dirina, anu sigana dihapus, tapi henteu - aranjeunna bocor. .

Aya kénéh loba hal leutik saperti di ditu di dieu. Ieu sanés masalah anu kadang-kadang disanghareupan ku perusahaan-perusahaan raksasa dina beban anu beurat pisan - henteu, éta mangrupikeun masalah sapopoé. Jalma tiasa hirup sapertos kieu salami sababaraha bulan - aranjeunna dipasang Kubernetes, nyebarkeun aplikasina - sigana tiasa dianggo. Pikeun seueur jalma ieu normal. Aranjeunna malah moal terang yén aplikasi ieu bakal nabrak pikeun sababaraha alesan, aranjeunna moal nampi waspada, tapi pikeun aranjeunna ieu norma. Saméméhna, urang cicing dina mesin virtual tanpa ngawaskeun, ayeuna urang geus dipindahkeun ka Kubernetes, ogé tanpa ngawaskeun - naon bédana?

Patarosanna nyaeta nalika urang leumpang dina és, urang pernah nyaho ketebalan na iwal mun ngukur eta sateuacanna. Loba jalma leumpang jeung ulah salempang, sabab geus leumpang saméméhna.

Tina sudut pandang kuring, nuansa sareng pajeulitna operasi sistem naon waé nyaéta pikeun mastikeun yén ketebalan és cukup persis pikeun ngabéréskeun masalah urang. Ieu naon urang ngobrol ngeunaan.

Dina IT, sigana mah, aya loba teuing pendekatan "Kuring gé jadi untung". Seueur jalma masang parangkat lunak sareng nganggo perpustakaan parangkat lunak kalayan harepan yén aranjeunna bakal untung. Sacara umum, loba jalma untung. Éta meureun naha gawéna.

- Tina penilaian pesimis kuring, sigana kieu: nalika résiko luhur, sareng aplikasina kedah jalan, maka dukungan diperyogikeun ti Flaunt, panginten ti Red Hat, atanapi anjeun peryogi tim internal anjeun khusus khusus pikeun Kubernetes, anu siap. pikeun narik éta.

Dmitry: Sacara obyektif, ieu kitu. Lebet kana carita Kubernetes pikeun tim leutik anjeun nyalira ngalibatkeun sababaraha résiko.

Naha urang peryogi wadah?

- Dupi anjeun tiasa ngabejaan urang kumaha nyebar Kubernetes di Rusia?

Dmitry: Kuring teu boga data ieu, sarta Kaula teu yakin kana nu sejenna boga eta. Kami nyarios: "Kubernetes, Kubernetes," tapi aya cara sanés pikeun ningali masalah ieu. Kuring ogé henteu weruh kumaha nyebar wadahna, tapi kuring nyaho inohong ti laporan dina Internet nu 70% wadahna orchestrated ku Kubernetes. Éta sumber anu dipercaya pikeun sampel anu cukup ageung di sakumna dunya.

Teras patarosan sanésna - naha urang peryogi wadah? Perasaan pribadi kuring sareng posisi sakabéh perusahaan Flant nyaéta yén Kubernetes mangrupikeun standar de facto.

Bakal aya nanaon tapi Kubernetes.

Ieu mangrupa kaulinan-changer mutlak dina widang manajemén infrastruktur. Ngan mutlak - éta, euweuh deui Ansible, Chef, mesin virtual, Terraform. Abdi teu ngawangkong ngeunaan métode pertanian koléktif heubeul. Kubernetes mangrupakeun changer mutlak, sareng ayeuna ngan bakal sapertos kieu.

Jelas yén pikeun sababaraha peryogi sababaraha taun, sareng pikeun anu sanés sababaraha dekade, pikeun ngawujudkeun ieu. Kuring henteu ragu yén bakal aya nanaon tapi Kubernetes sareng tampilan anyar ieu: kami henteu deui ngaruksak sistem operasi, tapi nganggo infrastruktur salaku kode, ngan teu kalawan kode, tapi kalawan yml - infrastruktur declaratively digambarkeun. Kuring boga rarasaan nu bakal salawasna jadi kawas kieu.

- Nyaéta, perusahaan-perusahaan anu henteu acan ngalih ka Kubernetes pasti bakal ngalih ka éta atanapi tetep di oblivion. Abdi ngartos anjeun leres?

Dmitry: Ieu ogé teu sagemblengna bener. Salaku conto, upami urang ngagaduhan tugas ngajalankeun server DNS, maka éta tiasa dijalankeun dina FreeBSD 4.10 sareng tiasa dianggo sampurna salami 20 taun. Ngan gawé jeung éta. Panginten dina 20 taun aya anu peryogi diropéa sakali. Upami urang nyarioskeun ngeunaan parangkat lunak dina format anu kami luncurkeun sareng éta leres-leres tiasa dianggo mangtaun-taun tanpa apdet, tanpa parobihan, tangtosna, moal aya Kubernetes. Anjeunna henteu diperyogikeun di dinya.

Sagalana patali CI / CD - dimana wae Pangiriman Kontinyu diperlukeun, dimana anjeun kudu ngamutahirkeun versi, jieun perobahan aktip, dimana wae anjeun kudu ngawangun kasabaran sesar - ngan Kubernetes.

Ngeunaan microservices

- Di dieu kuring boga dissonance saeutik. Pikeun damel sareng Kubernetes, anjeun peryogi dukungan éksternal atanapi internal - ieu mangrupikeun titik anu munggaran. Bréh, nalika urang nembé ngamimitian pangwangunan, kami mangrupikeun ngamimitian leutik, kami henteu acan gaduh nanaon, pamekaran pikeun Kubernetes atanapi arsitéktur microservice sacara umum tiasa rumit sareng henteu salawasna diyakinkeun sacara ékonomis. Abdi kabetot dina pendapat anjeun - naha startups kudu geuwat ngamimitian nulis pikeun Kubernetes ti scratch, atawa masih bisa nulis monolith a, lajeng ngan datang ka Kubernetes?

Dmitry: Patarosan keren. Kuring boga Obrolan ngeunaan microservices "Microservices: Ukuran Matters." Sababaraha kali kuring geus encountered jalma nyoba palu kuku jeung mikroskop. Pendekatan sorangan leres; urang sorangan mendesain parangkat lunak internal urang ku cara kieu. Tapi nalika anjeun ngalakukeun ieu, anjeun kedah jelas ngartos naon anu anjeun lakukeun. Kecap anu paling kuring benci ngeunaan jasa mikro nyaéta "mikro." Dina sajarahna, kecap ieu asalna di dinya, sarta pikeun sababaraha alesan jalma mikir yén mikro leutik pisan, kirang ti hiji milimeter, kawas mikrométer a. Ieu salah.

Contona, aya hiji monolith nu ditulis ku 300 urang, sarta dulur anu ilubiung dina ngembangkeun ngartos yen aya masalah di dinya, sarta eta kudu pegat kana mikro-sapotong - kira 10 lembar, nu masing-masing ditulis ku 30 urang. dina versi minimum. Ieu penting, perlu jeung tiis. Tapi lamun ngamimitian hiji datang ka kami, dimana 3 guys pisan tiis tur berbakat wrote 60 microservices on tuur maranéhna, unggal waktu kuring néangan Corvalol.

Sigana mah ieu geus kungsi dikaitkeun rébuan kali - urang meunang monolith disebarkeun dina hiji formulir atawa lianna. Ieu teu ékonomis diyakinkeun, éta pisan hésé sacara umum dina sagalana. Kuring geus ngan katempo ieu jadi sababaraha kali nu bener hurts kuring, jadi kuring neruskeun ngobrol ngeunaan eta.

Pikeun patarosan awal, aya konflik antara kanyataan yén, di hiji sisi, Kubernetes pikasieuneun pikeun dianggo, sabab henteu jelas naon anu tiasa rusak atanapi henteu dianggo, di sisi sanésna, jelas yén sadayana aya. jeung euweuh tapi Kubernetes bakal aya. Jawab- beuratna jumlah benefit nu datang, jumlah tugas nu bisa Anjeun ngajawab. Ieu dina hiji sisi skala. Di sisi anu sanés, aya résiko anu aya hubunganana sareng downtime atanapi panurunan dina waktos réspon, tingkat kasadiaan - kalayan panurunan dina indikator kinerja.

Ieu nya - boh urang gerak gancang, sarta Kubernetes ngamungkinkeun urang pikeun ngalakukeun loba hal leuwih gancang sarta hadé, atawa urang ngagunakeun dipercaya, solusi-dites waktos, tapi gerak leuwih laun. Ieu mangrupikeun pilihan anu kedah dilakukeun ku unggal perusahaan. Anjeun tiasa nganggap éta salaku jalan di leuweung - nalika anjeun leumpang pikeun kahiji kalina, anjeun tiasa pendak sareng oray, macan atanapi badger anu gelo, sareng nalika anjeun leumpang 10 kali, anjeun parantos ngalangkungan jalanna, dipiceun. dahan jeung leumpang leuwih gampang. Unggal waktos jalan beuki lega. Lajeng éta jalan aspal, sarta engké hiji boulevard geulis.

Kubernetes teu nangtung kénéh. Patarosan deui: Kubernetes, di hiji sisi, nyaeta 4-5 binér, di sisi séjén, éta sakabéh ékosistem. Ieu mangrupikeun sistem operasi anu aya dina mesin kami. Naon ini? Ubuntu atanapi Curios? Ieu mangrupikeun kernel Linux, sakumpulan komponén tambahan. Sadaya ieu di dieu, hiji oray bahya dialungkeun kaluar tina jalan, pager anu diadegkeun di dinya. Kubernetes ngembang pisan gancang sarta dinamis, sarta volume resiko, volume kanyahoan nurun unggal bulan jeung, sasuai, skala ieu rebalancing.

Ngawalon sual naon ngamimitian hiji kedah ngalakukeun, abdi bakal nyebutkeun - datang ka Flaunt, mayar 150 sarébu rubles sarta meunangkeun turnkey DevOps layanan gampang. Upami anjeun ngamimitian leutik sareng sababaraha pamekar, ieu tiasa dianggo. Gantina nyewa DevOps anjeun nyalira, anu kedah diajar kumaha ngabéréskeun masalah anjeun sareng mayar gaji ayeuna, anjeun bakal nampi solusi turnkey pikeun sadaya masalah. Sumuhun, aya sababaraha kalemahan. Urang, salaku outsourcer, teu bisa jadi aub jeung gancang ngabales parobahan. Tapi urang gaduh seueur kaahlian sareng prakték anu siap-siap. Kami ngajamin yén dina kaayaan naon waé urang pasti bakal gancang terangkeun sareng ngangkat Kubernetes tina maot.

Kuring nyarankeun pisan outsourcing ka startups sarta ngadegkeun usaha nepi ka ukuran mana anjeun bisa ngahaturanan tim 10 urang pikeun operasi, sabab disebutkeun euweuh titik. Pasti ngajadikeun rasa outsource ieu.

Ngeunaan Amazon jeung Google

- Naha host tina solusi ti Amazon atanapi Google tiasa dianggap salaku outsource?

Dmitry: Sumuhun, tangtosna, ieu solves sababaraha masalah. Tapi deui aya nuances. Anjeun masih kedah ngartos kumaha carana make eta. Contona, aya sarébu hal saeutik dina karya Amazon AWS: Load Balancer perlu warmed up atawa pamundut kudu ditulis sateuacanna yén "guys, urang bakal nampa lalulintas, haneut nepi Load Balancer keur urang!" Anjeun kudu nyaho nuances ieu.

Lamun anjeun giliran jalma anu ngahususkeun dina ieu, anjeun meunang ampir kabéh hal has ditutup. Urang ayeuna gaduh 40 insinyur, dina ahir taun sigana bakal aya 60 - urang pasti bakal mendakan sagala hal ieu. Malah lamun urang sapatemon deui masalah ieu dina sababaraha proyék, urang gancang nanya ka silih tur nyaho kumaha carana ngajawab eta.

Panginten jawabanna - tangtosna, carita anu di-host ngajantenkeun sababaraha bagian langkung gampang. Patarosanna naha anjeun siap percanten hosters ieu sareng naha aranjeunna bakal ngabéréskeun masalah anjeun. Amazon jeung Google geus dipigawé ogé. Pikeun sakabéh kasus urang - persis. Kami henteu gaduh pangalaman anu langkung positif. Kabéh awan séjén yén urang diusahakeun digawekeun ku nyieun loba masalah - Ager, jeung sagalana nu aya di Rusia, sarta sagala jinis OpenStack dina palaksanaan béda: Headster, Overage - naon rék. Éta sadayana nyiptakeun masalah anu anjeun henteu hoyong direngsekeun.

Ku alatan éta, jawaban téh enya, tapi, dina kanyataanana, aya teu pisan loba solusi hosted dewasa.

Saha anu peryogi Kubernetes?

- Sareng, saha anu peryogi Kubernetes? Saha anu kedah ngalih ka Kubernetes, anu mangrupikeun klien Flaunt anu khusus pikeun Kubernetes?

Dmitry: Ieu mangrupikeun patarosan anu pikaresepeun, sabab ayeuna, saatos Kubernetes, seueur jalma anu sumping ka kami: "Guys, kami terang yén anjeun ngalakukeun Kubernetes, laksanakeun pikeun kami!" Kami ngajawab aranjeunna: "Tuan-tuan, kami henteu ngalakukeun Kubernetes, kami ngalakukeun prod sareng sadayana anu aya hubunganana sareng éta." Kusabab ayeuna ngan saukur teu mungkin pikeun ngadamel produk tanpa ngalakukeun sadayana CI / CD sareng sadayana carita ieu. Sarerea geus dipindahkeun jauh ti division nu urang geus ngembangkeun ku ngembangkeun, lajeng eksploitasi ku eksploitasi.

Klién kami nyangka hal anu béda, tapi sadayana ngantosan sababaraha mujijat anu saé yén aranjeunna gaduh masalah anu tangtu, sareng ayeuna - hop! - Kubernetes bakal ngajawab aranjeunna. Jalma percaya kaajaiban. Dina pikiran maranéhanana ngarti yén moal aya mujijat, tapi dina jiwa maranéhanana ngaharepkeun - kumaha lamun Kubernetes ieu ayeuna bakal ngajawab sagalana pikeun urang, aranjeunna ngobrol pisan ngeunaan eta! Ujug-ujug anjeunna ayeuna - bersin! - jeung pélor pérak, bersin! - sareng urang gaduh waktos 100%, sadaya pamekar tiasa ngabebaskeun naon waé anu aya dina produksi 50 kali, sareng éta henteu nabrak. Sacara umum, mujijat!

Waktu jalma-jalma kitu datang ka urang, urang ngomong, ”Hampura, tapi teu aya kaajaiban.” Pikeun séhat, anjeun kedah tuang anu saé sareng olahraga. Pikeun gaduh produk anu tiasa dipercaya, éta kedah dilakukeun sacara dipercaya. Pikeun gaduh CI / CD anu merenah, anjeun kedah ngadamel sapertos kieu. Éta seueur padamelan anu kedah dilakukeun.

Ngawalon patarosan saha anu peryogi Kubernetes - teu aya anu peryogi Kubernetes.

Sababaraha urang gaduh misconception yén maranéhna butuh Kubernetes. Jalma-jalma peryogi, aranjeunna gaduh kabutuhan anu jero pikeun ngeureunkeun pamikiran, diajar, sareng kabetot dina sagala masalah infrastruktur sareng masalah ngajalankeun aplikasina. Aranjeunna hoyong aplikasi ngan ukur tiasa dianggo sareng ngan ukur nyebarkeun. Pikeun aranjeunna, Kubernetes mangrupikeun harepan yén aranjeunna bakal lirén ngupingkeun carita yén "kami bohong di dinya," atanapi "kami henteu tiasa ngaluncurkeun," atanapi anu sanés.

Diréktur téknis biasana datang ka kami. Aranjeunna naroskeun anjeunna dua hal: di hiji sisi, masihan kami fitur, di sisi anu sanés, stabilitas. Kami ngarékoméndasikeun anjeun nyandak kana diri sareng ngalakukeunana. Bullet pérak, atawa rada pérak-plated, nyaeta nu bakal eureun mikir ngeunaan masalah ieu sarta wasting waktu. Anjeun bakal gaduh jalma khusus anu bakal nutup masalah ieu.

Kecap anu urang atanapi saha waé peryogi Kubernetes henteu leres.

Admins leres-leres peryogi Kubernetes, sabab éta mangrupikeun cocooan anu pikaresepeun pisan anu anjeun tiasa maénkeun sareng ngupingkeun. Hayu urang jujur ​​- dulur mikanyaah Toys. Kami kabeh barudak wae, sarta lamun urang ningali nu anyar, urang rék maénkeun éta. Kanggo sababaraha, ieu discouraged, contona, dina administrasi, sabab geus dimaénkeun cukup jeung geus capé nepi ka titik nu teu hayang. Tapi ieu teu sagemblengna leungit ka saha. Salaku conto, upami kuring bosen cocooan dina widang administrasi sistem sareng DevOps kanggo waktos anu lami, maka kuring masih resep cocooan, kuring masih ngagaleuh sababaraha anu énggal. Kabéh jalma, hiji cara atawa sejen, masih hoyong sababaraha jenis Toys.

Teu perlu maén kalawan produksi. Naon waé anu kuring nyarankeun pikeun henteu ngalakukeun sareng naon anu kuring tingali ayeuna sacara masal: "Oh, cocooan énggal!" — aranjeunna lumpat mésér éta, ngagaleuh sareng: "Hayu urang bawa ka sakola ayeuna sareng nunjukkeun ka sadayana réréncangan urang." Ulah kitu. Hapunten, murangkalih kuring ngan ukur ageung, kuring teras-terasan ningali hiji hal di barudak, perhatikeun dina diri kuring, teras digeneralisasikeun ka batur.

Jawaban ahir nyaéta: anjeun henteu peryogi Kubernetes. Anjeun kudu ngajawab masalah anjeun.

Anu anjeun tiasa ngahontal nyaéta:

  • prod teu ragrag;
  • malah lamun manehna nyoba ragrag, urang terang ngeunaan eta sateuacanna, tur urang tiasa nempatkeun hal di dinya;
  • urang bisa ngarobah éta dina speed di mana bisnis urang merlukeun eta, sarta kami bisa ngalakukeun hal eta merenah; teu ngakibatkeun urang masalah nanaon.

Aya dua kabutuhan nyata: reliabilitas sareng dinamisme / kalenturan rollout. Sarerea anu ayeuna ngalakukeun sababaraha jenis proyék IT, euweuh urusan naon jenis bisnis - lemes keur easing dunya, sarta saha understands ieu, perlu pikeun ngajawab kaperluan ieu. Kubernetes kalayan pendekatan anu leres, kalayan pamahaman anu leres sareng pangalaman anu cekap ngamungkinkeun anjeun pikeun ngabéréskeunana.

Ngeunaan serverless

- Lamun neuteup saeutik salajengna kana mangsa nu bakal datang, teras nyobian pikeun ngajawab masalah henteuna headaches kalawan infrastruktur, kalawan laju rollout jeung laju parobahan aplikasi, solusi anyar muncul, contona, serverless. Naha anjeun ngarasa aya poténsi dina arah ieu sareng, hayu urang nyarios, bahaya pikeun Kubernetes sareng solusi anu sami?

Dmitry: Di dieu urang kudu nyieun catetan deui yén kuring lain seer anu kasampak di hareup jeung nyebutkeun - eta bakal kawas kieu! Sanajan kuring ngan ngalakukeun hal anu sarua. Kuring neuteup kana suku kuring jeung ningali kebat masalah aya, contona, kumaha transistor jalan dina komputer. Ieu lucu, katuhu? Kami mendakan sababaraha bug dina CPU.

Jieun serverless cukup dipercaya, mirah, efisien sarta merenah, ngarengsekeun sagala masalah ékosistem. Di dieu kuring satuju sareng Elon Musk yén planét kadua diperyogikeun pikeun nyiptakeun kasabaran kasalahan pikeun umat manusa. Sanaos kuring henteu terang naon anu anjeunna nyarioskeun, kuring ngartos yén kuring henteu siap ngapung ka Mars sorangan sareng éta moal kajadian isukan.

Kalayan serverless jelas jelas yén ieu mangrupikeun hal anu leres sacara ideologis, sapertos kasabaran kasalahan pikeun umat manusa - gaduh dua planét langkung saé tibatan hiji. Tapi kumaha ngalakukeunana ayeuna? Ngirim hiji ekspedisi teu jadi masalah lamun konsentrasi usaha anjeun ka dinya. Ngirimkeun sababaraha ekspedisi sareng netepkeun sababaraha rébu jalma di dinya, kuring pikir, ogé réalistis. Tapi sangkan sagemblengna lepat-toleran ambéh satengah umat manusa hirup di dinya, sigana kuring ayeuna teu mungkin, teu dianggap.

Kalayan tanpa server hiji-hiji: hal éta keren, tapi jauh tina masalah taun 2019. Deukeut ka 2030 - hayu urang hirup ningali éta. Kuring henteu ragu yén urang bakal hirup, urang pasti bakal hirup (ulangan sateuacan bobo), tapi ayeuna urang kedah ngabéréskeun masalah anu sanés. Éta kawas percanten kana dongeng pony Pelangi. Leres, sababaraha persén kasus direngsekeun, sareng aranjeunna direngsekeun sacara sampurna, tapi sacara subjektif, tanpa server mangrupikeun katumbiri ... Kanggo kuring, topik ieu jauh teuing sareng teu kaharti. Abdi henteu siap ngobrol. Dina taun 2019, anjeun moal tiasa nyerat hiji aplikasi nganggo serverless.

Kumaha Kubernetes bakal mekar

— Nalika urang nuju ka masa depan anu jauh anu berpotensi éndah ieu, kumaha saur anjeun Kubernetes sareng ékosistem di sabudeureun éta bakal mekar?

Dmitry: Kuring geus mikir ngeunaan ieu pisan jeung kuring boga jawaban jelas. Anu kahiji nyaéta statefull - barina ogé, stateless langkung gampang dilakukeun. Kubernetes mimitina langkung seueur investasi dina ieu, sadayana dimimitian ku éta. Stateless berpungsi ampir sampurna di Kubernetes, ngan aya nanaon pikeun ngawadul. Masih seueur masalah, atanapi langkungna, nuansa. Sagalana aya geus jalan gede pikeun urang, tapi éta kami. Peryogi sahenteuna sababaraha taun deui kanggo ieu tiasa dianggo pikeun sadayana. Ieu sanes indikator diitung, tapi rarasaan kuring ti sirah kuring.

Pondokna, statefull kedah - sarta bakal - ngamekarkeun pisan kuat, sabab sakabeh aplikasi urang nyimpen status; aya euweuh aplikasi stateless. Ieu mangrupikeun ilusi; anjeun peryogi sababaraha jinis database sareng anu sanés. Statefull ngeunaan ngalempengkeun sagala hal anu mungkin, ngalereskeun sadaya bug, ningkatkeun sagala masalah anu ayeuna disanghareupan - hayu urang nyebat adopsi.

Tingkat kanyahoan, tingkat masalah unresolved, tingkat probabiliti encountering hal bakal turun nyata. Ieu carita penting. Sareng operator - sadayana anu aya hubunganana sareng kodifikasi logika administrasi, logika kontrol supados kéngingkeun jasa anu gampang: jasa gampang MySQL, jasa gampang RabbitMQ, jasa gampang Memcache - sacara umum, sadaya komponén ieu anu urang kedah dijamin tiasa dianggo. kotak. Ieu ngan solves nyeri nu urang hayang database a, tapi urang teu hayang administer eta, atawa urang hayang Kubernetes, tapi urang teu hayang administer eta.

Carita ngeunaan pamekaran operator dina hiji bentuk atanapi anu sanés bakal penting dina sababaraha taun ka hareup.

Jigana betah pamakéan kedah ningkat pisan - kotak bakal jadi beuki loba hideung, beuki loba dipercaya, kalawan kenop beuki basajan.

Kuring sakali ngadangukeun wawancara lami sareng Isaac Asimov ti taun 80an dina YouTube dina acara Saturday Night Live - program sapertos Urgant, ngan ukur pikaresepeun. Aranjeunna naroskeun anjeunna ngeunaan masa depan komputer. Cenah mah mangsa nu bakal datang dina kesederhanaan, kawas radio. Panarima radio asalna mangrupikeun hal anu rumit. Pikeun nyekel gelombang, Anjeun kudu ngahurungkeun kenop pikeun 15 menit, ngahurungkeun skewers jeung umumna nyaho kumaha sagalana jalan, ngarti fisika transmisi gelombang radio. Hasilna, ngan aya hiji kenop ditinggalkeun dina radio.

Ayeuna di 2019 radio naon? Dina mobil, panarima radio manggihan sakabeh gelombang jeung ngaran stasiun. Fisika prosés teu robah dina 100 taun, tapi betah pamakéan geus. Ayeuna, teu ngan ayeuna, geus di 1980, nalika aya hiji wawancara kalawan Azimov, dulur ngagunakeun radio jeung teu saurang ogé mikir ngeunaan kumaha gawéna. Ieu salawasna digawé - éta dibikeun.

Azimov teras nyarios yén éta bakal sami sareng komputer - betah pamakéan bakal nambahan. Nalika di 1980 anjeun kedah dilatih pikeun mencét tombol dina komputer, éta moal janten kasus ka hareup.

Kuring boga rarasaan yén kalawan Kubernetes sarta infrastruktur bakal aya ogé kanaékan badag dina betah pamakéan. Ieu, dina pamanggih kuring, atra - eta perenahna dina beungeut cai.

Naon anu kudu dipigawé kalayan insinyur?

— Naon anu bakal kajadian ka insinyur sareng pangurus sistem anu ngadukung Kubernetes?

Dmitry: Naon anu lumangsung ka akuntan sanggeus mecenghulna 1C? Kira-kira sarua. Sateuacan ieu, aranjeunna diitung dina kertas - ayeuna dina program. Produktivitas tanaga gawé geus ngaronjat ku urutan gedena, tapi tanaga gawé sorangan teu leungit. Lamun samemehna butuh 10 insinyur pikeun screw dina bohlam lampu, ayeuna hiji bakal cukup.

Jumlah parangkat lunak sareng jumlah tugas, sigana kuring, ayeuna ngembang dina laju anu langkung gancang tibatan DevOps anyar anu muncul sareng efisiensi ningkat. Aya kakurangan khusus di pasar ayeuna sareng éta bakal lami. Engké, sagalana bakal balik deui ka sababaraha jenis normalitas, nu efisiensi gawé bakal ningkat, bakal aya beuki loba serverless, neuron bakal napel Kubernetes, nu bakal milih sagala sumber persis sakumaha diperlukeun, sarta sacara umum bakal. ngalakukeun sagalana sorangan, sakumaha sakuduna - jalma ngan lengkah jauh jeung ulah ngaganggu.

Tapi batur bakal tetep kudu nyieun kaputusan. Éta jelas yén tingkat kualifikasi sareng spésialisasi jalma ieu langkung luhur. Jaman ayeuna mah di jurusan akuntansi mah teu butuh 10 karyawan nu nyimpen buku sangkan leungeunna teu cape. Ieu ngan saukur teu perlu. Seueur dokumén anu otomatis diseken sareng diakui ku sistem manajemén dokumén éléktronik. Hiji lulugu akuntan pinter cukup, geus mibanda kaahlian loba gede, kalawan pamahaman alus.

Sacara umum, ieu mangrupikeun jalan pikeun sadaya industri. Éta sami sareng mobil: sateuacana, mobil sumping sareng montir sareng tilu supir. Kiwari, nyetir mobil mangrupikeun prosés anu saderhana dimana urang sadayana milu unggal dinten. Teu aya anu nyangka yén mobil mangrupikeun hal anu rumit.

DevOps atanapi rékayasa sistem moal dileungitkeun - karya tingkat luhur sareng efisiensi bakal ningkat.

- Kuring ogé ngadéngé hiji gagasan metot yén karya sabenerna bakal nambahan.

Dmitry: Emang saratus persen! Kusabab jumlah parangkat lunak anu urang tulis terus ningkat. Jumlah masalah anu urang ngajawab ku parangkat lunak terus ningkat. Jumlah gawé téh tumuwuh. Ayeuna pasar DevOps parantos panas pisan. Ieu bisa ditempo dina ekspektasi gaji. Dina cara anu sae, tanpa rinci, kedah aya junior anu hoyong X, tengah anu hoyong 1,5X, sareng senior anu hoyong 2X. Sareng ayeuna, upami anjeun ningali pasar gaji Moscow DevOps, SMP hoyong ti X ka 3X sareng senior hoyong ti X ka 3X.

Teu aya anu terang sabaraha biayana. Tingkat gaji diukur ku kapercayaan anjeun - bumi gila lengkep, jujur, pasar anu panas pisan.

Tangtosna, kaayaan ieu bakal robih pas - sababaraha jenuh kedah kajantenan. Ieu teu kasus kalawan ngembangkeun software - sanajan kanyataan yén dulur perlu pamekar, jeung dulur perlu pamekar alus, pasar understands saha patut naon - industri geus netep. Éta sanés kasus DevOps ayeuna.

- Ti naon atuh uninga, abdi menyimpulkan yén administrator sistem ayeuna teu kudu salempang teuing, tapi éta waktu pikeun ngamutahirkeun kaahlian sarta nyiapkeun kanyataan yén isukan bakal aya deui gawé, tapi bakal leuwih mumpuni.

Dmitry: Saratus persén. Sacara umum, urang hirup di 2019 sareng aturan hirup nyaéta kieu: pangajaran hirupna - urang diajar sapanjang hirup urang. Sigana mah ayeuna sadayana parantos terang sareng ngaraosan ieu, tapi henteu cekap terang - anjeun kedah ngalakukeunana. Unggal dinten urang kedah robih. Upami urang henteu ngalakukeun ieu, maka engké atanapi engké urang bakal turun di sela-sela profési.

Nyiapkeun pikeun péngkolan seukeut 180-derajat. Kuring henteu ngaluarkeun kaayaan dimana aya anu robih sacara radikal, aya anu anyar diciptakeun - éta kajadian. Hop! - sarta kami ayeuna meta béda. Penting pikeun nyiapkeun ieu sareng henteu hariwang. Panginten tiasa waé énjing sadayana anu kuring laksanakeun bakal janten teu perlu - nanaon, kuring parantos diajar sapanjang hirup kuring sareng siap diajar anu sanés. Teu jadi masalah. Teu kedah sieun kaamanan padamelan, tapi anjeun kedah siap-siap diajar anu énggal.

Kahayang sareng menit iklan

- Dupi anjeun gaduh kahayang?

Dmitry: Sumuhun, abdi gaduh sababaraha kahayang.

Kahiji jeung mercantile - ngalanggan YouTube. Pamiarsa anu hormat, buka YouTube sareng ngalanggan saluran kami. Kira-kira sabulan urang bakal ngamimitian ékspansi aktip dina layanan vidéo. Urang bakal gaduh seueur eusi atikan ngeunaan Kubernetes, kabuka sareng variatif: tina hal praktis, dugi ka laboratorium, dugi ka hal-hal téoritis dasar anu jero sareng cara ngagunakeun Kubernetes di tingkat prinsip jeung pola.

Kahayang mercantile kadua - buka GitHub sarta nempatkeun béntang sabab kami eupan on aranjeunna. Mun anjeun teu masihan kami béntang, urang moal boga nanaon dahar. Ieu kawas mana dina kaulinan komputer. Urang ngalakukeun hiji hal, urang ngalakukeun, urang nyobian, batur nyebutkeun yén ieu téh bicycles dahsyat, batur nu sagalana sagemblengna salah, tapi urang nuluykeun sarta meta leres pisan jujur. Urang ningali hiji masalah, ngajawab eta sarta babagi pangalaman urang. Ku alatan éta, pasihan kami béntang, éta moal dileungitkeun ti anjeun, tapi bakal datang ka kami, sabab kami eupan aranjeunna.

Katilu, penting, sareng teu aya deui kahayang dagang - eureun percaya kana dongéng. Anjeun profésional. DevOps mangrupikeun profési anu serius sareng tanggung jawab. Eureun maén di gaw. Hayu eta klik pikeun anjeun sarta anjeun bakal ngarti eta. Bayangkeun yén anjeun sumping ka rumah sakit, sareng di dinya dokter nyobian anjeun. Kuring ngarti yén ieu bisa jadi karasa ka batur, tapi, paling dipikaresep, ieu teu ngeunaan anjeun, tapi ngeunaan batur. Nitah batur eureun ogé. Ieu leres-leres ngarusak kahirupan pikeun urang sadayana - seueur anu mimiti ngarawat operasi, admin sareng DevOps salaku dudes anu parantos ngarobih deui. Ieu "pegat" pangseringna alatan kanyataan yén urang indit ka maén, sarta teu kasampak kalawan eling tiis yén ieu téh kumaha éta, tur éta kumaha éta.

Ieu sanés hartosna anjeun henteu kedah ékspérimén. Urang kedah ékspérimén, urang ngalakukeunana sorangan. Jujur, urang sorangan kadang maénkeun kaulinan - ieu, tangtosna, pisan goréng, tapi teu aya manusa alien ka urang. Hayu urang nyatakeun 2019 taun ékspérimén anu serius, panginten-kaluar, sareng sanés kaulinan dina produksi. Meureun kitu.

- Hatur nuhun pisan!

Dmitry: Hatur nuhun, Vitaly, duanana keur waktu jeung wawancara. Pamiarsa anu dihormat, hatur nuhun pisan upami anjeun ujug-ujug dugi ka titik ieu. Kuring miharep yén kami mawa anjeun sahenteuna sababaraha pikiran.

Dina wawancara, Dmitry keuna kana masalah werf. Ayeuna ieu péso Swiss universal nu solves ampir kabéh masalah. Tapi teu salawasna kitu. Dina DevOpsConf  dina festival RIT++ Dmitry Stolyarov bakal ngabejaan Anjeun tentang alat ieu di jéntré. dina laporan "werf mangrupikeun alat kami pikeun CI/CD di Kubernetes" bakal aya sadayana: masalah sareng nuansa disumputkeun tina Kubernetes, pilihan pikeun ngarengsekeun kasusah ieu sareng palaksanaan werf ayeuna sacara rinci. Miluan kami dina 27 sareng 28 Méi, kami bakal nyiptakeun alat anu sampurna.

sumber: www.habr.com

Tambahkeun komentar