PiezÄ«me. tulk.: oriÄ£inÄlÄ raksta autors ir ThĆ©o Chamley, Google Cloud Solutions arhitekts. Å ajÄ Google Cloud emuÄra ziÅojumÄ viÅÅ” sniedz kopsavilkumu par sava uzÅÄmuma detalizÄtÄku rokasgrÄmatu ar nosaukumu "" TajÄ Google eksperti apkopoja konteineru darbÄ«bas paraugpraksi saistÄ«bÄ ar Google Kubernetes Engine un daudz ko citu, pieskaroties plaÅ”am tÄmu lokam: no droŔības lÄ«dz uzraudzÄ«bai un reÄ£istrÄÅ”anai. TÄtad, kÄda ir vissvarÄ«gÄkÄ konteineru prakse saskaÅÄ ar Google?

(Uz Kubernetes balstÄ«ts pakalpojums konteinerizÄtu lietojumprogrammu palaiÅ”anai pakalpojumÄ Google Cloud ā apm. tulkojums) ir viens no labÄkajiem veidiem, kÄ izpildÄ«t darba slodzes, kurÄm nepiecieÅ”ams mÄrogot. nodroÅ”inÄs nevainojamu lielÄko daļu lietojumprogrammu darbÄ«bu, ja tÄs ir konteineros. Bet, ja vÄlaties, lai jÅ«su lietojumprogramma bÅ«tu viegli pÄrvaldÄma un vÄlaties pilnÄ«bÄ izmantot Kubernetes sniegtÄs priekÅ”rocÄ«bas, jums ir jÄievÄro paraugprakse. Tie vienkÄrÅ”os lietojumprogrammas darbÄ«bu, tÄs uzraudzÄ«bu un atkļūdoÅ”anu, kÄ arÄ« palielinÄs droŔību.
Å ajÄ rakstÄ mÄs apskatÄ«sim sarakstu ar lietÄm, kas jums jÄzina un jÄdara, lai Kubernetes efektÄ«vi palaistu konteinerus. Tiem, kas vÄlas iedziļinÄties detaļÄs, vajadzÄtu izlasÄ«t materiÄlu , kÄ arÄ« pievÄrsiet uzmanÄ«bu mÅ«su par konteineru komplektÄÅ”anu.
1. Izmantojiet vietÄjos konteineru reÄ£istrÄÅ”anas mehÄnismus
Ja lietojumprogramma darbojas Kubernetes klasterÄ«, žurnÄliem nav nepiecieÅ”ams daudz. IespÄjams, ka jÅ«su izmantotajÄ klasterÄ« jau ir iebÅ«vÄta centralizÄta reÄ£istrÄÅ”anas sistÄma. Kubernetes Engine lietoÅ”anas gadÄ«jumÄ tas ir atbildÄ«gs . (PiezÄ«me. tulk.: Un, ja izmantojat savu Kubernetes instalÄciju, iesakÄm tuvÄk apskatÄ«t mÅ«su atvÄrtÄ pirmkoda risinÄjumu - .) SaglabÄjiet savu dzÄ«vi vienkÄrÅ”u un izmantojiet vietÄjos konteineru reÄ£istrÄÅ”anas mehÄnismus. Ierakstiet žurnÄlus stdout un stderr ā tie tiks automÄtiski saÅemti, saglabÄti un indeksÄti.
Ja vÄlaties, varat arÄ« rakstÄ«t žurnÄlus . Å Ä« pieeja atvieglos metadatu pievienoÅ”anu tiem. Un ar tiem Stackdriver Logging varÄs meklÄt žurnÄlos, izmantojot Å”os metadatus.
2. PÄrliecinieties, vai konteineri ir bezvalsts un nemainÄ«gi
Lai konteineri Kubernetes klasterÄ« darbotos pareizi, tiem jÄbÅ«t bezvalstniekiem un nemainÄ«giem. Kad Å”ie nosacÄ«jumi ir izpildÄ«ti, Kubernetes var veikt savu darbu, izveidojot un iznÄ«cinot lietojumprogrammu entÄ«tijas, kad un kur tas ir nepiecieÅ”ams.
Bezvalstnieks nozÄ«mÄ, ka jebkurÅ” stÄvoklis (jebkura veida pastÄvÄ«gi dati) tiek glabÄts Ärpus konteinera. Å im nolÅ«kam atkarÄ«bÄ no vajadzÄ«bÄm var izmantot dažÄda veida ÄrÄjo atmiÅu: , , , vai citas pÄrvaldÄ«tas datu bÄzes. (PiezÄ«me. tulk.: Lasiet vairÄk par to mÅ«su rakstÄ "".)
NemainÄ«gs nozÄ«mÄ, ka konteiners tÄ dzÄ«ves laikÄ netiks pÄrveidots: nav atjauninÄjumu, ielÄpu, konfigurÄcijas izmaiÅu. Ja nepiecieÅ”ams atjauninÄt lietojumprogrammas kodu vai lietot ielÄpu, izveidojiet jaunu attÄlu un izvietojiet to. Ieteicams konteinera konfigurÄciju (klausīŔanÄs ports, izpildlaika vides opcijas utt.) pÄrvietot ÄrÄji - uz Šø . Tos var atjauninÄt, neveidojot jaunu konteinera attÄlu. Lai viegli izveidotu cauruļvadus ar attÄla montÄžu, varat izmantot . (PiezÄ«me. tulk.: Å”iem nolÅ«kiem mÄs izmantojam atvÄrtÄ pirmkoda rÄ«ku .)

PiemÄrs izvietoÅ”anas konfigurÄcijas atjauninÄÅ”anai Kubernetes, izmantojot ConfigMap, kas uzstÄdÄ«ts podiÅos kÄ konfigurÄciju
3. Izvairieties no priviliÄ£Ätiem konteineriem
JÅ«s savos serveros nepalaižat lietojumprogrammas kÄ root, vai ne? Ja uzbrucÄjs nokļūst lietojumprogrammÄ, viÅÅ” iegÅ«s root piekļuvi. Tie paÅ”i apsvÄrumi attiecas uz priviliÄ£Äto konteineru nedarbinÄÅ”anu. Ja jums ir jÄmaina saimniekdatora iestatÄ«jumi, varat norÄdÄ«t konkrÄtu konteineru iespÄjas izmantojot opciju Kubernetes pilsÄtÄ. Ja jums ir nepiecieÅ”ams mainÄ«t sysctls, Kubernetes ir priekÅ” Ŕī. KopumÄ mÄÄ£iniet maksimÄli izmantot un blakusvÄÄ£u konteineri, lai veiktu lÄ«dzÄ«gas priviliÄ£Ätas darbÄ«bas. Tiem nav jÄbÅ«t pieejamiem ne iekÅ”Äjai, ne ÄrÄjai satiksmei.
Ja administrÄjat kopu, varat izmantot par priviliÄ£Äto konteineru lietoÅ”anas ierobežojumiem.
4. Izvairieties darboties kÄ root
PriviliÄ£Ätie konteineri jau ir apspriesti, taÄu bÅ«s vÄl labÄk, ja papildus tam jÅ«s nepalaižat lietojumprogrammas konteinerÄ kÄ root. Ja uzbrucÄjs lietojumprogrammÄ ar saknes tiesÄ«bÄm atrod attÄlu ievainojamÄ«bu, kas ļauj izpildÄ«t kodu, pÄc kuras viÅÅ” var atstÄt konteineru, izmantojot vÄl nezinÄmu ievainojamÄ«bu, viÅÅ” iegÅ«s resursdatora saknes tiesÄ«bas.
LabÄkais veids, kÄ no tÄ izvairÄ«ties, ir vispirms neko nedarbinÄt kÄ root. Lai to izdarÄ«tu, varat izmantot direktÄ«vu USER в Dockerfile vai runAsUser in Kubernetes. Klastera administrators var arÄ« konfigurÄt izpildes darbÄ«bu, izmantojot .
5. Padariet lietojumprogrammu viegli pÄrskatÄmu
TÄpat kÄ reÄ£istrÄÅ”ana, arÄ« uzraudzÄ«ba ir lietojumprogrammu pÄrvaldÄ«bas neatÅemama sastÄvdaļa. PopulÄrs uzraudzÄ«bas risinÄjums Kubernetes kopienÄ ir - sistÄma, kas automÄtiski nosaka podi un pakalpojumus, kuriem nepiecieÅ”ama uzraudzÄ«ba. (PiezÄ«me. tulk.: Skatiet arÄ« mÅ«su par monitoringu, izmantojot Prometheus un Kubernetes.) spÄj uzraudzÄ«t Kubernetes klasterus un ietver savu Prometheus versiju lietojumprogrammu uzraudzÄ«bai.

Kubernetes informÄcijas panelis vietnÄ Stackdriver
Prometheus sagaida, ka lietojumprogramma pÄrsÅ«tÄ«s metriku uz HTTP galapunktu. Pieejams Å”im nolÅ«kam . To paÅ”u formÄtu izmanto citi rÄ«ki, piemÄram Šø .
6. Padariet pieejamu lietotnes veselÄ«bas stÄvokli
Lietojumprogrammu pÄrvaldÄ«bu ražoÅ”anÄ palÄ«dz tÄs spÄja paziÅot par savu stÄvokli visai sistÄmai. Vai lietojumprogramma darbojas? Vai tas ir labi? Vai esat gatavs saÅemt trafiku? KÄ viÅÅ” uzvedas? VisizplatÄ«tÄkais veids, kÄ atrisinÄt Å”o problÄmu, ir veikt veselÄ«bas pÄrbaudes (veselÄ«bas pÄrbaudes). Kubernetes ir divu veidu: .
Par dzÄ«vÄ«guma zondi (vitalitÄtes pÄrbaudes) lietojumprogrammai ir jÄbÅ«t HTTP galapunktam, kas atgriež atbildi "200 OK", ja tÄ ir funkcionÄla un tÄs pamata atkarÄ«bas ir izpildÄ«tas. GatavÄ«bas zondei (servisa gatavÄ«bas pÄrbaudes) lietojumprogrammai ir jÄbÅ«t citam HTTP galapunktam, kas atgriež atbildi "200 OK", ja lietojumprogramma ir labÄ stÄvoklÄ«, inicializÄcijas darbÄ«bas ir pabeigtas un neviens derÄ«gs pieprasÄ«jums neizraisa kļūdu. Kubernetes novirzÄ«s trafiku uz konteineru tikai tad, ja lietojumprogramma ir gatava saskaÅÄ ar Ŕīm pÄrbaudÄm. Divus galapunktus var apvienot, ja nav atŔķirÄ«bas starp dzÄ«vÄ«guma un gatavÄ«bas stÄvokļiem.
VairÄk par to varat izlasÄ«t saistÄ«tajÄ rakstÄ no Sandeep Dinesh, Google izstrÄdÄtÄja advokÄta: ā'.
7. RÅ«pÄ«gi izvÄlieties attÄla versiju
LielÄkajai daļai publisko un privÄto attÄlu tiek izmantota atzÄ«mÄÅ”anas sistÄma, kas ir lÄ«dzÄ«ga tai, kas aprakstÄ«ta rakstÄ . Ja attÄlÄ tiek izmantota sistÄma, kas ir tuvu , ir jÄÅem vÄrÄ iezÄ«mÄÅ”anas specifika. PiemÄram, tag latest var bieži pÄrvietoties no attÄla uz citu ā uz to nevar paļauties, ja jums ir nepiecieÅ”amas paredzamas un atkÄrtojamas konstrukcijas un instalÄcijas.
Varat izmantot tagu X.Y.Z (tie gandrÄ«z vienmÄr ir nemainÄ«gi), taÄu Å”ajÄ gadÄ«jumÄ sekojiet lÄ«dzi visiem attÄla ielÄpiem un atjauninÄjumiem. Ja jÅ«su izmantotajam attÄlam ir atzÄ«me X.Y, tas ir labs risinÄjums zelta vidusceļam. IzvÄloties to, jÅ«s automÄtiski saÅemat ielÄpus un vienlaikus paļaujaties uz stabilo aplikÄcijas versiju.
PS no tulka
Lasi arÄ« mÅ«su emuÄrÄ:
- Ā«";
- Ā«";
- Ā«";
- «» (pÄrskats un video reportÄža);
- «» (pÄrskats un video reportÄža);
- «» (pÄrskats un video reportÄža);
- «» (pÄrskats un video reportÄža);
- Ā«'.
Avots: www.habr.com
