Awọn iṣe 7 ti o dara julọ fun lilo awọn apoti ni ibamu si Google

Akiyesi. itumọ.: Onkọwe ti atilẹba nkan jẹ Théo Chamley, Google Cloud Solutions Architect. Ninu ifiweranṣẹ yii fun bulọọgi Google awọsanma, o pese akopọ ti itọsọna alaye diẹ sii ti ile-iṣẹ rẹ, ti a pe ni "Awọn iṣe ti o dara julọ fun Awọn apoti Ṣiṣẹ" Ninu rẹ, awọn amoye Google gba awọn iṣe ti o dara julọ fun awọn apoti ti n ṣiṣẹ ni ipo ti lilo Google Kubernetes Engine ati diẹ sii, fọwọkan ọpọlọpọ awọn akọle: lati aabo si ibojuwo ati gedu. Nitorinaa kini awọn iṣe eiyan pataki julọ ni ibamu si Google?

Awọn iṣe 7 ti o dara julọ fun lilo awọn apoti ni ibamu si Google

Ẹrọ Kubernetes (Iṣẹ orisun Kubernetes fun ṣiṣe awọn ohun elo ti a fi sinu apo lori Google Cloud - isunmọ. itumọ) jẹ ọkan ninu awọn ọna ti o dara julọ lati ṣiṣe awọn iṣẹ ṣiṣe ti o nilo lati ṣe iwọn. Kubernetes yoo rii daju dan iṣẹ ti julọ awọn ohun elo ti o ba ti won ti wa ni eiyan. Ṣugbọn ti o ba fẹ ki ohun elo rẹ rọrun lati ṣakoso ati fẹ lati ni anfani ni kikun ti Kubernetes, o nilo lati tẹle awọn iṣe ti o dara julọ. Wọn yoo ṣe irọrun iṣẹ ti ohun elo naa, ibojuwo rẹ ati n ṣatunṣe aṣiṣe, ati tun mu aabo pọ si.

Ninu nkan yii, a yoo lọ nipasẹ atokọ ti awọn nkan ti o yẹ ki o mọ ati ṣe lati ṣiṣe awọn apoti ni imunadoko lori Kubernetes. Awọn ti nfẹ lati lọ jinle si awọn alaye yẹ ki o ka ohun elo naa Awọn iṣe ti o dara julọ fun Awọn apoti Ṣiṣẹ, ki o si tun san ifojusi si wa sẹyìn post nipa Nto awọn apoti.

1. Lo abinibi eiyan gedu ise sise

Ti ohun elo naa ba nṣiṣẹ lori iṣupọ Kubernetes, ko nilo pupọ fun awọn akọọlẹ. Eto iwọle si aarin ti ṣee ṣe tẹlẹ ti kọ sinu iṣupọ ti o nlo. Ninu ọran ti lilo Kubernetes Engine, eyi jẹ iduro Stackdriver wíwọlé. (Akiyesi. itumọ.: Ati pe ti o ba lo fifi sori Kubernetes tirẹ, a ṣeduro lati wo isunmọ si ojutu Orisun Orisun wa - loghouse.) Jeki igbesi aye rẹ rọrun ki o lo awọn ọna ṣiṣe gedu apoti abinibi. Kọ awọn akọọlẹ si stdout ati stderr - wọn yoo gba laifọwọyi, fipamọ ati atọka.

Ti o ba fẹ, o tun le kọ awọn akọọlẹ si JSON ọna kika. Ọna yii yoo jẹ ki o rọrun lati ṣafikun metadata si wọn. Ati pẹlu wọn, Stackdriver Logging yoo ni agbara lati wa nipasẹ awọn akọọlẹ nipa lilo metadata yii.

2. Rii daju pe awọn apoti ko ni ipinlẹ ati aiyipada

Fun awọn apoti lati ṣiṣẹ ni deede ni iṣupọ Kubernetes kan, wọn gbọdọ jẹ alaini orilẹ-ede ati aile yipada. Ni kete ti awọn ipo wọnyi ba pade, Kubernetes le ṣe iṣẹ rẹ, ṣiṣẹda ati iparun awọn nkan elo nigba ati nibiti o nilo.

Ti ko ni Ipinle tumo si wipe eyikeyi ipinle (jubẹẹlo data ti eyikeyi iru) ti wa ni ipamọ ita awọn eiyan. Fun eyi, da lori awọn iwulo, awọn oriṣi ti ibi ipamọ ita le ṣee lo: Cloud Ibi, Awọn disiki ti o duro, Redis, Awọsanma SQL tabi awọn ipamọ data iṣakoso miiran. (Akiyesi. itumọ.: Ka diẹ sii nipa eyi ninu nkan wa "Awọn oniṣẹ fun Kubernetes: bii o ṣe le ṣiṣẹ awọn ohun elo ipinlẹ".)

Ajesara tumọ si pe eiyan naa kii yoo ṣe atunṣe lakoko igbesi aye rẹ: ko si awọn imudojuiwọn, awọn abulẹ, awọn iyipada iṣeto. Ti o ba nilo lati ṣe imudojuiwọn koodu ohun elo rẹ tabi lo alemo kan, ṣẹda aworan titun ki o si fi sii. O ti wa ni niyanju lati gbe eiyan iṣeto ni (gbigbọ ibudo, asiko isise awọn aṣayan ayika, ati be be lo) ita - lati asiri и ConfigMaps. Wọn le ṣe imudojuiwọn laisi nini lati kọ aworan eiyan tuntun kan. Lati ṣẹda irọrun awọn pipelines pẹlu apejọ aworan, o le lo Awọsanma Kọ. (Akiyesi. itumọ.: A lo ohun elo orisun orisun fun awọn idi wọnyi dapp.)

Awọn iṣe 7 ti o dara julọ fun lilo awọn apoti ni ibamu si Google
Apeere ti mimudojuiwọn iṣeto imuṣiṣẹ ni Kubernetes ni lilo ConfigMap ti a gbe sinu awọn adarọ-ese bi atunto kan

3. Yẹra fun awọn apoti ti o ni anfani

O ko ṣiṣe awọn ohun elo bi root lori olupin rẹ, otun? Ti ikọlu ba wọ inu ohun elo naa, yoo ni iwọle gbongbo. Awọn ero kanna kan si ko ṣiṣẹ awọn apoti ti o ni anfani. Ti o ba nilo lati yi awọn eto pada lori agbalejo, o le fun eiyan ni pato Awọn agbara lilo aṣayan securityContext ninu Kubernetes. Ti o ba nilo lati yipada awọn ilana, Kubernetes ni o ni lọtọ áljẹbrà fun eyi. Ni gbogbogbo, gbiyanju lati ṣe pupọ julọ ninu e- ati awọn apoti ẹgbẹ lati ṣe awọn iṣẹ ti o ni anfani kanna. Wọn ko nilo lati wa si boya inu tabi ijabọ ita.

Ti o ba ṣakoso iṣupọ kan, o le lo Podu Aabo Afihan fun awọn ihamọ lori lilo awọn apoti ti o ni anfani.

4. Yẹra fun ṣiṣe bi root

Awọn apoti ti o ni anfani ti tẹlẹ ti jiroro, ṣugbọn yoo dara paapaa ti, ni afikun si eyi, o ko ṣiṣẹ awọn ohun elo inu apoti bi gbongbo. Ti ikọlu ba rii ailagbara latọna jijin ninu ohun elo kan pẹlu awọn ẹtọ gbongbo ti o fun laaye ipaniyan koodu, lẹhin eyi o ni anfani lati lọ kuro ni eiyan naa nipasẹ ailagbara ti a ko mọ sibẹsibẹ, yoo ni gbongbo lori agbalejo naa.

Ọna ti o dara julọ lati yago fun eyi ni lati ma ṣiṣẹ ohunkohun bi gbongbo ni aaye akọkọ. Lati ṣe eyi, o le lo itọsọna naa USER в Dockerfile tabi runAsUser ninu Kubernetes. Alakoso iṣupọ tun le tunto ihuwasi imuse nipa lilo Podu Aabo Afihan.

5. Ṣe ohun elo rọrun lati ṣe atẹle

Bii gedu, ibojuwo jẹ apakan pataki ti iṣakoso ohun elo. Ojutu ibojuwo olokiki ni agbegbe Kubernetes jẹ Ipolowo - eto ti o ṣe iwari awọn adarọ-ese laifọwọyi ati awọn iṣẹ ti o nilo ibojuwo. (Akiyesi. itumọ.: Wo tun wa alaye iroyin lori koko ti ibojuwo nipa lilo Prometheus ati Kubernetes.) Stackdriver ni agbara lati ṣe abojuto awọn iṣupọ Kubernetes ati pẹlu ẹya tirẹ ti Prometheus fun ibojuwo ohun elo.

Awọn iṣe 7 ti o dara julọ fun lilo awọn apoti ni ibamu si Google
Dasibodu Kubernetes lori Stackdriver

Prometheus nireti ohun elo lati dari awọn metiriki si aaye ipari HTTP. Wa fun eyi Awọn ile-ikawe alabara Prometheus. Kanna kika ti wa ni lo nipa miiran irinṣẹ bi Ṣii ikaniyan и Istio.

6. Ṣe awọn app ká ilera ipo wa

Isakoso ohun elo ni iṣelọpọ jẹ iranlọwọ nipasẹ agbara rẹ lati baraẹnisọrọ ipo rẹ si gbogbo eto. Njẹ ohun elo nṣiṣẹ? Ṣe o dara? Ṣe o ṣetan lati gba ijabọ? Báwo ló ṣe ń hùwà? Ọna ti o wọpọ julọ lati yanju iṣoro yii ni lati ṣe awọn sọwedowo ilera (awọn ayẹwo ilera). Kubernetes ni awọn oriṣi meji: liveness ati afefeayika wadi.

Fun iwadii liveness (ayẹwo agbara) ohun elo naa gbọdọ ni aaye ipari HTTP ti o da idahun “200 O dara” pada ti o ba jẹ iṣẹ ṣiṣe ati pe awọn igbẹkẹle ipilẹ rẹ ni itẹlọrun. Fun iwadii imurasilẹ (ayẹwo igbaradi iṣẹ) ohun elo naa gbọdọ ni aaye ipari HTTP miiran ti o da idahun “200 O dara” pada ti ohun elo naa ba wa ni ipo ilera, awọn igbesẹ ibẹrẹ ti pari ati pe eyikeyi ibeere to wulo ko ja si aṣiṣe. Kubernetes yoo ṣe ọna opopona nikan si apo eiyan ti ohun elo ba ṣetan ni ibamu si awọn sọwedowo wọnyi. Awọn aaye ipari meji ni a le dapọ ti ko ba si iyatọ laarin igbesi aye ati awọn ipinlẹ imurasilẹ.

O le ka diẹ sii nipa eyi ninu nkan ti o jọmọ lati ọdọ Sandeep Dinesh, Alagbawi Olùgbéejáde lati Google: “Awọn iṣe ti o dara julọ Kubernetes: Ṣiṣeto awọn sọwedowo ilera pẹlu imurasilẹ ati awọn iwadii igbesi aye».

7. Yan rẹ image version fara

Pupọ julọ awọn aworan gbangba ati ikọkọ lo eto fifi aami si eyi ti a ṣalaye ninu Awọn iṣe ti o dara julọ fun Awọn apoti Ilé. Ti aworan ba nlo eto ti o sunmọ atunmọ versioning, o jẹ dandan lati ṣe akiyesi awọn pato ti fifi aami sii. Fun apẹẹrẹ, tag latest le gbe nigbagbogbo lati aworan si aworan - ko le gbarale ti o ba nilo asọtẹlẹ ati awọn ipilẹ ati awọn fifi sori ẹrọ.

O le lo aami naa X.Y.Z (wọn kii ṣe iyipada nigbagbogbo), ṣugbọn ninu ọran yii, tọju gbogbo awọn abulẹ ati awọn imudojuiwọn si aworan naa. Ti aworan ti o nlo ba ni tag X.Y, Eyi jẹ aṣayan ti o dara fun itumọ goolu. Nipa yiyan rẹ, o gba awọn abulẹ laifọwọyi ati ni akoko kanna gbarale ẹya iduroṣinṣin ti ohun elo naa.

PS lati onitumọ

Ka tun lori bulọọgi wa:

orisun: www.habr.com

Fi ọrọìwòye kun