Sigurtà tat-Tmun

L-essenza tal-istorja dwar il-maniġer tal-pakketti l-aktar popolari għal Kubernetes tista 'tiġi deskritta bl-użu ta' emoji:

  • il-kaxxa hija Helm (li hija l-eqreb ħaġa għall-aħħar rilaxx Emoji);
  • lock - sigurtà;
  • il-bniedem żgħir huwa s-soluzzjoni għall-problema.

Sigurtà tat-Tmun

Fil-fatt, kollox se jkun ftit aktar ikkumplikat, u l-istorja hija mimlija dettalji tekniċi dwar Kif tagħmel lil Helm sigur.

  • Fil-qosor x'inhu Helm f'każ li ma kontx taf jew insejt. X'problemi ssolvi u fejn tinsab fl-ekosistema.
  • Ejja nħarsu lejn l-arkitettura Helm. L-ebda konversazzjoni dwar is-sigurtà u kif tagħmel għodda jew soluzzjoni aktar sigura ma hija kompluta mingħajr ma tifhem l-arkitettura tal-komponent.
  • Ejja niddiskutu l-komponenti Helm.
  • L-iktar mistoqsija taħraq hija l-futur - il-verżjoni l-ġdida ta’ Helm 3. 

Kollox f'dan l-artikolu japplika għal Helm 2. Din il-verżjoni bħalissa tinsab fil-produzzjoni u x'aktarx hija dik li qed tuża bħalissa, u hija l-verżjoni li fiha r-riskji tas-sigurtà.


Dwar il-kelliem: Alexander Khayorov (allexx) ilha tiżviluppa għal 10 snin, u tgħin biex ittejjeb il-kontenut Moska Python Conf++ u ngħaqad mal-kumitat Samit tat-Tmun. Issa huwa jaħdem fuq Chainstack bħala mexxej tal-iżvilupp - dan huwa ibridu bejn maniġer tal-iżvilupp u persuna li hija responsabbli għat-twassil tar-rilaxxi finali. Jiġifieri, tinsab fuq il-kamp tal-battalja, fejn kollox jiġri mill-ħolqien ta 'prodott għall-operat tiegħu.

Chainstack hija startup żgħira li qed tikber b'mod attiv li l-missjoni tagħha hija li tippermetti lill-klijenti jinsew dwar l-infrastruttura u l-kumplessitajiet tal-operat tal-applikazzjonijiet deċentralizzati; it-tim tal-iżvilupp jinsab f'Singapor. Titlobx lil Chainstack biex ibigħ jew tixtri munita kriptografika, imma offri li titkellem dwar oqfsa ta 'blockchain ta' intrapriżi, u huma kuntenti jwieġbuk.

Helm

Dan huwa maniġer tal-pakkett (ċart) għal Kubernetes. L-aktar mod intuwittiv u universali biex jinġiebu applikazzjonijiet għal cluster Kubernetes.

Sigurtà tat-Tmun

Aħna, ovvjament, nitkellmu dwar approċċ aktar strutturali u industrijali milli toħloq il-manifesti YAML tiegħek stess u tikteb utilitajiet żgħar.

Helm huwa l-aħjar li bħalissa huwa disponibbli u popolari.

Għaliex Helm? Primarjament minħabba li hija appoġġjata mill-CNCF. Cloud Native hija organizzazzjoni kbira u hija l-kumpanija prinċipali għal proġetti Kubernetes, etcd, Fluentd u oħrajn.

Fatt importanti ieħor huwa li Helm huwa proġett popolari ħafna. Meta bdejt nitkellem dwar kif nagħmel Helm sigur f'Jannar 2019, il-proġett kellu elf stilla fuq GitHub. Sa Mejju kien hemm 12-il elf minnhom.

Ħafna nies huma interessati f'Helm, għalhekk anki jekk għadek ma tużahx, int tibbenefika milli tkun taf dwar is-sigurtà tiegħu. Is-sigurtà hija importanti.

It-tim ewlieni ta' Helm huwa appoġġjat minn Microsoft Azure u għalhekk huwa proġett pjuttost stabbli, b'differenza għal ħafna oħrajn. Ir-rilaxx ta' Helm 3 Alpha 2 f'nofs Lulju jindika li hemm pjuttost ħafna nies li jaħdmu fuq il-proġett, u għandhom ix-xewqa u l-enerġija biex jiżviluppaw u jtejbu Helm.

Sigurtà tat-Tmun

Helm issolvi diversi problemi ta 'l-għeruq tal-ġestjoni ta' l-applikazzjoni f'Kubernetes.

  • Ippakkjar tal-applikazzjoni. Anke applikazzjoni bħal "Hello, World" fuq WordPress diġà tikkonsisti f'diversi servizzi, u trid tippakkjahom flimkien.
  • Ġestjoni tal-kumplessità li tiġi mal-ġestjoni ta 'dawn l-applikazzjonijiet.
  • Ċiklu tal-ħajja li ma jintemmx wara li l-applikazzjoni tiġi installata jew skjerata. Ikompli jgħix, jeħtieġ li jiġi aġġornat, u Helm jgħin f'dan u jipprova jġib il-miżuri u l-politiki t-tajba għal dan.

Imballaġġ hija organizzata b'mod ċar: hemm metadata f'konformità sħiħa max-xogħol ta 'maniġer ta' pakkett regolari għal Linux, Windows jew MacOS. Jiġifieri, repożitorju, dipendenzi fuq diversi pakketti, meta informazzjoni għal applikazzjonijiet, settings, karatteristiċi ta 'konfigurazzjoni, indiċjar ta' informazzjoni, eċċ Helm jippermettilek li tikseb u tuża dan kollu għall-applikazzjonijiet.

Ġestjoni tal-Kumplessità. Jekk għandek ħafna applikazzjonijiet tal-istess tip, allura l-parametrizzazzjoni hija meħtieġa. Il-mudelli ġejjin minn dan, iżda biex tevita li toħroġ bil-mod tiegħek kif toħloq mudelli, tista 'tuża dak li joffri Helm barra mill-kaxxa.

Ġestjoni taċ-ċiklu tal-Ħajja tal-Applikazzjoni - fl-opinjoni tiegħi, din hija l-iktar mistoqsija interessanti u mhux solvuta. Huwa għalhekk li ġejt Helm lura fil-ġurnata. Kellna nżommu għajnejk fuq iċ-ċiklu tal-ħajja tal-applikazzjoni u ridna nċaqalqu ċ-ċikli tas-CI/CD u tal-applikazzjoni tagħna għal din il-paradigma.

Helm jippermettilek li:

  • jimmaniġġja l-iskjeramenti, jintroduċi l-kunċett ta 'konfigurazzjoni u reviżjoni;
  • twettaq b'suċċess rollback;
  • uża ganċijiet għal avvenimenti differenti;
  • żid kontrolli tal-applikazzjoni addizzjonali u tirrispondi għar-riżultati tagħhom.

Barra minn Helm għandu "batteriji" - numru kbir ta 'affarijiet fit-togħma li jistgħu jiġu inklużi fil-forma ta' plugins, li jissimplifikaw il-ħajja tiegħek. Il-plugins jistgħu jinkitbu b'mod indipendenti, huma pjuttost iżolati u ma jeħtiġux arkitettura armonjuża. Jekk trid timplimenta xi ħaġa, nirrakkomanda li tagħmel dan bħala plugin, u mbagħad possibbilment tinkludiha upstream.

Helm huwa bbażat fuq tliet kunċetti ewlenin:

  • Ċart Repo — deskrizzjoni u firxa ta' parametrizzazzjonijiet possibbli għall-manifest tiegħek. 
  • Config —jiġifieri, il-valuri li se jiġu applikati (test, valuri numeriċi, eċċ.).
  • Rilaxx jiġbor iż-żewġ komponenti ta 'fuq, u flimkien jinbidlu f'Rilaxx. Ir-rilaxxi jistgħu jiġu verżjoni verżjoni, u b'hekk jinkiseb ċiklu tal-ħajja organizzat: żgħar fil-ħin tal-installazzjoni u kbar fil-ħin tal-upgrade, downgrade jew rollback.

Arkitettura tat-tmun

Id-dijagramma kunċettwalment turi l-arkitettura ta 'livell għoli ta' Helm.

Sigurtà tat-Tmun

Ħa nfakkarkom li Helm hija xi ħaġa relatata ma' Kubernetes. Għalhekk, ma nistgħux nagħmlu mingħajr cluster Kubernetes (rettangolu). Il-komponent kube-apiserver jirrisjedi fuq il-kaptan. Mingħajr Helm għandna Kubeconfig. Helm iġib binarju żgħir wieħed, jekk tista 'ssejjaħ hekk, Helm CLI utilità, li hija installata fuq kompjuter, laptop, mainframe - fuq xi ħaġa.

Iżda dan mhux biżżejjed. Helm għandu komponent server imsejjaħ Tiller. Jirrappreżenta l-interessi ta 'Helm fi ħdan il-cluster; hija applikazzjoni fi ħdan il-cluster Kubernetes, bħal kull oħra.

Il-komponent li jmiss ta 'Chat Repo huwa repożitorju bi charts. Hemm repożitorju uffiċjali, u jista 'jkun hemm repożitorju privat ta' kumpanija jew proġett.

Interazzjoni

Ejja nħarsu lejn kif il-komponenti tal-arkitettura jinteraġixxu meta rridu ninstallaw applikazzjoni bl-użu ta' Helm.

  • Qed nitkellmu Helm install, Aċċessa għar-repożitorju (Chart Repo) u tikseb chart Helm.

  • L-utilità Helm (Helm CLI) tinteraġixxi ma' Kubeconfig sabiex issib liema cluster tikkuntattja. 
  • Wara li rċeviet din l-informazzjoni, l-utilità tirreferi għal Tiller, li jinsab fil-cluster tagħna, bħala applikazzjoni. 
  • Tiller isejjaħ lil Kube-apiserver biex iwettaq azzjonijiet f'Kubernetes, joħloq xi oġġetti (servizzi, imżiewed, repliki, sigrieti, eċċ.).

Sussegwentement, se nikkomplikaw id-dijagramma biex naraw il-vettur tal-attakk li l-arkitettura Helm kollha kemm hi tista 'tiġi esposta għalih. U mbagħad nippruvaw nipproteġuha.

Vettur tal-attakk

L-ewwel punt dgħajjef potenzjali huwa API privileġġjat-utent. Bħala parti mill-iskema, dan huwa hacker li kiseb aċċess amministratur għall-Helm CLI.

Utent API mhux privileġġjat jista’ wkoll joħloq periklu jekk ikun xi mkien fil-qrib. Utent bħal dan ikollu kuntest differenti, pereżempju, jista 'jiġi ffissat fi spazju tal-isem tal-cluster wieħed fis-settings ta' Kubeconfig.

L-aktar vettur ta 'attakk interessanti jista' jkun proċess li jirrisjedi fi ħdan cluster x'imkien qrib Tiller u jista 'jkollu aċċess għalih. Dan jista 'jkun web server jew mikroservizz li jara l-ambjent tan-netwerk tal-cluster.

Varjant ta 'attakk eżotiku, iżda dejjem aktar popolari, jinvolvi Chart Repo. Tabella maħluqa minn awtur bla skrupli jistaʼ jkun fiha riżorsi mhux sikuri, u inti timlaha billi teħodha bil- fidi. Jew tista' tissostitwixxi t-tabella li tniżżel mir-repożitorju uffiċjali u, pereżempju, toħloq riżors fil-forma ta' politiki u teskala l-aċċess tagħha.

Sigurtà tat-Tmun

Ejja nippruvaw inneħħu l-attakki minn dawn l-erba' naħat kollha u nagħrfu fejn hemm problemi fl-arkitettura ta' Helm, u fejn, forsi, m'hemm l-ebda.

Ejja nkabbar id-dijagramma, żid aktar elementi, iżda żomm il-komponenti bażiċi kollha.

Sigurtà tat-Tmun

Il-Helm CLI jikkomunika maċ-Chat Repo, jinteraġixxi ma' Kubeconfig, u x-xogħol jiġi trasferit għall-cluster għall-komponent Tiller.

Tiller huwa rappreżentat minn żewġ oġġetti:

  • Tiller-deploy svc, li jesponi ċertu servizz;
  • Tiller-deploy pod (fid-dijagramma f'kopja waħda f'replika waħda), li fuqha taħdem it-tagħbija kollha, li taċċessa l-cluster.

Protokolli u skemi differenti huma użati għall-interazzjoni. Mil-lat tas-sigurtà, aħna l-aktar interessati li:

  • Il-mekkaniżmu li bih l-Helm CLI taċċessa ċ-ċart repo: liema protokoll, hemm awtentikazzjoni u x'jista' jsir biha.
  • Il-protokoll li bih Helm CLI, bl-użu ta 'kubectl, jikkomunika ma' Tiller. Dan huwa server RPC installat ġewwa l-cluster.
  • Tiller innifsu huwa aċċessibbli għal mikroservizzi li jirrisjedu fil-cluster u jinteraġixxi mal-Kube-apiserver.

Sigurtà tat-Tmun

Ejja niddiskutu dawn l-oqsma kollha fl-ordni.

RBAC

M'hemm l-ebda skop li titkellem dwar xi sigurtà għal Helm jew kwalunkwe servizz ieħor fi ħdan il-cluster sakemm RBAC ma jkunx attivat.

Jidher li din mhix l-aħħar rakkomandazzjoni, iżda jiena ċert li ħafna nies għadhom ma ppermettewx RBAC anke fil-produzzjoni, minħabba li huwa ħafna ta 'fuss u ħafna affarijiet jeħtieġ li jiġu kkonfigurati. Madankollu, inħeġġiġkom tagħmel dan.

Sigurtà tat-Tmun

https://rbac.dev/ — avukat tal-websajt għall-RBAC. Fiha ammont kbir ta 'materjali interessanti li jgħinuk twaqqaf RBAC, turi għaliex hija tajba u kif bażikament tgħix miegħu fil-produzzjoni.

Nipprova nispjega kif jaħdmu Tiller u RBAC. Tiller jaħdem ġewwa l-cluster taħt ċertu kont ta 'servizz. Tipikament, jekk RBAC ma jkunx ikkonfigurat, dan ikun is-superuser. Fil-konfigurazzjoni bażika, Tiller se jkun admin. Huwa għalhekk li ħafna drabi jingħad li Tiller hija mina SSH għall-cluster tiegħek. Fil-fatt, dan huwa minnu, għalhekk tista 'tuża kont ta' servizz iddedikat separat minflok il-Kont ta 'Servizz Default fid-dijagramma ta' hawn fuq.

Meta initialize Helm u tinstallah fuq is-server għall-ewwel darba, tista 'tissettja l-kont tas-servizz bl-użu --service-account. Dan jippermettilek tuża utent bis-sett minimu meħtieġ ta' drittijiet. Veru, ser ikollok toħloq tali "girlanda": Rwol u RoleBinding.

Sigurtà tat-Tmun

Sfortunatament, Helm mhux se jagħmel dan għalik. Int jew l-amministratur tal-cluster ta' Kubernetes tiegħek jeħtieġ li tipprepara sett ta' Rwoli u RoleBindings għall-kont tas-servizz bil-quddiem sabiex tgħaddi minn Helm.

Tqum il-mistoqsija - x'inhi d-differenza bejn Role u ClusterRole? Id-differenza hija li ClusterRole jaħdem għall-ispazji tal-isem kollha, b'differenza għal Rwoli regolari u RoleBindings, li jaħdmu biss għal spazju tal-isem speċjalizzat. Tista' tikkonfigura politiki għall-cluster kollu u l-ispazji tal-isem kollha, jew personalizzati għal kull spazju tal-isem individwalment.

Ta’ min isemmi li RBAC issolvi problema kbira oħra. Ħafna nies jilmentaw li Helm, sfortunatament, mhuwiex multitenancy (ma jappoġġjax multitenancy). Jekk diversi timijiet jikkunsmaw cluster u jużaw Helm, huwa bażikament impossibbli li jiġu stabbiliti politiki u jillimitaw l-aċċess tagħhom fi ħdan dan il-cluster, minħabba li hemm ċertu kont tas-servizz li taħtu jaħdem Helm, u joħloq ir-riżorsi kollha fil-cluster minn taħtu. , li kultant inkonvenjenti ħafna. Dan huwa minnu - bħall-fajl binarju innifsu, bħall-proċess, Helm Tiller m'għandu l-ebda kunċett ta 'multitenancy.

Madankollu, hemm mod tajjeb ħafna li jippermettilek tmexxi Tiller diversi drabi fi cluster. M'hemm l-ebda problema ma 'dan, Tiller jista' jiġi mniedi f'kull namespace. Għalhekk, tista 'tuża RBAC, Kubeconfig bħala kuntest, u tillimita l-aċċess għal Helm speċjali.

Se tidher bħal din.

Sigurtà tat-Tmun

Per eżempju, hemm żewġ Kubeconfigs b'kuntest għal timijiet differenti (żewġ namespaces): X Team għat-tim ta 'żvilupp u l-cluster ta' l-amministratur. Il-cluster ta 'l-amministratur għandu Tiller wiesa' tiegħu stess, li jinsab fl-ispazju tal-isem tas-sistema Kube, kont ta 'servizz avvanzat b'mod korrispondenti. U spazju tal-isem separat għat-tim tal-iżvilupp, se jkunu jistgħu jużaw is-servizzi tagħhom fi spazju tal-isem speċjali.

Dan huwa approċċ operabbli, Tiller m'għandux tant setgħa li se jaffettwa ħafna l-baġit tiegħek. Din hija waħda mis-soluzzjonijiet ta 'malajr.

Ħossok liberu li tikkonfigura Tiller separatament u tipprovdi lil Kubeconfig b'kuntest għat-tim, għal żviluppatur speċifiku jew għall-ambjent: Dev, Staging, Production (huwa dubjuż li kollox se jkun fuq l-istess cluster, madankollu, dan jista 'jsir).

Inkomplu l-istorja tagħna, ejja naqilbu minn RBAC u nitkellmu dwar ConfigMaps.

ConfigMaps

Helm juża ConfigMaps bħala l-maħżen tad-dejta tiegħu. Meta tkellimna dwar l-arkitettura, ma kien hemm ebda database imkien li taħżen informazzjoni dwar rilaxxi, konfigurazzjonijiet, rollbacks, eċċ. Għal dan jintuża ConfigMaps.

Il-problema ewlenija bil-ConfigMaps hija magħrufa - fil-prinċipju mhumiex sikuri; huwa impossibbli li taħżen data sensittiva. Qed nitkellmu dwar dak kollu li m'għandux imur lil hinn mis-servizz, pereżempju, il-passwords. L-aktar mod indiġenu għal Helm bħalissa huwa li jaqleb mill-użu ta' ConfigMaps għal sigrieti.

Dan isir b'mod sempliċi ħafna. Ikkalkola l-issettjar Tiller u speċifika li l-ħażna se tkun sigrieti. Imbagħad għal kull skjerament inti tirċievi mhux ConfigMap, iżda sigriet.

Sigurtà tat-Tmun

Tista' targumenta li s-sigrieti nfushom huma kunċett stramb u mhux sikuri ħafna. Madankollu, ta 'min jifhem li l-iżviluppaturi ta' Kubernetes infushom qed jagħmlu dan. Tibda mill-verżjoni 1.10, i.e. Għal xi żmien pjuttost twil issa, kien possibbli, għall-inqas fi sħab pubbliċi, li tgħaqqad il-ħażna korretta biex taħżen is-sigrieti. It-tim issa qed jaħdem fuq modi kif jitqassam aħjar l-aċċess għal sigrieti, imżiewed individwali, jew entitajiet oħra.

Huwa aħjar li tittrasferixxi Storage Helm għal sigrieti, u dawn, min-naħa tagħhom, huma assigurati ċentralment.

Ovvjament se jibqa’ limitu tal-ħażna tad-dejta ta' 1 MB. Helm hawn juża etcd bħala ħażna mqassma għal ConfigMaps. U hemm qiesu li dan kien biċċa data xierqa għar-replikazzjoni, eċċ. Hemm diskussjoni interessanti dwar dan fuq Reddit, nirrakkomanda li ssib dan il-qari umoristiku għal tmiem il-ġimgħa jew taqra l-estratt hawn.

Ċart Repos

Iċ-ċarts huma l-aktar vulnerabbli soċjalment u jistgħu jsiru sors ta '"Bniedem fin-nofs", speċjalment jekk tuża soluzzjoni tal-istokk. L-ewwelnett, qed nitkellmu dwar repożitorji li huma esposti permezz ta 'HTTP.

Żgur trid tesponi Helm Repo fuq HTTPS - din hija l-aħjar għażla u hija rħas.

Innota l- mekkaniżmu tal-firma taċ-ċart. It-teknoloġija hija sempliċi daqs l-infern. Din hija l-istess ħaġa li tuża fuq GitHub, magna PGP regolari b'ċwievet pubbliċi u privati. Stabbilixxi u kun żgur, li jkollok iċ-ċwievet meħtieġa u tiffirma kollox, li din hija verament iċ-ċart tiegħek.

Barra minn hekk, Klijent Helm jappoġġja TLS (mhux fis-sens HTTP fuq in-naħa tas-server, iżda TLS reċiproku). Tista' tuża ċwievet tas-server u tal-klijent sabiex tikkomunika. Biex inkun onest, ma nużax mekkaniżmu bħal dan għax ma nħobbx iċ-ċertifikati reċiproċi. Bażikament, chartmuseum - l-għodda ewlenija għat-twaqqif ta' Helm Repo għal Helm 2 - tappoġġja wkoll l-awtifikazzjoni bażika. Tista 'tuża awth bażiku jekk ikun aktar konvenjenti u aktar kwiet.

Hemm ukoll plugin tmun-gcs, li jippermettilek tospita Chart Repos fuq Google Cloud Storage. Dan huwa pjuttost konvenjenti, jaħdem tajjeb u huwa pjuttost sigur, minħabba li l-mekkaniżmi deskritti kollha huma riċiklati.

Sigurtà tat-Tmun

Jekk tattiva HTTPS jew TLS, tuża mTLS, u tippermetti awtorizzazzjoni bażika biex tnaqqas aktar ir-riskji, ikollok kanal ta' komunikazzjoni sigur ma' Helm CLI u Chart Repo.

gRPC API

Il-pass li jmiss huwa importanti ħafna - biex jiġi żgurat Tiller, li jinsab fil-cluster u huwa, min-naħa waħda, server, min-naħa l-oħra, huwa stess jaċċessa komponenti oħra u jipprova jippretendi li jkun xi ħadd.

Kif diġà għedt, Tiller huwa servizz li jesponi gRPC, il-klijent Helm jasal għalih permezz ta 'gRPC. B'mod awtomatiku, ovvjament, TLS huwa diżattivat. Għaliex sar dan hija mistoqsija dibattibbli, jidhirli li tissimplifika s-setup fil-bidu.

Għall-produzzjoni u anke l-istadju, nirrakkomanda li TLS tkun attivata fuq gRPC.

Fl-opinjoni tiegħi, kuntrarjament għall-mTLS għal charts, dan huwa xieraq hawn u jsir b'mod sempliċi ħafna - iġġenera infrastruttura PQI, oħloq ċertifikat, iniedi Tiller, ittrasferixxi ċ-ċertifikat waqt l-inizjalizzazzjoni. Wara dan, tista 'tesegwixxi l-kmandi kollha ta' Helm, u tippreżenta lilek innifsek biċ-ċertifikat iġġenerat u ċ-ċavetta privata.

Sigurtà tat-Tmun

Dan il-mod inti tipproteġi lilek innifsek mit-talbiet kollha lil Tiller minn barra l-cluster.

Allura, assigurajna l-kanal ta 'konnessjoni għal Tiller, diġà ddiskutejna RBAC u aġġustajna d-drittijiet tal-apiserver Kubernetes, u naqqas id-dominju li miegħu jista' jinteraġixxi.

Tmun protett

Ejja nħarsu lejn id-dijagramma finali. Hija l-istess arkitettura bl-istess vleġeġ.

Sigurtà tat-Tmun

Il-konnessjonijiet kollha issa jistgħu jitpinġu b'mod sikur bl-aħdar:

  • għal Chart Repo nużaw TLS jew mTLS u awth bażiku;
  • mTLS għal Tiller, u huwa espost bħala servizz gRPC b'TLS, nużaw ċertifikati;
  • il-cluster juża kont ta 'servizz speċjali ma' Rwol u RoleBinding. 

Aħna żgurajna l-cluster b'mod sinifikanti, iżda xi ħadd intelliġenti qal:

"Jista 'jkun hemm biss soluzzjoni waħda assolutament sikura - kompjuter mitfi, li jinsab f'kaxxa tal-konkrit u mgħasses mis-suldati."

Hemm modi differenti biex timmanipula d-dejta u ssib vettori ġodda ta 'attakk. Madankollu, jien fiduċjuż li dawn ir-rakkomandazzjonijiet se jiksbu standard industrijali bażiku għas-sikurezza.

Bonus

Din il-parti mhix direttament relatata mas-sigurtà, iżda se tkun utli wkoll. Ser nuruk xi affarijiet interessanti li ftit nies jafu bihom. Per eżempju, kif tfittex charts - uffiċjali u mhux uffiċjali.

Fir-repożitorju github.com/helm/charts Issa hemm madwar 300 chart u żewġ flussi: stabbli u inkubatur. Kull min jikkontribwixxi jaf perfettament kemm hu diffiċli li tasal minn inkubatur għal stale, u kemm hu faċli li tittajjar minn stale. Madankollu, din mhix l-aħjar għodda biex tfittex charts għal Prometheus u kwalunkwe ħaġa oħra li tixtieq, għal raġuni waħda sempliċi - mhuwiex portal fejn tista 'tfittex b'mod konvenjenti pakketti.

Imma hemm servizz hub.helm.sh, li jagħmilha ferm aktar konvenjenti li ssib mapep. L-aktar importanti, hemm ħafna aktar repożitorji esterni u kważi 800 charms disponibbli. Barra minn hekk, tista 'tqabbad ir-repożitorju tiegħek jekk għal xi raġuni ma tridx tibgħat iċ-ċarts tiegħek għal stabbli.

Ipprova hub.helm.sh u ejja niżviluppawha flimkien. Dan is-servizz huwa taħt il-proġett Helm, u tista 'saħansitra tikkontribwixxi għall-UI tagħha jekk inti żviluppatur front-end u trid biss ittejjeb id-dehra.

Nixtieq ukoll niġbed l-attenzjoni tiegħek Integrazzjoni tal-API Open Service Broker. Jidher ineffiċjenti u mhux ċar, iżda jsolvi problemi li kulħadd jiffaċċja. Ħa nispjega b'eżempju sempliċi.

Sigurtà tat-Tmun

Hemm cluster Kubernetes li fih irridu nħaddmu applikazzjoni klassika - WordPress. Ġeneralment, database hija meħtieġa għall-funzjonalità sħiħa. Hemm ħafna soluzzjonijiet differenti, pereżempju, tista 'tniedi s-servizz statefull tiegħek stess. Dan mhuwiex konvenjenti ħafna, iżda ħafna nies jagħmlu dan.

Oħrajn, bħalna fuq Chainstack, jużaw databases ġestiti bħal MySQL jew PostgreSQL għas-servers tagħhom. Huwa għalhekk li d-databases tagħna jinsabu x'imkien fis-sħab.

Iżda tqum problema: għandna bżonn nikkonnettjaw is-servizz tagħna ma 'database, noħolqu togħma ta' database, nittrasferixxu l-kredenzjali u b'xi mod jimmaniġġjawha. Dan kollu ġeneralment isir manwalment mill-amministratur tas-sistema jew mill-iżviluppatur. U m'hemm l-ebda problema meta jkun hemm ftit applikazzjonijiet. Meta jkun hemm ħafna minnhom, għandek bżonn taħlita. Hemm tali ħsad - huwa Service Broker. Jippermettilek tuża plugin speċjali għal cluster cloud pubbliku u tordna riżorsi mingħand il-fornitur permezz ta’ Broker, bħallikieku kienet API. Biex tagħmel dan, tista 'tuża għodod indiġeni ta' Kubernetes.

Huwa sempliċi ħafna. Tista' tagħmel mistoqsija, pereżempju, Managed MySQL f'Azure b'livell bażi (dan jista' jiġi kkonfigurat). Bl-użu tal-Azure API, id-database se tinħoloq u titħejja għall-użu. M'għandekx bżonn tinterferixxi ma 'dan, il-plugin huwa responsabbli għal dan. Pereżempju, OSBA (Azure plugin) se jirritorna l-kredenzjali lis-servizz u jgħaddiha lil Helm. Int tkun tista 'tuża WordPress bil-cloud MySQL, ma tittrattax databases ġestiti u ma tinkwieta dwar servizzi statefull ġewwa.

Nistgħu ngħidu li Helm jaġixxi bħala kolla li, minn naħa waħda, tippermettilek li tuża servizzi, u min-naħa l-oħra, tikkonsma r-riżorsi tal-fornituri tal-cloud.

Tista 'tikteb il-plugin tiegħek stess u tuża din l-istorja kollha fuq il-post. Imbagħad sempliċement ikollok il-plugin tiegħek għall-fornitur korporattiv tal-Cloud. Nirrakkomanda li tipprova dan l-approċċ, speċjalment jekk għandek skala kbira u trid tuża malajr dev, staging, jew l-infrastruttura kollha għal karatteristika. Dan se jagħmel il-ħajja aktar faċli għall-operazzjonijiet jew DevOps tiegħek.

Sejba oħra li diġà semmejt hija plugin helm-gcs, li jippermettilek tuża Google-buckets (ħażna ta 'oġġetti) biex taħżen mapep ta' Helm.

Sigurtà tat-Tmun

Għandek bżonn biss erba' kmandi biex tibda tużah:

  1. tinstalla l-plugin;
  2. tibdaha;
  3. issettja l-mogħdija għall-barmil, li jinsab fil-gcp;
  4. tippubblika charts bil-mod standard.

Is-sbuħija hija li l-metodu nattiv gcp se jintuża għall-awtorizzazzjoni. Tista 'tuża kont ta' servizz, kont ta 'żviluppatur, tkun xi tkun trid. Huwa konvenjenti ħafna u ma jiswa xejn biex jopera. Jekk inti, bħali, tippromwovi l-filosofija opsless, allura dan ikun konvenjenti ħafna, speċjalment għal timijiet żgħar.

Alternattivi

Helm mhix l-unika soluzzjoni għall-ġestjoni tas-servizz. Hemm ħafna mistoqsijiet dwarha, u huwa probabbilment għaliex it-tielet verżjoni dehret daqshekk malajr. Naturalment hemm alternattivi.

Dawn jistgħu jkunu soluzzjonijiet speċjalizzati, pereżempju, Ksonnet jew Metaparticle. Tista' tuża l-għodod klassiċi tal-ġestjoni tal-infrastruttura tiegħek (Ansible, Terraform, Chef, eċċ.) Għall-istess skopijiet li tkellimt dwarhom.

Fl-aħħar hemm soluzzjoni Qafas tal-Operatur, li l-popolarità tagħha qed tikber.

Operator Framework huwa l-aqwa alternattiva ta' Helm li trid tikkunsidra.

Huwa aktar indiġenu għal CNCF u Kubernetes, iżda l-ostaklu għad-dħul huwa ħafna ogħla, għandek bżonn tipprogramma aktar u tiddeskrivi manifesti inqas.

Hemm diversi addons, bħal Abbozz, Scaffold. Jagħmlu l-ħajja ħafna eħfef, pereżempju, jissimplifikaw iċ-ċiklu ta 'tibgħat u tnedija ta' Helm għall-iżviluppaturi biex jużaw ambjent ta 'test. Insejħilhom empowerers.

Hawn chart viżwali ta’ fejn hu kollox.

Sigurtà tat-Tmun

Fuq l-assi x hemm il-livell ta 'kontroll personali tiegħek fuq dak li qed jiġri, fuq l-assi y hemm il-livell ta' nativeness ta 'Kubernetes. Tmun verżjoni 2 jaqa' x'imkien fin-nofs. Fil-verżjoni 3, mhux enormi, iżda kemm il-kontroll kif ukoll il-livell ta 'nativeness ġew imtejba. Is-soluzzjonijiet fil-livell Ksonnet għadhom inferjuri anke għal Helm 2. Madankollu, ta 'min iħares lejhom biex tkun taf x'hemm aktar f'din id-dinja. Naturalment, il-maniġer tal-konfigurazzjoni tiegħek se jkun taħt il-kontroll tiegħek, iżda assolutament mhuwiex indiġenu għal Kubernetes.

Il-Qafas tal-Operatur huwa assolutament indiġenu għal Kubernetes u jippermettilek timmaniġġjah b'mod ħafna aktar eleganti u skrupluż (iżda ftakar dwar il-livell tad-dħul). Pjuttost, dan huwa adattat għal applikazzjoni speċjalizzata u l-ħolqien ta 'ġestjoni għaliha, aktar milli ħsad tal-massa għall-ippakkjar ta' numru kbir ta 'applikazzjonijiet bl-użu ta' Helm.

L-estensuri sempliċement itejbu ftit il-kontroll, jikkumplimentaw il-fluss tax-xogħol, jew jaqtgħu l-kantunieri fuq pipelines CI/CD.

Il-futur ta' Helm

L-aħbar tajba hija li ġej Helm 3. Il-verżjoni alpha ta 'Hemm 3.0.0-alpha.2 diġà ġiet rilaxxata, tista' tipprovaha. Huwa pjuttost stabbli, iżda l-funzjonalità għadha limitata.

Għaliex għandek bżonn Helm 3? L-ewwelnett, din hija storja dwarha għajbien ta’ Tiller, bħala komponent. Dan, kif diġà tifhem, huwa pass kbir 'il quddiem, għaliex mil-lat tas-sigurtà tal-arkitettura, kollox huwa ssimplifikat.

Meta nħoloq Helm 2, li kien madwar iż-żmien ta 'Kubernetes 1.8 jew saħansitra qabel, ħafna mill-kunċetti kienu immaturi. Pereżempju, il-kunċett CRD issa qed jiġi implimentat b'mod attiv, u Helm se uża CRDbiex jaħżnu strutturi. Ikun possibbli li tuża biss il-klijent u mhux iżżomm il-parti tas-server. Għaldaqstant, uża kmandi indiġeni ta 'Kubernetes biex taħdem ma' strutturi u riżorsi. Dan huwa pass kbir 'il quddiem.

Se jidhru appoġġ għal repożitorji OCI indiġeni (Inizjattiva tal-Kontenitur Miftuħ). Din hija inizjattiva enormi, u Helm huwa interessat primarjament sabiex ipoġġi ċ-ċarts tiegħu. Jiġi sal-punt li, pereżempju, Docker Hub jappoġġja ħafna standards OCI. Mhux qed naħseb, imma forsi l-fornituri klassiċi tar-repożitorji Docker jibdew jagħtuk l-opportunità li tospita ċ-ċarts Helm tiegħek.

L-istorja kontroversjali għalija hija Appoġġ Lua, bħala magna ta 'templating għall-kitba ta' skripts. M'iniex fan kbir ta' Lua, iżda din tkun karatteristika kompletament fakultattiva. Iċċekkja dan 3 darbiet - l-użu ta 'Lua mhux se jkun meħtieġ. Għalhekk, dawk li jridu jkunu jistgħu jużaw il-Lua, dawk li jħobbu Go, jingħaqdu mal-kamp enormi tagħna u jużaw go-tmpl għal dan.

Fl-aħħarnett, dak li żgur kont nieqes kien emerġenza ta' skema u validazzjoni tat-tip ta' data. Mhux se jkun hemm aktar problemi bl-int jew string, l-ebda ħtieġa li nagħlaq żero fi kwotazzjonijiet doppji. Se tidher skema JSONS li tippermettilek tiddeskrivi dan b'mod espliċitu għall-valuri.

Se jkun maħdum mill-ġdid ħafna mudell immexxi mill-avvenimenti. Diġà ġie deskritt kunċettwalment. Ħares lejn il-fergħa Helm 3, u se tara kemm ġew miżjuda avvenimenti u ganċijiet u affarijiet oħra, li se jissimplifikaw ħafna u, min-naħa l-oħra, iżidu l-kontroll fuq il-proċessi ta 'skjerament u r-reazzjonijiet għalihom.

Helm 3 se jkun aktar sempliċi, aktar sigur, u aktar divertenti, mhux għax ma nħobbux Helm 2, iżda għax Kubernetes qed isir aktar avvanzat. Għaldaqstant, Helm jista 'juża l-iżviluppi ta' Kubernetes u joħloq maniġers eċċellenti għal Kubernetes fuqha.

Aħbar tajba oħra hija li DevOpsConf Alexander Khayorov jgħidlek, il-kontenituri jistgħu jkunu siguri? Ejjew infakkarkom li l-konferenza dwar l-integrazzjoni tal-proċessi ta 'żvilupp, ttestjar u tħaddim se ssir f'Moska It-30 ta’ Settembru u l-1 ta’ Ottubru. Inti xorta tista 'tagħmel dan sal-20 ta' Awwissu jissottometti rapport u għidilna dwar l-esperjenza tiegħek bis-soluzzjoni wieħed minn ħafna kompiti tal-approċċ DevOps.

Segwi l-punti ta' kontroll tal-konferenzi u l-aħbarijiet fuq lista tal-posta и kanal tat-telegramma.

Sors: www.habr.com

Żid kumment