ShĂ«n. pĂ«rkth.: Autori i artikullit origjinal Ă«shtĂ« ThĂ©o Chamley, arkitekt i zgjidhjeve tĂ« cloud nga Google. NĂ« kĂ«tĂ« publikim pĂ«r blogun e Google Cloud, ai paraqet njĂ« pĂ«rmbledhje tĂ« shkurtĂ«r nga njĂ« udhĂ«zues mĂ« i detajuar i kompanisĂ« sĂ« tij, tĂ« quajtur "â. NĂ« tĂ«, ekspertĂ«t e Google kanĂ« mbledhur praktikat mĂ« tĂ« mira pĂ«r menaxhimin e kontejnerĂ«ve nĂ« kontekstin e pĂ«rdorimit tĂ« Google Kubernetes Engine dhe mĂ« shumĂ«, duke pĂ«rfshirĂ« njĂ« gamĂ« tĂ« gjerĂ« temash: nga siguria deri te monitorimi dhe regjistrimi. Pra, cilat janĂ« praktikat mĂ« tĂ« rĂ«ndĂ«sishme nĂ« punĂ«n me kontejnerĂ«t sipas mendimit tĂ« Google?

(njĂ« shĂ«rbim i bazuar nĂ« Kubernetes pĂ«r tĂ« drejtuar aplikacione tĂ« kontejnerizuara nĂ« Google Cloud â shĂ«nim i pĂ«rkthyesit.) â Ă«shtĂ« njĂ« nga mĂ«nyrat mĂ« tĂ« mira pĂ«r tĂ« drejtuar ngarkesa pune qĂ« kanĂ« nevojĂ« pĂ«r shkallĂ«zim. do tĂ« sigurojĂ« funksionimin pa probleme tĂ« shumicĂ«s sĂ« aplikacioneve, nĂ«se janĂ« tĂ« kontejnerizuara. Por nĂ«se dĂ«shironi qĂ« aplikacioni tĂ« jetĂ« i lehtĂ« pĂ«r t'u menaxhuar dhe dĂ«shironi tĂ« shfrytĂ«zoni tĂ« gjitha avantazhet e Kubernetes, Ă«shtĂ« e nevojshme tĂ« ndiqni praktikat mĂ« tĂ« mira. Ato do ta thjeshtojnĂ« operimin e aplikacionit, monitorimin dhe pastrimin e tij, si dhe do tĂ« rrisin sigurinĂ«.
Në këtë artikull do të kalojmë nëpër një listë të asaj që duhet të dini dhe të bëni për funksionimin efektiv të kontejnerëve në Kubernetes. Ata që dëshirojnë të thellohen në detaje duhet të lexojnë materialin , si dhe të kenë parasysh postimin tonë për ndërtimin e kontejnerëve.
1. Përdorni mekanizmat natyrorë të kontejnerëve për regjistrimin
NĂ«se aplikacioni Ă«shtĂ« i drejtuar nĂ« njĂ« grup Kubernetes, pĂ«r regjistrimin nuk nevojitet shumĂ«. NjĂ« sistem i centralizuar i regjistrimit, pĂ«r tĂ« cilin ndoshta tashmĂ« Ă«shtĂ« i integruar nĂ« grupe, pĂ«rgjigjet pĂ«r kĂ«tĂ« nĂ« rastin e pĂ«rdorimit tĂ« Kubernetes Engine . (ShĂ«n. pĂ«rkth.: NdĂ«rsa pĂ«r njĂ« instalim tĂ« vetĂ«-kontrolluar Kubernetes, rekomandojmĂ« tĂ« shikoni zgjidhjen tonĂ« me burim tĂ« hapur â .) Mos e kompliko jetĂ«n dhe pĂ«rdor mekanizmat natyrorĂ« tĂ« regjistrimit tĂ« kontejnerĂ«ve. Shkruani regjistrat nĂ« stdout dhe stderr â ato do tĂ« merren automatikisht, ruhen, dhe indeksohen.
Nëse dëshironi, mund të shkruani gjithashtu regjistrat në . Ky qasje do të lejojë që të shtoni lehtësisht metadatat. Dhe së bashku me to, në Stackdriver Logging do të ketë mundësi kërkimi në regjistrat duke përdorur këto metadata.
2. Sigurohuni që kontejnerët janë stateless dhe të pandryshueshëm
Për funksionimin e saktë të konteinerëve në klasterin Kubernetes, ato duhet të jenë stateless dhe immutable. Kur këto kushte plotësohen, Kubernetes do të jetë në gjendje të kryejë punën e tij, duke krijuar dhe shkatërruar entitete të aplikacionit kur dhe ku nevojitet.
Stateless do të thotë se çdo gjendje (të dhëna të qëndrueshme të çdo lloji) ruhen jashtë konteinerit. Për këtë, në varësi të nevojave, mund të angazhohen lloje të ndryshme të ruajtjeve të jashtme: , , , apo baza të tjera të dhënash të menaxhuara. (Shën. përkth.: Më shumë rreth kësaj mund të lexoni gjithashtu në artikullin tonë "».)
Immutable do tĂ« thotĂ« se konteineri nuk do tĂ« modifikohet gjatĂ« jetĂ«s sĂ« tij: nuk ka pĂ«rditĂ«sime, patches, ndryshime nĂ« konfiguracion. NĂ«se ju nevojitet tĂ« pĂ«rditĂ«soni kodin e aplikacionit ose tĂ« aplikoni njĂ« patch, krijoni njĂ« imazh tĂ« ri dhe depozitoni atĂ«. Rekomandohet tĂ« nxirreni konfiguracionin e konteinerit (porta pĂ«r dĂ«gjim, opsionet e mjedisit ekzekutiv etj.) jashtĂ« â nĂ« dhe . Ato mund tĂ« pĂ«rditĂ«sohen pa pasur nevojĂ« tĂ« krijoni njĂ« imazh tĂ« ri tĂ« konteinerit. PĂ«r krijimin e thjeshtĂ« tĂ« pipeline-ve pĂ«r ndĂ«rtimin e imazheve mund tĂ« pĂ«rdorni . (ShĂ«n. pĂ«rkth.: Ne pĂ«r kĂ«to qĂ«llime pĂ«rdorim mjetin Open Source .)

Shembulli i përditësimit të konfiguracionit të Deployment në Kubernetes duke përdorur ConfigMap, të montuar në pod për si një konfigurim
3. Shmangni konteinerët me privilegje
Ju nuk i ekzekutoni aplikacionet nën root në serverat tuaj, apo jo? Nëse një sulmues fiton akses në aplikacion, ai do të ketë qasje me privilegje root. Po të njëjtat konsiderata vlejnë edhe për të mos e ekzekutuar konteinerët me privilegje. Nëse nevojitet të ndryshoni cilësimet në host, mund t'u jepni konteinerëve të veçantë capabilities përmes opsionit në Kubernetes. Nëse nevojitet të ndryshoni sysctls, Kubernetes ka për këtë. Në përgjithësi, përpiquni të përdorni sa më shumë dhe konteinerë sidecar për kryerjen e operacioneve të tilla me privilegje. Ata nuk kanë nevojë për aksesim për asnjë trafik të brendshëm apo të jashtëm.
Nëse ju menaxhoni klasterin, mund të përdorni për kufizimet në përdorimin e konteinerëve me privilegje.
4. Shmangni ekzekutimin nën root
ĂshtĂ« folur pĂ«r kontenierĂ«t me privilegje, por do tĂ« ishte akoma mĂ« mirĂ« qĂ« nĂ« pĂ«rputhje me kĂ«tĂ« tĂ« mos filloni aplikacione nĂ«n pĂ«rdoruesin root brenda kontenierit. NĂ«se njĂ« haker gjen njĂ« vulnerabilitet nĂ« aplikacion me tĂ« drejta root qĂ« lejon ekzekutimin e kodit, dhe mĂ« pas mund tĂ« dalĂ« jashtĂ« kufijve tĂ« kontenierit pĂ«rmes njĂ« vulnerabiliteti ende tĂ« panjohur, ai do tĂ« ketĂ« kontrollin e root nĂ« host.
Mënyra më e mirë për të shmangur këtë është, në radhë të parë, të mos filloni asgjë nën root. Për këtë, mund të përdorni drejtpërdrejtë USER në Dockerfile ose runAsUser në Kubernetes. Administratori i klasterit gjithashtu mund ta konfigurojë një sjellje të detyrueshme duke përdorur .
5. Bëni aplikacionin të lehtë për monitorim
Siç Ă«shtĂ« regjistrimi, monitorimi Ă«shtĂ« njĂ« pjesĂ« e pandashme e menaxhimit tĂ« aplikacionit. NjĂ« zgjidhje e njohur pĂ«r monitorimin nĂ« komunitetin Kubernetes Ă«shtĂ« â njĂ« sistem qĂ« zbulon automatikisht pod-Ă«t dhe shĂ«rbimet qĂ« kĂ«rkojnĂ« monitorim. (ShĂ«n. pĂ«rkth.: Shih gjithashtu raportin tonĂ« nĂ« lidhje me monitorimin pĂ«rmes Prometheus dhe Kubernetes.) Ă«shtĂ« nĂ« gjendje tĂ« monitorojĂ« klasteret Kubernetes dhe pĂ«rfshin versionin e tij tĂ« Prometheus pĂ«r monitorimin e aplikacioneve.

Paneli i monitorimit Kubernetes në Stackdriver
Prometheus pret që aplikacioni të japë metrikat në një HTTP endpoint. Për këtë, janë të disponueshme . I njëjti format po ashtu përdoret nga mjete të tjera si dhe .
6. Bëni të disponueshëm gjendjen shëndetësore të aplikacionit
Menaxhimi i aplikacionit në prodhim ndihmohet nga aftësia e tij për të raportuar gjendjen e tij tërë sistemit. A është aplikacioni i nisur? A është ai në rregull? A është i gatshëm për të pranuar trafik? Si po sillet? Mënyra më e zakonshme për të zgjidhur këtë problem është të implementoni kontrollet e shëndetit (health checks). Kubernetes ka dy lloje të tyre: .
Për liveness probe (kontrolli i jetesës) aplikacioni duhet të ketë një HTTP endpoint që kthen një përgjigje "200 OK" nëse ai funksionon dhe varësitë e tij kryesore janë të kënaqura. Për readiness probe (kontrolli i gatishmërisë për shërbim) Aplikacioni duhet të ketë një endpoint tjetër HTTP që kthen një përgjigje "200 OK", nëse aplikacioni është në gjendje të shëndoshë, hapat e inicializimit janë përfunduar dhe çdo kërkesë e saktë nuk çon në gabim. Kubernetes do të drejtojë trafikun në kontejner vetëm në rast se aplikacioni është i gatshëm sipas këtyre kontrollimeve. Dy endpointët mund të kombinohen nëse nuk ka ndryshim mes gjendjeve të jetës (liveness) dhe gatishmërisë (readiness).
Më shumë rreth kësaj mund të lexoni në artikullin përkatës nga Sandeep Dinesh, Avokat i Zhvillimit në Google: "».
7. Zgjidhni kujdes me versionin e imazhit
Shumica e imazheve publike dhe private pĂ«rdorin njĂ« sistem etiketimi, tĂ« ngjashĂ«m me atĂ« tĂ« pĂ«rshkruar nĂ« . NĂ«se imazhi aplikon njĂ« sistem qĂ« Ă«shtĂ« i afĂ«rt me , Ă«shtĂ« e nevojshme tĂ« merret parasysh specifikimi i etiketimit. PĂ«r shembull, etiketa latest mund tĂ« lĂ«vizĂ« shpesh nga njĂ« imazh nĂ« njĂ« tjetĂ«r â nuk mund tĂ« mbĂ«shteteni nĂ« tĂ«, nĂ«se ju nevojiten ndĂ«rtime dhe instalime tĂ« parashikueshme dhe tĂ« riprodhueshme.
Mund të përdorni etiketën X.Y.Z ((ato pothuajse gjithmonë mbeten të pandryshuara), megjithatë në këtë rast mbani nën kontroll të gjitha patch-ët dhe përditësimet për imazhin. Nëse imazhi që po përdorni ka etiketën X.Y, kjo është një mundësi e mirë e një mesatare të arsyeshme. Duke e zgjedhur atë, automatikisht merrni patch-et dhe, njëkohësisht, mbështeteni në një version stabil të aplikacionit.
P.S. nga përkthyesi
Lexoni gjithashtu në blogun tonë:
- «»;
- «»;
- «»;
- «» (përmbledhje dhe video e prezantimit);
- «» (përmbledhje dhe video e prezantimit);
- «» (përmbledhje dhe video e prezantimit);
- «» (përmbledhje dhe video e prezantimit);
- «».
Burimi: habr.com
