7 pratîkên çêtirîn ên ji bo karanîna konteyneran li gorî Google

Not. werger.: Nivîskarê gotara orîjînal Théo Chamley, Mîmarê Çareseriya Ewrê Google ye. Di vê postê de ji bo tevnvîsa Google Cloud, ew kurteyek rêbernameya berfirehtir a pargîdaniya xwe, bi navê "Pratîkên çêtirîn ên ji bo Konteynerên Xebatê" Di wê de, pisporên Google ji bo xebitandina konteyneran di çarçoveya karanîna Motora Google Kubernetes û hêj bêtir de pratîkên çêtirîn berhev kirin, li ser cûrbecûr mijaran desteser kirin: ji ewlehiyê bigire heya şopandin û têketinê. Ji ber vê yekê li gorî Google pratîkên konteynerê yên herî girîng çi ne?

7 pratîkên çêtirîn ên ji bo karanîna konteyneran li gorî Google

Engine Kubernetes (Xizmeta bingeh-Kubernetes ji bo xebitandina sepanên konteynirkirî li ser Google Cloud - approx. werger) yek ji awayên çêtirîn e ku meriv barkêşên xebatê yên ku pêdivî ye pîvandinê bimeşîne. Kubernetes ger ew konteynir bin dê karûbarê bêkêmasî ya pir serlêdanan peyda bike. Lê heke hûn dixwazin serîlêdana we hêsan be ku meriv bi rêve bibe û hûn dixwazin bi tevahî ji Kubernetes sûd werbigirin, hûn hewce ne ku pratîkên çêtirîn bişopînin. Ew ê operasyona serîlêdanê, çavdêrîkirin û rakirina wê hêsan bikin, û hem jî ewlehiyê zêde bikin.

Di vê gotarê de, em ê navnîşek tiştên ku divê hûn zanibin û bikin derbas bikin da ku konteynerên bi bandor li Kubernetes bimeşînin. Kesên ku dixwazin di hûrguliyan de kûr bibin, divê materyalê bixwînin Pratîkên çêtirîn ên ji bo Konteynerên Xebatê, û bala me jî bidin posta berê li ser komkirina konteynir.

1. Mekanîzmayên têketina konteynerê xwemal bikar bînin

Ger serîlêdan li ser komek Kubernetes-ê tê xebitandin, ji bo têketin ne pir hewce ye. Pergalek têketina navendî jixwe di koma ku hûn bikar tînin de hatî çêkirin. Di doza karanîna Kubernetes Engine de, ev berpirsiyar e Logging Stackdriver. (Not. werger.: Û heke hûn sazkirina Kubernetes-a xwe bikar tînin, em pêşniyar dikin ku ji nêz ve li çareseriya meya Çavkaniya Vekirî binêrin - mal log.) Jiyana xwe sade bikin û mekanîzmayên têketina konteynerê xwemalî bikar bînin. Têketinên stdout û stderr binivîsin - ew ê bixweber werin wergirtin, tomarkirin û pêvekirin.

Ger bixwaze, hûn dikarin têketinên xwe jî binivîsin formata JSON. Ev nêzîkatî dê hêsan bike ku metadata li wan zêde bike. Û bi wan re, Stackdriver Logging dê xwedan şiyana lêgerîna têketinên bi karanîna vê metadata be.

2. Piştrast bike ku konteynir bê dewlet û neguherbar in

Ji bo ku konteynir di komek Kubernetes de bi rengek rast bixebitin, divê ew bê dewlet û neguhêr bin. Gava ku van şertan pêk hatin, Kubernetes dikare karê xwe bike, kengî û li ku hewce be sazûmanên serîlêdanê biafirîne û hilweşîne.

Bê hempa tê vê wateyê ku her dewlet (daneyên domdar ên her cûre) li derveyî konteynerê tê hilanîn. Ji bo vê yekê, li gorî hewcedariyan, cûreyên cûda yên hilanîna derveyî têne bikar anîn: Storage Storage, Dîskên Berdewam, Redis, Cloud SQL an databasên din ên rêvebirinî. (Not. werger.: Di gotara me de bêtir li ser vê bixwînin "Operatorên ji bo Kubernetes: Meriv çawa serîlêdanên dewletî dimeşîne".)

Bêguhbar tê vê wateyê ku konteynir dê di jiyana xwe de neyê guheztin: nûvekirin, paç, guheztinên veavakirinê tune. Heke hûn hewce ne ku koda serîlêdana xwe nûve bikin an pêçekek bicîh bikin, wêneyek nû biafirînin û wê bicîh bikin. Tête pêşniyar kirin ku veavakirina konteynerê (porta guhdarîkirinê, vebijarkên hawîrdora dema xebitandinê, hwd.) li derve biguhezînin - li Secrets и ConfigMaps. Ew dikarin bêyî avakirina wêneyek konteynerek nû werin nûve kirin. Ji bo ku hûn bi kombûna wêneyê re bi hêsanî boriyan biafirînin, hûn dikarin bikar bînin Cloud Build. (Not. werger.: Em ji bo van armancan amûrek Çavkaniya Vekirî bikar tînin dapp.)

7 pratîkên çêtirîn ên ji bo karanîna konteyneran li gorî Google
Nimûneyek nûvekirina veavakirina Deploymentê li Kubernetes bi karanîna ConfigMap-ê ku di pods de wekî mîhengek hatî danîn

3. Dûr konteynerên îmtiyaz

Hûn serîlêdanan wekî root li ser serverên xwe nahêlin, rast? Ger êrîşkarek bikeve serîlêdanê, ew ê gihîştina root bi dest bixe. Heman fikir ji bo nexebitandina konteynerên îmtiyaz jî derbas dibe. Heke hûn hewce ne ku mîhengên li ser mêvandar biguhezînin, hûn dikarin konteynerê taybetî bidin Aborî bikaranîna vebijêrkê securityContext li Kubernetes. Heke hûn hewce ne ku biguherînin sysctls, Kubernetes heye abstract cuda ji bo vê. Bi gelemperî, hewl bidin ku herî zêde bikin destpêk- û konteynerên kêlekê ji bo pêkanîna operasyonên îmtiyazê yên wekhev. Ne hewce ye ku ew bi seyrûsefera hundurîn an derveyî ve bigihîjin.

Heke hûn komik birêve bibin, hûn dikarin bikar bînin Polîtîkaya Ewlekariya Pod ji bo sînorkirinên li ser bikaranîna konteynir îmtiyaz.

4. Dûr bazdana wek root

Berê jî konteynerên îmtiyazê hatine nîqaş kirin, lê heke, ji bilî vê, hûn serlêdanan di hundurê konteynerê de wekî root nemeşînin dê hê çêtir be. Ger êrîşkar di serîlêdanek bi mafên root de qelsiyek ji dûr ve bibîne ku destûrê dide darvekirina kodê, piştî ku ew karibe ji konteynerê di nav qelsiyek hîn nenas de derkeve, ew ê root li ser mêvandar bigire.

Awayê çêtirîn ku meriv ji vê yekê dûr bisekine ev e ku meriv di rêza yekem de tiştek wekî root nemeşîne. Ji bo vê yekê, hûn dikarin dîrektîfê bikar bînin USER в Dockerfile an runAsUser li Kubernetes. Rêvebirê komê di heman demê de dikare bi karanîna tevgerê bicîhkirinê mîheng bike Polîtîkaya Ewlekariya Pod.

5. Serîlêdanê ji bo çavdêriya hêsan bikin

Mîna têketinê, çavdêrîkirin beşek yekgirtî ya rêveberiya serîlêdanê ye. Di civata Kubernetes de çareseriyek çavdêriya populer e Prometheus - pergalek ku bixweber pod û karûbarên ku çavdêriyê hewce dike destnîşan dike. (Not. werger.: Binêre me jî rapora berfireh li ser mijara çavdêriya bikaranîna Prometheus û Kubernetes.) Stackdriver jêhatî ye ku komên Kubernetes bişopîne û guhertoya xwe ya Prometheus ji bo şopandina serîlêdanê vedihewîne.

7 pratîkên çêtirîn ên ji bo karanîna konteyneran li gorî Google
Kubernetes Dashboard li ser Stackdriver

Prometheus hêvî dike ku serîlêdan metrîkan ber bi dawiya HTTP-ê ve bişîne. Ji bo vê heye Pirtûkxaneyên muwekîlê Prometheus. Heman format ji hêla amûrên din ên mîna ve tê bikar anîn Serjimara vekirî и Istio.

6. Rewşa tenduristiya sepanê berdest bikin

Rêvebiriya serîlêdanê di hilberînê de ji hêla kapasîteya wê ve tê arîkar kirin ku rewşa xwe bi tevahî pergalê re ragihîne. Serlêdan dimeşe? Baş e? Ma hûn amade ne ku trafîkê bistînin? Ew çawa tevdigere? Riya herî gelemperî ji bo çareserkirina vê pirsgirêkê pêkanîna kontrolên tenduristiyê ye (kontrolên tenduristiyê). Kubernetes du celeb hene: lêkolînên zindîbûn û amadebûnê.

Ji bo lêkolîna zindîtiyê (kontrolên zindîtiyê) pêdivî ye ku serîlêdan xwedan xalek dawiya HTTP be ku bersivek "200 OK" vedigerîne heke ew fonksiyonel be û girêdanên wê yên bingehîn têr bibin. Ji bo lêkolîna amadekariyê (kontrolên amadebûna karûbarê) Ger serîlêdan di rewşek saxlem de be, gavên destpêkê qediyane û her daxwazek derbasdar xeletiyek dernakeve serîlêdan divê xalek dawiya HTTP ya din hebe ku bersivek "200 OK" vedigire. Kubernetes dê tenê seyrûseferê berbi konteynerê bi rê ve bibe ger serîlêdan li gorî van kontrolan amade be. Ger di navbera rewşa zindîtî û amadebûnê de cûdahî tunebe du xalên dawî dikarin werin yek kirin.

Hûn dikarin li ser vê yekê di gotara têkildar de ji Sandeep Dinesh, Parêzerê Pêşdebir ji Google re bêtir bixwînin: "Pratîkên çêtirîn Kubernetes: Sazkirina kontrolên tenduristiyê bi lêkolînên amadehî û zindîtiyê".

7. Guhertoya wêneya xwe bi baldarî hilbijêrin

Piraniya wêneyên gelemperî û taybet pergalek nîşankirinê ya mîna ya ku tê de hatî destnîşan kirin bikar tînin Pratîkên çêtirîn ên ji bo avakirina konteyniran. Ger wêne pergalek nêzîk bikar tîne guhertoya semantîk, pêdivî ye ku meriv taybetmendiyên tagkirinê li ber çavan bigire. Mînakî, tag latest dikare pir caran ji wêneyê ber bi wêneyê ve biçe - ger hewceyî avahî û sazkirinên pêşbînîkirî û dubarekirî nebin, nayê bawer kirin.

Hûn dikarin tagê bikar bînin X.Y.Z (ew hema hema her gav nayên guheztin), lê di vê rewşê de, hemî paç û nûvekirinên wêneyê bişopînin. Ger wêneya ku hûn bikar tînin xwedî nîşanek heye X.Y, ev ji bo wateya zêrîn bijarek baş e. Bi hilbijartina wê, hûn bixweber pêçan distînin û di heman demê de xwe dispêrin guhertoya domdar a serîlêdanê.

PS ji wergêr

Li ser bloga me jî bixwînin:

Source: www.habr.com

Add a comment