7 l-aħjar prattiki għall-użu tal-kontenituri skont Google

Nota. transl.: L-awtur tal-artiklu oriġinali huwa Théo Chamley, Google Cloud Solutions Architect. F'din il-post għall-blog Google Cloud, huwa jipprovdi sommarju tal-gwida aktar dettaljata tal-kumpanija tiegħu, imsejħa "L-Aħjar Prattiki għat-Tħaddim ta' Kontenituri" Fiha, l-esperti tal-Google ġabru l-aħjar prattiki għall-operat tal-kontenituri fil-kuntest tal-użu tal-Google Kubernetes Engine u aktar, li jmissu firxa wiesgħa ta 'suġġetti: mis-sigurtà għall-monitoraġġ u l-illoggjar. Allura x'inhuma l-aktar prattiki importanti tal-kontejners skont Google?

7 l-aħjar prattiki għall-użu tal-kontenituri skont Google

Magna Kubernetes (Servizz ibbażat fuq Kubernetes għat-tħaddim ta' applikazzjonijiet fil-kontejners fuq Google Cloud - madwar. traduzzjoni) huwa wieħed mill-aħjar modi biex imexxu l-piżijiet tax-xogħol li jeħtieġu skala. Kubernetes se jiżgura funzjonament bla xkiel tal-biċċa l-kbira tal-applikazzjonijiet jekk ikunu f'kontenituri. Imma jekk trid li l-applikazzjoni tiegħek tkun faċli biex timmaniġġjaha u trid tieħu vantaġġ sħiħ minn Kubernetes, trid issegwi l-aħjar prattiki. Se jissimplifikaw l-operat tal-applikazzjoni, il-monitoraġġ u d-debugging tagħha, u jżidu wkoll is-sigurtà.

F'dan l-artikolu, ser ngħaddu minn lista ta' affarijiet li għandek tkun taf u tagħmel biex tħaddem il-kontenituri b'mod effettiv fuq Kubernetes. Dawk li jixtiequ jidħlu aktar fil-fond fid-dettalji għandhom jaqraw il-materjal L-Aħjar Prattiki għat-Tħaddim ta' Kontenituri, u tagħti attenzjoni wkoll lil tagħna post preċedenti dwar l-assemblaġġ ta' kontenituri.

1. Uża mekkaniżmi indiġeni tal-qtugħ tal-kontenituri

Jekk l-applikazzjoni tkun qed taħdem fuq cluster Kubernetes, mhux meħtieġ ħafna għar-zkuk. Sistema ċentralizzata ta' illoggjar x'aktarx diġà hija mibnija fil-cluster li qed tuża. Fil-każ li tuża Kubernetes Engine, dan huwa responsabbli Stackdriver Logging. (Nota. transl.: U jekk tuża l-installazzjoni Kubernetes tiegħek stess, nirrakkomandaw li tagħti ħarsa aktar mill-qrib lejn is-soluzzjoni Open Source tagħna - dar taz-zkuk.) Żomm ħajtek sempliċi u uża mekkaniżmi indiġeni tal-illoggjar tal-kontenituri. Ikteb zkuk għal stdout u stderr - dawn se jiġu riċevuti, salvati u indiċjati awtomatikament.

Jekk mixtieq, tista 'wkoll tikteb zkuk fuq Format JSON. Dan l-approċċ se jagħmilha faċli li żżid metadata magħhom. U magħhom, Stackdriver Logging se jkollu l-abbiltà li jfittex minn zkuk billi juża din il-metadata.

2. Kun żgur li l-kontenituri huma mingħajr stat u immutabbli

Biex il-kontenituri jiffunzjonaw b'mod korrett fi cluster Kubernetes, iridu jkunu mingħajr stat u immutabbli. Ladarba dawn il-kundizzjonijiet jiġu ssodisfati, Kubernetes jista 'jagħmel xogħolu, joħloq u jeqred entitajiet ta' applikazzjoni meta u fejn meħtieġ.

Mingħajr stat ifisser li kwalunkwe stat (data persistenti ta 'kull tip) hija maħżuna barra l-kontenitur. Għal dan, skont il-ħtiġijiet, jistgħu jintużaw tipi differenti ta 'ħażna esterna: Cloud Storage, Diski Persistenti, Ddistribwit mill-, CloudSQL jew databases oħra ġestiti. (Nota. transl.: Aqra aktar dwar dan fl-artiklu tagħna "Operaturi għal Kubernetes: kif tmexxi applikazzjonijiet stateful".)

Immutabbli ifisser li l-kontenitur mhux se jiġi modifikat matul il-ħajja tiegħu: l-ebda aġġornamenti, garża, bidliet fil-konfigurazzjoni. Jekk għandek bżonn taġġorna l-kodiċi tal-applikazzjoni tiegħek jew tapplika garża, oħloq immaġni ġdida u skjeraha. Huwa rakkomandat li timxi l-konfigurazzjoni tal-kontenitur (port tas-smigħ, għażliet ta 'ambjent ta' runtime, eċċ.) esternament - għal Sigrieti и ConfigMaps. Jistgħu jiġu aġġornati mingħajr ma jkollhom għalfejn tinbena immaġni ġdida ta 'kontenitur. Biex toħloq faċilment pipelines b'assemblaġġ ta 'immaġni, tista' tuża Cloud Ibni. (Nota. transl.: Aħna nużaw għodda Open Source għal dawn l-għanijiet dapp.)

7 l-aħjar prattiki għall-użu tal-kontenituri skont Google
Eżempju ta' aġġornament tal-konfigurazzjoni tal-Iskjerament f'Kubernetes bl-użu ta' ConfigMap immuntat fil-miżwed bħala konfigurazzjoni

3. Evita kontenituri privileġġjati

Ma tmexxix applikazzjonijiet bħala root fuq is-servers tiegħek, hux? Jekk attakkant jidħol fl-applikazzjoni, huwa jikseb aċċess għall-għeruq. L-istess kunsiderazzjonijiet japplikaw biex ma jitħaddmux kontenituri privileġġjati. Jekk għandek bżonn tibdel is-settings fuq il-host, tista 'tagħti l-kontenitur speċifiku kapaċitajiet bl-użu tal-għażla securityContext f'Kubernetes. Jekk għandek bżonn tibdel sysctls, Kubernetes għandu astratt separat għal din. B'mod ġenerali, tipprova tagħmel l-aħjar go fiha- u kontenituri sidecar biex iwettqu operazzjonijiet privileġġjati simili. M'għandhomx għalfejn ikunu aċċessibbli għat-traffiku intern jew estern.

Jekk tamministra cluster, tista 'tuża Politika tas-Sigurtà tal-Pods għal restrizzjonijiet fuq l-użu ta’ kontenituri privileġġjati.

4. Evita li taħdem bħala għerq

Kontenituri privileġġjati diġà ġew diskussi, iżda jkun saħansitra aħjar jekk, minbarra dan, ma tmexxix applikazzjonijiet ġewwa l-kontenitur bħala għerq. Jekk attakkant isib vulnerabbiltà remota f'applikazzjoni bi drittijiet tal-għeruq li tippermetti l-eżekuzzjoni tal-kodiċi, u wara jkun jista 'jħalli l-kontenitur permezz ta' vulnerabbiltà li għadha mhix magħrufa, se jikseb l-għeruq fuq il-host.

L-aħjar mod biex tevita dan huwa li ma tmexxi xejn bħala għerq fl-ewwel post. Biex tagħmel dan, tista' tuża d-direttiva USER в Dockerfile jew runAsUser f'Kubernetes. L-amministratur ta 'cluster jista' wkoll jikkonfigura l-imġiba ta 'infurzar bl-użu Politika tas-Sigurtà tal-Pods.

5. Agħmel l-applikazzjoni faċli biex tissorvelja

Bħall-illoggjar, il-monitoraġġ huwa parti integrali mill-ġestjoni tal-applikazzjoni. Soluzzjoni ta 'monitoraġġ popolari fil-komunità Kubernetes hija Prometheus - sistema li tiskopri awtomatikament imżiewed u servizzi li jeħtieġu monitoraġġ. (Nota. transl.: Ara wkoll tagħna rapport dettaljat dwar is-suġġett tal-monitoraġġ bl-użu ta’ Prometheus u Kubernetes.) Stackdriver huwa kapaċi jimmonitorja raggruppamenti Kubernetes u jinkludi l-verżjoni tiegħu stess ta 'Prometheus għall-monitoraġġ tal-applikazzjoni.

7 l-aħjar prattiki għall-użu tal-kontenituri skont Google
Kubernetes Dashboard fuq Stackdriver

Prometheus jistenna li l-applikazzjoni tibgħat metriċi lill-endpoint HTTP. Disponibbli għal dan Libreriji tal-klijenti Prometheus. L-istess format jintuża minn għodod oħra simili Ċensu Miftuħ и Istio.

6. Agħmel disponibbli l-istatus tas-saħħa tal-app

Il-ġestjoni tal-applikazzjoni fil-produzzjoni hija megħjuna mill-kapaċità tagħha li tikkomunika l-istat tagħha lis-sistema kollha. L-applikazzjoni qed taħdem? Huwa tajjeb? Inti lest li tirċievi traffiku? Kif qed iġib ruħu? L-aktar mod komuni biex issolvi din il-problema huwa li jiġu implimentati kontrolli tas-saħħa (kontrolli tas-saħħa). Kubernetes għandu żewġ tipi: sondi tal-ħajja u l-prontezza.

Għal sonda tal-ħajja (kontrolli tal-vitalità) l-applikazzjoni għandu jkollha punt tat-tmiem HTTP li jirritorna tweġiba "200 OK" jekk tkun funzjonali u d-dipendenzi bażiċi tagħha jkunu sodisfatti. Għal sonda ta 'prontezza (kontrolli tal-prontezza tas-servizz) l-applikazzjoni jrid ikollha endpoint HTTP ieħor li jirritorna tweġiba "200 OK" jekk l-applikazzjoni tkun fi stat tajjeb, il-passi tal-inizjalizzazzjoni jkunu tlestew u kwalunkwe talba valida ma tirriżultax fi żball. Kubernetes se jindirizza t-traffiku lejn il-kontejner biss jekk l-applikazzjoni tkun lesta skont dawn il-kontrolli. Żewġ endpoints jistgħu jingħaqdu jekk ma jkun hemm l-ebda differenza bejn l-istati tal-ħajja u tal-prontezza.

Tista’ taqra aktar dwar dan fl-artiklu relatat minn Sandeep Dinesh, Avukat tal-Iżviluppaturi minn Google: “L-aħjar prattiki ta' Kubernetes: Twaqqif ta' kontrolli tas-saħħa b'sondi ta' prontezza u ħajja".

7. Agħżel il-verżjoni tal-immaġni tiegħek bir-reqqa

Ħafna mill-immaġini pubbliċi u privati ​​jużaw sistema ta’ tikkettjar simili għal dik deskritta fi L-Aħjar Prattiki għall-Bini ta' Kontenituri. Jekk l-immaġni tuża sistema qrib verżjonijiet semantiċi, huwa meħtieġ li jitqiesu l-ispeċifiċitajiet tat-tikkettar. Per eżempju, tag latest jista 'jiċċaqlaq ta' spiss minn immaġni għal immaġni - ma tistax tiġi invokata jekk għandek bżonn bini u installazzjonijiet prevedibbli u ripetibbli.

Tista' tuża t-tikketta X.Y.Z (kważi dejjem ma jinbidlux), iżda f'dan il-każ, żomm kont tal-garża u l-aġġornamenti kollha tal-immaġni. Jekk l-immaġni li qed tuża għandha tikketta X.Y, din hija għażla tajba għall-medja tad-deheb. Billi tagħżelha, tirċievi awtomatikament irqajja u fl-istess ħin tistrieħ fuq il-verżjoni stabbli tal-applikazzjoni.

PS minn traduttur

Aqra wkoll fuq il-blog tagħna:

Sors: www.habr.com

Żid kumment