Google-ren arabera edukiontziak erabiltzeko 7 praktika onak

Ohar. itzul.: Jatorrizko artikuluaren egilea ThΓ©o Chamley da, Google Cloud Solutions Architect. Google Cloud blogerako argitalpen honetan, bere konpainiaren gida zehatzagoaren laburpena eskaintzen du, " izenekoa.Ontziak ustiatzeko praktika onak" Bertan, Google-ren adituek edukiontziak ustiatzeko jardunbide egokiak bildu zituzten Google Kubernetes Engine eta gehiago erabiltzeko testuinguruan, hainbat gai ukituz: segurtasunetik monitorizaziora eta erregistrora. Beraz, zein dira edukiontzien praktika garrantzitsuenak Google-ren arabera?

Google-ren arabera edukiontziak erabiltzeko 7 praktika onak

Kubernetes Engine (Kubernetes-en oinarritutako zerbitzua Google Cloud-en edukiontzidun aplikazioak exekutatzeko - gutxi gorabehera. itzulpena) eskalatu behar diren lan-kargak exekutatzeko modu onenetako bat da. Kubernetes aplikazio gehienen funtzionamendu ona bermatuko du edukiontzietan badaude. Baina zure aplikazioa kudeatzeko erraza izatea nahi baduzu eta Kubernetes-i ahalik eta etekinik handiena atera nahi baduzu, praktika onak jarraitu behar dituzu. Aplikazioaren funtzionamendua, haren jarraipena eta arazketa erraztuko dituzte, eta segurtasuna areagotuko dute.

Artikulu honetan, Kubernetes-en edukiontziak modu eraginkorrean exekutatzeko jakin eta egin behar dituzun gauzen zerrenda aztertuko dugu. Xehetasunetan sakondu nahi dutenek materiala irakurri beharko dute Ontziak ustiatzeko praktika onak, eta erreparatu ere gure lehenagoko mezua edukiontziak muntatzeari buruz.

1. Erabili jatorrizko edukiontzien erregistro-mekanismoak

Aplikazioa Kubernetes kluster batean exekutatzen ari bada, ez da asko behar erregistroetarako. Litekeena da erabiltzen ari zaren klusterrean dagoeneko eraikita dagoen erregistro-sistema zentralizatua. Kubernetes Engine erabiltzearen kasuan, hau da ardura Stackdriver Logging. (Ohar. itzul.: Eta zure Kubernetes instalazioa erabiltzen baduzu, gure Kode Irekiko irtenbidea gertutik aztertzea gomendatzen dugu - eguretxea.) Mantendu zure bizitza erraza eta erabili jatorrizko edukiontzien erregistro-mekanismoak. Idatzi erregistroak stdout eta stderr-en - automatikoki jaso, gorde eta indexatuko dira.

Nahi izanez gero, erregistroak ere idatz ditzakezu JSON formatua. Ikuspegi honek metadatuak gehitzea erraztuko du. Eta haiekin, Stackdriver Logging-ek metadatu hauek erabiliz erregistroetan bilatzeko gaitasuna izango du.

2. Ziurtatu edukiontziak estaturik gabekoak eta aldaezinak direla

Edukiontziek Kubernetes kluster batean behar bezala funtzionatzeko, estaturik gabekoak eta aldaezinak izan behar dute. Baldintza hauek betetzen direnean, Kubernetes-ek bere lana egin dezake, aplikazio-entitateak sortuz eta suntsitu behar denean eta behar denean.

Estaturik gabeko esan nahi du edozein egoera (edozein motatako datu iraunkorrak) edukiontzitik kanpo gordetzen dela. Horretarako, beharren arabera, kanpoko biltegiratze mota desberdinak erabil daitezke: Cloud Storage, Disko iraunkorrak, Birbanaketa, Cloud SQL edo kudeatutako beste datu-base batzuk. (Ohar. itzul.: Irakurri honi buruz gehiago gure artikuluan "Kubernetes-eko operadoreak: egoera-aplikazioak nola exekutatu".)

Aldaezina esan nahi du edukiontzia ez dela aldatuko bere bizitzan zehar: ez dago eguneratzerik, adabakirik, konfigurazio-aldaketarik. Zure aplikazioaren kodea eguneratu edo adabaki bat aplikatu behar baduzu, sortu irudi berri bat eta zabaldu. Edukiontziaren konfigurazioa (entzuteko ataka, exekuzio-ingurunearen aukerak, etab.) kanpotik mugitzea gomendatzen da Secrets ΠΈ ConfigMaps. Edukiontzi-irudi berri bat eraiki beharrik gabe eguneratu daitezke. Irudien muntaketarekin kanalizazioak erraz sortzeko, erabil dezakezu Cloud Build. (Ohar. itzul.: Kode irekiko tresna bat erabiltzen dugu helburu hauetarako dapp.)

Google-ren arabera edukiontziak erabiltzeko 7 praktika onak
Kubernetes-en Inplementazio-konfigurazioa eguneratzearen adibidea, konfigurazio gisa konfigurazio gisa muntatutako ConfigMap erabiliz.

3. Saihestu edukiontzi pribilegiatuak

Ez dituzu aplikazioak root gisa exekutatzen zure zerbitzarietan, ezta? Erasotzaile bat aplikazioan sartzen bada, root sarbidea lortuko du. Kontu berdinak aplikatzen dira edukiontzi pribilegiatuak ez exekutatzeko. Ostalariaren ezarpenak aldatu behar badituzu, edukiontziari zehatza eman diezaiokezu gaitasun aukera erabiliz securityContext Kubernetes-en. Aldatu behar baduzu sysctls, Kubernetes-ek dauka bereizi abstraktua honetarako. Orokorrean, saiatu ahalik eta etekin handiena ateratzen hasi- eta sidecar edukiontziak antzeko eragiketa pribilegiatuak egiteko. Ez dute zertan ez barneko edo kanpoko trafikorako irisgarriak izan.

Kluster bat administratzen baduzu, erabil dezakezu Pod Segurtasun Politika edukiontzi pribilegiatuak erabiltzeko murrizketengatik.

4. Saihestu root gisa exekutatzen

Edukiontzi pribilegiatuei buruz hitz egin da dagoeneko, baina are hobea izango da, honetaz gain, edukiontzi barruan aplikazioak root gisa exekutatzen ez badituzu. Erasotzaile batek urruneko ahultasun bat aurkitzen badu kodea exekutatzeko aukera ematen duen root-eskubideak dituen aplikazio batean, eta ondoren edukiontzia oraindik ezezaguna den ahultasun baten bidez utzi ahal izango du, ostalariaren root irabaziko du.

Hori saihesteko modurik onena ez da ezer exekutatu root gisa lehenik eta behin. Horretarako, zuzentaraua erabil dezakezu USER Π² Dockerfile edo runAsUser Kubernetes-en. Cluster-administratzaileak betearazteko jokabidea erabiliz ere konfigura dezake Pod Segurtasun Politika.

5. Egin aplikazioa kontrolatzeko erraza

Erregistroa bezala, monitorizazioa aplikazioen kudeaketaren zati bat da. Kubernetes komunitatean monitorizazio irtenbide ezagun bat da Prometeo - monitorizazioa behar duten lekak eta zerbitzuak automatikoki detektatzen dituen sistema. (Ohar. itzul.: Ikusi ere gure txosten zehatza Prometheus eta Kubernetes erabiliz monitorizatzearen gaiari buruz.) Stackdriver Kubernetes klusterrak monitorizatzeko gai da eta Prometheus-en bertsio propioa du aplikazioen jarraipena egiteko.

Google-ren arabera edukiontziak erabiltzeko 7 praktika onak
Kubernetes panela Stackdriver-en

Prometheus-ek espero du aplikazioak neurketak HTTP amaierako puntura birbidaltzea. Horretarako eskuragarri Prometheus bezeroen liburutegiak. Formatu bera erabiltzen dute beste tresna batzuek OpenCensus ΠΈ Istio.

6. Egin aplikazioaren osasun egoera eskuragarri

Produkzioan aplikazioen kudeaketa sistema osoari bere egoera jakinarazteko duen gaitasunari laguntzen zaio. Aplikazioa martxan al dago? Ondo dago? Prest al zaude trafikoa jasotzeko? Nola portatzen da? Arazo hau konpontzeko modurik ohikoena osasun-kontrolak ezartzea da (osasun egiaztapenak). Kubernetes-ek bi mota ditu: bizitasuna eta prestutasuna zundak.

Bizitasun zundarako (bizitasun egiaztapenak) aplikazioak "200 OK" erantzuna itzultzen duen HTTP amaierako puntu bat izan behar du funtzionala bada eta bere oinarrizko mendekotasunak betetzen badira. Presttasun zunda egiteko (zerbitzua prestatzeko egiaztapenak) aplikazioak "200 OK" erantzuna itzultzen duen beste HTTP puntu bat izan behar du, baldin eta aplikazioa egoera osasuntsuan badago, hasierako urratsak amaitu badira eta baliozko edozein eskaerak ez badu errorerik sortzen. Kubernetes-ek trafikoa edukiontzira bideratuko du aplikazioa egiaztapen horien arabera prest badago. Bi amaiera puntu batu daitezke bizitasun eta prest egoeren artean alderik ez badago.

Honi buruz gehiago irakur dezakezu Sandeep Dinesh-en, Google-ko garatzaileen defendatzailea, erlazionatutako artikuluan: "Kubernetes-en jardunbide egokiak: osasun-egiaztapenak konfiguratzea presttasun- eta bizitasun-zundekin'.

7. Aukeratu arretaz zure irudiaren bertsioa

Irudi publiko eta pribatu gehienek atalean deskribatutakoaren antzeko etiketa-sistema erabiltzen dute Ontziak eraikitzeko praktika onak. Irudiak hurbileko sistema bat erabiltzen badu bertsio semantikoa, etiketatzearen berezitasunak kontuan hartu behar dira. Adibidez, etiketa latest maiz mugi daiteke irudi batetik bestera; ezin da fidatu eraikuntza eta instalazio aurreikusgarriak eta errepikagarriak behar badituzu.

Etiketa erabil dezakezu X.Y.Z (ia beti ez dira aldatzen), baina kasu honetan, egin jarraipena irudiaren adabaki eta eguneratze guztien jarraipena. Erabiltzen ari zaren irudiak etiketa bat badu X.Y, hau aukera ona da urrezko mediarako. Aukeratuz gero, automatikoki jasoko dituzu adabakiak eta, aldi berean, aplikazioaren bertsio egonkorrean oinarritzen zara.

PS itzultzailetik

Irakurri ere gure blogean:

Iturria: www.habr.com

Gehitu iruzkin berria