Fa'aauauina Fa'ata'ita'i Fa'ata'ita'i ma Docker (toe iloilo ma vitiō)

O le a amata la matou blog i faʻasalalauga e faʻavae i luga o tautalaga lata mai a le matou faʻatonu faʻapitoa distol (Dmitry Stolyarov). O ia mea uma na faia i le 2016 i faʻalapotopotoga faʻapolofesa eseese ma faʻamaoni i le autu o DevOps ma Docker. Tasi le vitio mai le Docker Moscow fonotaga i le ofisa Badoo, ua uma ona matou lomia faasalalau Initoneti. O tala fou o le a faʻatasi ma tala o loʻo faʻaalia ai le uiga o lipoti. O lea…

31 Me i le fonotaga RootConf 2016, na faia o se vaega o le tausamiga "Russian Internet Technologies" (RIT ++ 2016), o le vaega "Faʻaauau le Faʻaogaina ma le Faʻaogaina" na tatalaina i le lipoti "O Faiga Sili o Faʻasalalauga Faʻaauau ma Docker". Na aoteleina ma faʻatulagaina faiga sili ona lelei mo le fausiaina o le Faʻaauau Faʻasalalauga (CD) faʻaogaina e faʻaaoga ai Docker ma isi oloa Open Source. Matou te galulue faʻatasi ma nei fofo i le gaosiga, lea e mafai ai ona matou faʻalagolago i le poto masani.

Fa'aauauina Fa'ata'ita'i Fa'ata'ita'i ma Docker (toe iloilo ma vitiō)

Afai e te maua le avanoa e faʻaalu ai se itula vitio o le lipoti, matou te fautuaina e matamata i le atoatoa. A leai, o lo'o i lalo le aotelega autu ile fa'amatalaga.

Fa'aauauina le Tiliva ma Docker

Lalo Faʻaauau Faaooina matou te malamalama i le faasologa o mea na tutupu ona o le mea e muamua ona oʻo mai ai le code talosaga mai le Git repository i le gaosiga, ona maeʻa ai lea i le archive. E pei o lenei: Git → Fausia → Suʻega → Faʻasaʻo → Faʻatino.

Fa'aauauina Fa'ata'ita'i Fa'ata'ita'i ma Docker (toe iloilo ma vitiō)
O le tele o le lipoti o lo'o tu'uina atu i le tulaga faufale (fa'apipi'i talosaga), ma o mataupu fa'asalalau ma fa'agaioiga e pa'i puupuu i ai. O le a matou talanoa e uiga i faʻafitauli ma mamanu e mafai ai ona e foia, ma o faʻatinoga faʻapitoa o nei mamanu atonu e ese.

Aisea e manaʻomia ai Docker iinei? E leai se mea na matou filifili ai e talanoa e uiga i faiga Faʻaauau Faʻasalalauga i totonu o le tala o lenei meafaigaluega Open Source. E ui o le lipoti atoa o loʻo tuʻuina atu i lona faʻaogaina, e tele mafuaʻaga e faʻaalia pe a mafaufau i le mamanu autu o le faʻaogaina o code code.

Fa'asologa autu o le fa'asalalau

O lea la, pe a matou faʻasalalau faʻamatalaga fou o le talosaga, e mautinoa lava matou te feagai fa'afitauli fa'aletonu, fa'atupuina a'o fesuia'i le 'au'aunaga gaosi. Fefaʻatauaʻiga mai le lomiga tuai o le talosaga i le mea fou e le mafai ona fesuiaʻi vave: muamua e tatau ona tatou mautinoa o le lomiga fou e le gata ina faʻafeiloaʻi lelei, ae faʻapea foi "faʻamafanafanaina" (o lona uiga, saunia atoatoa e tuʻuina atu talosaga).

Fa'aauauina Fa'ata'ita'i Fa'ata'ita'i ma Docker (toe iloilo ma vitiō)
O le mea lea, mo sina taimi o le a galulue tutusa uma lomiga e lua o le talosaga (tuai ma fou). Lea e otometi ona tau atu i fete'ena'iga fa'asoa fa'asoa: fesoʻotaʻiga, faila faila, IPC, ma isi. Faatasi ai ma Docker, o lenei faʻafitauli e faigofie ona foia e ala i le faʻaogaina o lomiga eseese o le talosaga i totonu o pusa eseese, lea e faʻamaonia ai le tuʻufaʻatasia o punaoa i totonu o le talimalo e tasi (server / virtual machine). O le mea moni, e mafai ona e maua ni togafiti e aunoa ma se faʻamalama, ae afai o loʻo i ai se meafaigaluega ua saunia ma faigofie, o loʻo i ai le faʻafeagai mafuaaga - aua le tuulafoaia.

O le Containerization e maua ai le tele o isi faʻamanuiaga pe a faʻapipiʻiina. Soo se talosaga e faalagolago i fa'amatalaga fa'apitoa (po'o le fa'asologa o fa'asologa) faamatalaupu, avanoa o modules / faʻaopoopoga, ma isi, faʻapea foʻi ma a latou faʻamatalaga. Ma e faʻaoga lenei mea e le gata i le siosiomaga faʻatinoina vave, ae faʻapea foi i le siosiomaga atoa, e aofia ai polokalama faakomepiuta ma lona faʻasologa (e oʻo atu i le tufatufaina o Linux na faʻaaogaina). Ona o le mea moni o koneteina e le gata o loʻo i ai le code code, ae faʻapea foʻi le faʻapipiʻiina o le polokalama ma le polokalama faʻaoga o lomiga manaʻomia, e mafai ona e faʻagaloina faʻafitauli ma faʻalagolago.

Sei o tatou otootoina fa'asologa autu o le fa'asalalau lomiga fou e fa'atatau i mea nei:

  1. I le taimi muamua, o le lomiga tuai o le talosaga e alu i totonu o le pusa muamua.
  2. O le lomiga fou e taʻavale i fafo ma "faʻamafanafanaina" i totonu o se pusa lona lua. E maitauina o lenei lomiga fou lava ia e mafai ona le gata ina faʻafouina le numera o talosaga, ae faʻapea foʻi ma soʻo se mea faʻalagolago, faʻapea foʻi ma vaega o le polokalama (mo se faʻataʻitaʻiga, o se lomiga fou o OpenSSL poʻo le tufatufaina atoa).
  3. A'o sauni atoatoa le lomiga fou e tu'uina atu ai talosaga, e fesuia'i feoaiga mai le pusa muamua i le lona lua.
  4. Ua mafai nei ona taofi le lomiga tuai.

O lenei faiga o le faʻaogaina o faʻamatalaga eseese o le talosaga i totonu o pusa eseese e maua ai se isi faʻaogagofie - toe fo'i vave i le lomiga tuai (pe a uma, ua lava le fesuiaʻi o fefaʻatauaiga i le pusa manaʻomia).

Fa'aauauina Fa'ata'ita'i Fa'ata'ita'i ma Docker (toe iloilo ma vitiō)
O le fautuaga muamua mulimuli e foliga mai o se mea e oo lava i le Kapeteni e le mafai ona maua masei: "[pe a faʻatulagaina le Faʻasalalau Faʻaauau ma Docker] Fa'aaoga le Docker [ma malamalama i mea e aumai ai]" Manatua, e le o se pulu siliva e foia ai faafitauli uma, ae o se meafaigaluega e maua ai se faavae matagofie.

Toe gaosia

I le "reproducibility" o lona uiga o se seti lautele o faʻafitauli e feagai pe a faʻaogaina talosaga. O loʻo matou talanoa e uiga i ia tulaga:

  • O tusitusiga e siakiina e le matagaluega lelei mo le faʻatulagaina e tatau ona toe faia saʻo i le gaosiga.
  • O talosaga o lo'o fa'asalalauina i luga o sapalai e mafai ona maua afifi mai fa'ata fa'aputuga eseese (i le aluga o taimi e fa'afouina, ma fa'atasi ai ma latou fa'asologa o talosaga fa'apipi'i).
  • “E aoga mea uma mo a’u i le lotoifale!” (...ma e le faʻatagaina le au atinaʻe i le gaosiga.)
  • E te mana'omia le siakiina o se mea i le tuai (archive) version.
  • ...

O lo latou uiga lautele e faʻafefe i lalo i le mea moni e manaʻomia le tausisia atoatoa o siosiomaga faʻaogaina (faʻapea foʻi ma le leai o se tagata). E mafai faapefea ona tatou mautinoa le toe gaosia? Fai ata Docker faʻavae i luga o le code mai Git, ona faʻaaogaina lea mo soʻo se galuega: i luga o nofoaga o suʻega, i le gaosiga, i luga o masini faʻapitonuʻu a tagata fai polokalame ... I le taimi lava e tasi, e taua le faʻaitiitia o gaioiga o loʻo faia. после faʻapipiʻiina o le ata: o le sili atu ona faigofie, o le faʻaitiitia foi o mea sese.

O galuega tetele o le code

Afai o mana'oga tetele (avanoa o polokalama faakomepiuta, lona fa'asologa, ma isi) e le'o fa'atulafonoina ma "polokalameina," o le fa'auluina o so'o se fa'afouga o talosaga e mafai ona i'u ai i ni fa'alavelave mata'utia. Mo se faʻataʻitaʻiga, i le faʻatulagaina ua uma ona e sui i le PHP 7.0 ma toe tusia le code e tusa ai - ona foliga mai lea i le gaosiga ma nisi PHP tuai (5.5) e mautinoa lava e faateia ai se tasi. Atonu e le galo ia te oe se suiga tele i le faaliliuga o le faaliliuga, ae "o le tiapolo o loʻo i totonu o faʻamatalaga": o le mea e ofo ai e ono i ai i se faʻafouga laʻititi o soʻo se faʻalagolago.

O se auala e foia ai lenei faafitauli ua lauiloa o IaC (Infrastructure as Code, “infrastructure as code”) ma e aofia ai le teuina o mea e mana'omia fa'atasi ma le fa'ailoga tusi talosaga. I le faʻaaogaina, e mafai e le au atinaʻe ma DevOps faʻapitoa ona galulue faʻatasi ma le faletusi talosaga Git tutusa, ae i vaega eseese. Mai lenei tulafono, o se ata Docker ua faia i Git, lea o loʻo tuʻuina atu ai le talosaga ma amanaʻia uma faʻamatalaga o atinaʻe. I se faaupuga faigofie, o tusitusiga (tulafono) mo le faʻapipiʻiina o ata e tatau ona i ai i totonu o le fale e tasi ma le faʻailoga puna ma tuʻufaʻatasia.

Fa'aauauina Fa'ata'ita'i Fa'ata'ita'i ma Docker (toe iloilo ma vitiō)

I le tulaga o le tele-layer application architecture - mo se faʻataʻitaʻiga, o loʻo i ai le nginx, o loʻo tu i luma o se talosaga ua uma ona taʻavale i totonu o se pusa Docker - O ata Docker e tatau ona fatuina mai le code i Git mo vaega taʻitasi. Ona o le ata muamua o le ai ai se talosaga ma se faamatalaupu ma isi "latalata" faalagolago, ma o le ata lona lua o le ai ai le upstream nginx.

Ata Docker, fesoʻotaʻiga ma Git

Matou te vaevaeina ata Docker uma na aoina mai Git i ni vaega se lua: le tumau ma faʻamalolo. Ata le tumau fa'ailogaina ile igoa ole lala ile Git, e mafai ona fa'asolo i le isi commit ma fa'asolo atu mo na'o le va'aiga (e le mo le gaosiga). O le latou eseesega autu lea mai le faʻasaʻolotoina: e te le iloa poʻo le a le tautinoga patino o loʻo i totonu ia i latou.

E talafeagai le aoina mai i ata le tumau: le matai lala (e mafai ona otometi ona taʻavale i fafo i se isi nofoaga e vaʻai ai i taimi uma le lomiga o loʻo i ai nei o le matai), lala ma faʻamalolo, lala o faʻafouga faʻapitoa.

Fa'aauauina Fa'ata'ita'i Fa'ata'ita'i ma Docker (toe iloilo ma vitiō)
A maeʻa le faʻaaliga o ata le tumau e oʻo mai i le manaʻomia mo le faʻaliliuga i le gaosiga, na tuʻuina e le au atinaʻe se faʻailoga patino. Otometi ona aoina e le pine ata tatala (o lona pine e fetaui ma le pine mai Git) ma o loʻo taʻavale i fafo i le faʻatulagaina. Afai e faʻamaonia lelei e le matagaluega lelei, e alu i le gaosiga.

Dappe

O mea uma o loʻo faʻamatalaina (faʻasalalau, faʻapipiʻi ata, tausiga mulimuli ane) e mafai ona faʻatinoina tutoʻatasi e faʻaaoga ai tusitusiga Bash ma isi meafaigaluega "faʻaleleia". Ae afai e te faia lenei mea, i se taimi o le faʻatinoga o le a taʻitaʻia ai le lavelave tele ma le le lelei o le puleaina. I le malamalama ai i lenei mea, na matou o mai e fatuina a matou lava galuega faʻapitoa mo le fausiaina o le CI / CD - Dappe.

O lona fa'ailoga fa'apogai o lo'o tusia i le Ruby, tatala puna ma fa'asalalau i luga GitHub. Ae paga lea, o faʻamaumauga o loʻo i ai nei le pito sili ona vaivai o le meafaigaluega, ae o loʻo matou galulue i ai. Ma o le a matou tusitusi ma talanoa e uiga i le dapp sili atu ma le tasi, aua ... Matou te faʻamaoni e le mafai ona faʻatali e faʻasoa ona gafatia i le lautele o tagata fiafia, ae i le taimi nei, lafo au mataupu ma toso talosaga ma / pe mulimuli i le atinaʻeina o le poloketi ile GitHub.

Fa'afouina Aokuso 13, 2019: i le taimi nei o se poloketi Dappe toe faaigoa i werf, o lona code ua uma ona toe tusia i le Go, ma o ana faʻamaumauga ua matua faʻaleleia.

Kubernetes

O le isi meafaigaluega Open Source saunia ua uma ona maua le faʻaaloalogia taua i le siosiomaga faʻapolofesa o Kubernetes,se fuifui pulega Docker. O le autu o lona faʻaaogaina i le faʻatinoina o galuega faʻavae i luga o Docker e sili atu i le lautele o le lipoti, o lea e faʻatapulaʻa ai le faʻaaliga i se aotelega o nisi o mea manaia.

Mo le faʻalauiloaina, Kubernetes ofo:

  • saunia su'esu'e - siaki le saunia o se lomiga fou o le talosaga (e fesuia'i feoaiga i ai);
  • faʻafouina faʻafouina - faʻasologa faʻasologa o ata i totonu o se fuifui o koneteina (tapuni, faʻafouina, sauniuni mo le faʻalauiloaina, fesuiaiga o feoaiga);
  • faʻafouina faʻafouina - faʻafouina se ata i se fuifui ma se auala ese: muamua i luga o le afa o pusa, ona sosoo ai lea ma le isi;
  • Canary releases - faʻalauiloa se ata fou i luga o se numera faʻatapulaʻa (laʻititi) o pusa e mataʻituina ai faʻalavelave.

Talu ai o le Fa'aauauina o le Fa'asalalauga e le gata o le tatalaina o se fa'afouga fou, o lo'o i ai i le Kubernetes le tele o agava'a mo le fa'aleleia atili o atina'e: mata'ituina ma fa'aputuina mo atigipusa uma, fa'ailoga otometi, ma isi. O nei mea uma ua uma ona galue ma o lo'o fa'atali mo le talafeagai. faatinoga i au faiga.

Fautuaga mulimuli

  1. Fa'aaoga le Docker.
  2. Fausia ata Docker o talosaga mo ou manaʻoga uma.
  3. Mulimuli i le mataupu faavae "O mea tetele o le tulafono."
  4. So'oga Git ile Docker.
  5. Fa'atonu le faasologa o le fa'asalalau.
  6. Fa'aaoga se fa'avae ua saunia (Kubernetes po'o se isi).

Vitio ma fa'asolo

Vitio mai le faatinoga (tusa ma le itula) lomia i luga ole YouTube (o le lipoti lava ia e amata mai le 5 minute - mulimuli i le sootaga e taʻalo mai le taimi nei).

Tuuina atu o le lipoti:

SALA

O isi lipoti ile autu ile matou blog:

puna: www.habr.com

Faaopoopo i ai se faamatalaga