Ho hang e ke ke ea e-ba phoso ho bolela hore banna ba molemo ka ho fetisisa
fumana thabo ka mahlomola.
Ludwig van Beethoven

Ke Sergey, ke sebetsa Yandex.Money sehlopheng sa lipatlisiso tsa ts'ebetso. Ke batla ho u bolella tšimoloho ea pale e mabapi le tsela ea rona ea ho sebelisa 'mino oa liletsa - kamoo re khethileng liletsa le seo re ileng ra se ela hloko. Liketsahalo tsohle tse tsoang sehloohong sena li etsahala ka nako ea sebele, kahoo uena, babali ba ratehang, le latela tsoelo-pele ea boemo hoo e batlang e phela.
Hobaneng re hloka conductor sehlopheng sa rona?
Mokhanni ke mang? Ho tloha ho fr. diriger - ho laola, ho tsamaisa, ho etella pele - lefats'eng la 'mino - enoa ke motho eo e leng moetapele oa thuto le ts'ebetso ea' mino o kopanetsoeng. Tabeng ea rona, sebaka sena se tšoaretsoe ke li-orchestration le li-automation system.
Karolo ea bona ha e fapane le karolo ea mokhanni oa 'mino - ba hlokahala ho thusa sehlopha, ho tataisa le ho hlophisa papali ea sona.
Ha e le molao, sehlopha se na le bokhoni bo itseng-a re ba bitseng li-server-tseo ba phethahatsang merero ea bona.
Mokhoa oa ho fumana le ho sebetsa li-server tsena o fapane. Mehlala e seng mekae:
- Sehlopha se etsa kopo, ka mohlala, ho sehlopha sa ts'ebetso, ho ba fa lisebelisoa tse nang le mekhahlelo e itseng.
- Sehlopha sa ts'ebetso se ba fa bongata bo hlokahalang - maru kapa tšepe e se nang letho - 'me se ikemiselitse ho li boloka li le maemong a nepahetseng ho latela SLA. Setupo se boetse se etsoa ke sehlopha sa ts'ebetso.
- Sehlopha se amohela feela lisebelisoa tsa leru kapa tse se nang letho ho tsoa sehlopheng sa ts'ebetso, 'me se se hlophise ka bo sona.
- Sehlopha ka boeona se "reka" lisebelisoa le ho li boloka / ho li beha ka boikemelo ka ho feletseng.
Sehlopha sa rona se sebelisa li-server tse hlokang ho tšehetsoa - ho ntlafatsa OS, ho kenya liphutheloana tse ncha, joalo-joalo.
Bakeng sa rona, re li arotse ka mefuta e 'meli e meholo:
- sehlopha sa tanka,
- sehlopha sa tshebeletso.
Sehlopha sa litanka se na le mabotho a nang le Yandex.Tank.
Sehlopha sa litšebeletso se kenyelletsa ntho e 'ngoe le e' ngoe e amanang le tlhokomelo - tsena ke litšebeletso tse fapa-fapaneng ho fana ka ts'ehetso bakeng sa potoloho ea tokollo, ho hlahisa litlaleho tse ikemetseng, joalo-joalo.
Ka nako e 'ngoe, sena sohle se ile sa e-ba thata ho laola ka letsoho,' me re ile ra nahana ka ho iketsetsa ts'ebetso eohle, ho qala ka li-server tsa "loading" le ho qetella ka nts'etsopele, ho lokolloa le ho qala tšebeletso ea rona ea ka hare.
Ke hobane’ng ha ho hlokahala motsamaisi oa liletsa, esita le haeba sehlopha sa ’mino oa liletsa ka bosona se khona ho letsa?
Taba ea pele, re ile ra tseba Ansible mme ra qala ho "tšolla" li-server tsa rona tsa tšepe tse se nang letho e le hore re se ke ra itšetleha haholo ka batsamaisi ba sistimi - e mong le e mong oa hapa mona, re fumana tsebo e ncha mme re imolla batsamaisi ba mesebetsi e meng eo ba lulang ba e-na le eona ntle le rona. . Re ikitlaelletsa ho ntlafatsa ho feta boikhethelo ba rona le boikemelo ba sehlopha ka hohle kamoo ho ka khonehang.
K'hamphaning, ho sebetsa le Ansible ho hlophisitsoe le ho laoloa ka nako e telele, kahoo re ile ra kopanya tharollo ea rona habonolo ts'ebetsong ena.
Hajoale, letamo la moamoheli le na le likarolo tse tharo tse Ansible:
- karolo ea pele e kenya OS,
- ea bobeli e tsamaisa litlhophiso tsa mantlha bakeng sa moamoheli, tumello ea LDAP, mohlala,
- 'me ea boraro e kenya Yandex.Tank le litšepiso tse amanang le tsona ka har'a setshelo sa docker.
Ha re tsoeleng pele ho litšebeletso tseo re li sebelisang ka har'a sehlopha.
Bakeng sa mesebetsi ea rona, re sebelisa Kotlin le Python ka ho lekana, le Golang hanyane. Ho kopanya nts'etsopele le phetisetso ea lits'ebeletso tsa rona, re nkile qeto ea ho li kenya ka har'a lijana tsa Docker. Sena se u fa bolokolohi ba ho khetha puo ea lenaneo 'me ka nako e ts'oanang se laola mokhoa oa ho fana ka mokhoa o ts'oanang oa kopo ea hau.
Tlhahiso e nyane mabapi le ipv6 ho Docker
Tse ling tsa litšebeletso tseo re sebelisanang le tsona li fumaneha feela ka ipv6, kahoo re ile ra tlameha ho fumana mokhoa oa ho etsa ipv6 bakeng sa lijana.
Ho latela litokomane tsa ipv6 webosaeteng ea semmuso ea Docker, ipv6 e lumelloa ka ho kenyelletsa liparamente ho daemon.json:
{
"ipv6": true,
"fixed-cidr-v6": "2001:db8:1::/64"
}
Tabeng ena, mofani oa thepa o tlameha ho fana ka subnet ea ipv6, eo u tla ingolisa ho eona fixed-cidr-v6.
Leha ho le joalo, re khethile khetho e 'ngoe - ipv6 NAT, mme ke ka lebaka lena:
- Hona joale docker feela ka ipv6.
- Ho ba le aterese e tsamaisoang lefatšeng ka bophara ka har'a sets'oants'o ka seng ho bolela hore likou tsohle (esita le tse sa hatisoang) li fumaneha ho motho e mong le e mong ntle le haeba ho etsoa tlhoekiso e eketsehileng.
- proxy ea userland bakeng sa likou tsa khatiso, .
ipv6 NAT ke , eo ka boeona e laolang melao ho ip6tables le ho e hlophisa ha e eketsa setshelo se secha.
E le hore tharollo ena e sebetse hantle, ho ne ho hlokahala hore ho etsoe mekhoa e meng e mengata. Etsa bonnete ba hore o qala ip6table_nat ho sistimi. Ho ba teng ha module e kentsoeng tsamaisong ha ho tiise hore mojule o tla kenngoa ka har'a kernel ha e qala. Re kopane le sena ha re fumana phoso ena ha re tsamaisa setshelo se nang le NAT ho moamoheli e mocha:
2019/01/22 14:59:54 running [/sbin/ip6tables -t filter -N DOCKER --wait]: exit status 3: modprobe: can't change directory to '/lib/modules': No such file or directory
ip6tables v1.6.2: can't initialize ip6tables table `filter': Table does not exist (do you need to insmod?)
Bothata bo ile ba rarolloa ka mor'a ho eketsa ts'ebetso ho karolo ea Ansible ho sebelisa modprobe module le ho e kenya qalong ea OS ho sebelisa lineinfile:
- name: Add ip6table_nat module
modprobe:
name: ip6table_nat
state: present
- name: Add ip6table_nat to boot
lineinfile:
path: /etc/modules
line: 'ip6table_nat'
Ka tsela, ho na le e 'ngoe e ntle ka har'a hub , e hlalosang ka bokhutšoanyane le ka ho hlaka melemo le melemo ea mokhoa o mong kapa o mong oa ho sebelisa ipv6 ho docker.
Empa a re khutleleng potsong ea rōna eo re e botsitseng qalong:
Ke hobane’ng ha ho hlokahala motsamaisi oa liletsa, esita le haeba sehlopha sa ’mino oa liletsa ka bosona se khona ho letsa?
Joale motho e mong le e mong o nahana ho bapala sehlopheng sa rona:
- ts'ebetso ea "ho tšela" li-server e entsoe,
- ntshetsopele le phano ya ditshebeletso di kopane.
Ho hlaha potso e utloahalang: mokhoa oa ho tsamaisa, ho ntlafatsa, le ho laola lits'ebeletso tsa rona ka har'a lijana tsa Docker ka nepo le ka boiketsetso kamoo ho ka khonehang?
Ho sa tsotellehe taba ea hore setho se seng le se seng sa 'mino oa liletsa se tseba karolo ea sona, se ka ferekana' me sa kheloha khopolo ea pele. Mona re fihlela qeto ea hore ntle le mokhanni oa liletsa tsa rona li ke ke tsa itlhakisa hantle le ho bapala ka tumellano. Mokhanni o ikarabella bakeng sa likarolo tsohle tsa ts'ebetso, ho netefatsa hore ntho e 'ngoe le e' ngoe e kopantsoe ke tempo le maikutlo a le mong.
Joang ho fumana conductor e ntle ka matsete a fokolang?
Sehlooho sa 'mino oa liletsa se ntlafalitsoe hantle' marakeng. Empa pele, a re bueng ka lithulusi tse thusang tse ka thusang mokhanni.
- sistimi e fanang ka mesebetsi e 'meli ea mantlha:
- ho fumana litšebeletso,
- ajoa senotlolo-boleng polokelo.
Sehlopheng sa rona sa 'mino oa liletsa, Consul e tla ikarabella bakeng sa ho ngolisa lits'ebeletso le ho boloka litlhophiso tsa tsona. Ho na le likhetho tse peli tsa ho ingolisa:
- E sebetsang ke ha tšebeletso e ingolisa e sebelisa HTTP API;
- Passive - tšebeletso e tlameha ho ngolisoa ka letsoho.
Vault ke sebaka sa polokelo se lekanyang le ho kopanya polokelo e sireletsehileng le ho sebetsana le liphiri - li-password, litifikeiti.
Mona ke melemo eo re tla e fumana ka ho sebelisa sesebelisoa sena:
- Setsi se le seng sa ho theha le ho boloka liphiri le ho laola potoloho ea bophelo ba bona ba sebelisa HTTP API.
- Transit Secrets Engine - encryption le decryption ea data ntle le ho e boloka. Bokhoni ba ho fetisa data ka mokhoa o patiloeng holim'a mecha ea puisano e sa sireletsehang.
- Fumana maano a bonolo ho a hlophisa.
- Tlhahlobo ea phihlello ea liphiri.
- Bokhoni ba ho iketsetsa CA (Setifikeiti sa Setifikeiti) ho laola litifikeiti tse itekenetseng ka har'a meaho ea hau.
Ha re nahana ka litlhoko tsohle tsa rona, likhetho tse peli li ne li loketse karolo ea mokhanni - Kubernetes le Nomad.
Kubernetes
Ke lingoliloeng le libuka tse kae tse seng li ngotsoe ka eena (mona , mohlala), ho na le litlaleho tseo ke tla li ngola ka bokhutšoanyane - sena ke sekotuli sa bokahohle se ka etsang hoo e batlang e le ntho e 'ngoe le e' ngoe. Theko ea sena ke hore ho theha le ho boloka sehlopha ho Kubernetes ha ho bonolo kamehla.
Nomad
ho tsoa ho HashiCorp, k'hamphani e tsebahalang ka consul le vault e boletsoeng ka holimo.
Re fumane Nomad e le bonolo haholo ho e kenya le ho e hlophisa ho feta Kubernetes. Faele e le 'ngoe ea binary e sebetsa maemong a bobeli a seva le bareki. Ka nako e ts'oanang, Nomad e akaretsa lenane lohle la mesebetsi eo re batlang hore e e rarolle: taolo ea lihlopha, kemiso e potlakileng, tšehetso ea li-multidatacenter. Hape, ha re sebelisa consul le vault, re fumana khokahanyo e matla bakeng sa ho hlophisa litšebeletso tsa rona.
Se etsahalang hajoale:
- li-server tse lokiselitsoeng ho romelloa ha Consul,
- tlhophiso ea sehlopha sa nomad e tla kenngoa ho Consul, ka thuso eo nomad e lokelang ho tsamaisoa ka bo eona,
- Ka ho ts'oana, re tla kenya vault ho boloka liphiri.
Potso bakeng sa bamameli: na ho loketse ho hira mokhanni oa mesebetsi e joalo kapa sehlopha sa 'mino oa liletsa se sebetsa hantle ntle le eena? Re bolelle maikutlong hore na u nahana eng ka sena.
Ingolise ho blog ea rona 'me u lule u buisana - haufinyane re tla u joetsa se etsahetseng qetellong le hore na re hlophisitse sehlopha sa nomad ka tsela eo re neng re e batla ka eona.
Tlo ho rona re phutholohileng , moo u ka lulang u kopa keletso, ho thusa basebetsi-'moho le ho qoqa feela ka lipatlisiso tsa tlhahiso le tse ling.
Source: www.habr.com
