Helm Sekirite

Sans nan istwa a sou manadjè pake ki pi popilè pou Kubernetes ta ka dekri lè l sèvi avèk yon emoji:

  • bwat la se Helm (ki se bagay ki pi pre dènye lage Emoji);
  • fèmen - sekirite;
  • ti gason an se solisyon pwoblèm nan.

Helm Sekirite

An reyalite, tout bagay pral yon ti kras pi konplike, ak istwa a plen ak detay teknik sou Ki jan fè Helm an sekirite.

  • Yon ti tan ki sa Helm se nan ka ou pa t 'konnen oswa bliye. Ki pwoblèm li rezoud ak ki kote li sitiye nan ekosistèm nan.
  • Ann gade nan achitekti Helm la. Pa gen konvèsasyon sou sekirite ak fason pou fè yon zouti oswa solisyon pi an sekirite konplè san yo pa konprann achitekti eleman an.
  • Ann diskite sou eleman Helm yo.
  • Kesyon ki pi boule a se tan kap vini an - nouvo vèsyon Helm 3 la. 

Tout bagay nan atik sa a aplike nan Helm 2. Vèsyon sa a se kounye a nan pwodiksyon epi li gen plis chans youn nan w ap itilize kounye a, epi li se vèsyon an ki gen risk sekirite yo.


Konsènan oratè a: Alexander Khayorov (allexx) ap devlope pou 10 ane, ede amelyore kontni Moskou Python Conf++ epi li rantre nan komite a Helm Summit. Koulye a, li travay nan Chainstack kòm yon dirijan devlopman - sa a se yon ibrid ant yon manadjè devlopman ak yon moun ki responsab pou livrezon final la. Sa vle di, li sitiye sou chan batay la, kote tout bagay rive soti nan kreyasyon an nan yon pwodwi nan operasyon li yo.

Chainstack se yon ti demaraj k ap grandi aktivman ki gen misyon pou pèmèt kliyan yo bliye sou enfrastrikti ak konpleksite opere aplikasyon desantralize yo; ekip devlopman an sitiye nan Singapore. Pa mande Chainstack pou vann oswa achte kriptografik lajan, men ofri yo pale sou kad antrepriz blockchain, epi yo pral san pwoblèm mwen tap reponn ou.

Helm

Sa a se yon manadjè pake (tablo) pou Kubernetes. Fason ki pi entwisyon ak inivèsèl pou pote aplikasyon yo nan yon gwoup Kubernetes.

Helm Sekirite

Nou ap, nan kou, pale sou yon apwòch plis estriktirèl ak endistriyèl pase kreye pwòp manifeste YAML ou ak ekri ti sèvis piblik.

Helm se pi bon an ki disponib kounye a ak popilè.

Poukisa Helm? Prensipalman paske li sipòte pa CNCF la. Cloud Native se yon gwo òganizasyon e li se konpayi paran pou pwojè Kubernetes, etcd, Fluentd ak lòt moun.

Yon lòt reyalite enpòtan se ke Helm se yon pwojè trè popilè. Lè mwen te kòmanse pale sou fason pou fè Helm an sekirite nan mwa janvye 2019, pwojè a te gen mil zetwal sou GitHub. Nan mwa me te gen 12 mil ladan yo.

Anpil moun enterese nan Helm, kidonk menm si ou poko sèvi ak li, ou pral benefisye lè w konnen sekirite li yo. Sekirite enpòtan.

Ekip debaz Helm la sipòte pa Microsoft Azure e se poutèt sa se yon pwojè ki estab, kontrèman ak anpil lòt. Liberasyon Helm 3 Alpha 2 nan mitan mwa Jiyè a endike ke gen anpil moun k ap travay sou pwojè a, epi yo gen dezi ak enèji pou devlope ak amelyore Helm.

Helm Sekirite

Helm rezoud plizyè pwoblèm rasin nan jesyon aplikasyon nan Kubernetes.

  • Anbalaj aplikasyon an. Menm yon aplikasyon tankou "Hello, World" sou WordPress deja konsiste de plizyè sèvis, epi ou vle pake yo ansanm.
  • Jere konpleksite ki vini ak jere aplikasyon sa yo.
  • Yon sik lavi ki pa fini apre aplikasyon an enstale oswa deplwaye. Li kontinye ap viv, li bezwen mete ajou, epi Helm ede ak sa a epi eseye pote bon mezi ak politik pou sa.

Bagay li òganize nan yon fason klè: gen metadata an akò ak travay yon manadjè pake regilye pou Linux, Windows oswa MacOS. Sa vle di, yon depo, depandans sou pakè divès kalite, meta enfòmasyon pou aplikasyon yo, paramèt, karakteristik konfigirasyon, Indexing enfòmasyon, elatriye Helm pèmèt ou jwenn epi sèvi ak tout bagay sa yo pou aplikasyon yo.

Jesyon konpleksite. Si ou gen anpil aplikasyon nan menm kalite a, Lè sa a, paramètrizasyon nesesè. Modèl yo soti nan sa a, men pou evite gen pou vini ak pwòp fason ou pou kreye modèl, ou ka itilize sa Helm ofri soti nan bwat la.

Aplikasyon Lifecycle Management - nan opinyon mwen, sa a se kesyon ki pi enteresan ak ki pako rezoud. Se poutèt sa mwen te vini nan Helm tounen nan jounen an. Nou te bezwen kenbe yon je sou sik aplikasyon an epi yo te vle deplase CI/CD ak sik aplikasyon nou an nan paradigm sa a.

Helm pèmèt ou:

  • jere deplwaman, prezante konsèp konfigirasyon ak revizyon;
  • avèk siksè pote soti nan rollback;
  • sèvi ak kwòk pou evènman diferan;
  • ajoute chèk aplikasyon anplis epi reponn a rezilta yo.

Anplis Helm gen "pil" - yon gwo kantite bagay bon gou ki ka enkli nan fòm lan nan grefon, senplifye lavi ou. Plugins yo ka ekri poukont yo, yo byen izole epi yo pa mande pou yon achitekti Harmony. Si ou vle aplike yon bagay, mwen rekòmande fè li kòm yon Plugin, ak Lè sa a, pètèt enkli li nan en.

Helm baze sou twa konsèp prensipal:

  • Chart Repo — deskripsyon ak etalaj paramètrizasyon posib pou manifest ou a. 
  • Config —sa vle di, valè yo pral aplike (tèks, valè nimerik, elatriye).
  • Remèt kolekte de eleman anwo yo, epi ansanm yo tounen nan Release. Release yo ka vèsyon, kidonk reyalize yon sik lavi òganize: ti nan moman enstalasyon an ak gwo nan moman ajou, downgrade oswa rollback.

Helm achitekti

Dyagram nan konseptyèlman dekri achitekti wo nivo Helm.

Helm Sekirite

Kite m 'fè ou sonje ke Helm se yon bagay ki gen rapò ak Kubernetes. Se poutèt sa, nou pa ka fè san yo pa yon gwoup Kubernetes (rektang). Eleman kube-apiserver abite sou mèt la. San Helm nou gen Kubeconfig. Helm pote yon ti binè, si ou ka rele li sa, Helm CLI sèvis piblik, ki enstale sou yon òdinatè, laptop, mainframe - sou anyen.

Men, sa a se pa ase. Helm gen yon eleman sèvè ki rele Tiller. Li reprezante enterè Helm nan gwoup la; li se yon aplikasyon nan gwoup Kubernetes, menm jan ak nenpòt lòt.

Eleman nan pwochen nan Chart Repo se yon depo ak tablo. Gen yon depo ofisyèl, e gendwa gen yon depo prive nan yon konpayi oswa pwojè.

Entèraksyon

Ann gade ki jan eleman achitekti yo kominike lè nou vle enstale yon aplikasyon lè l sèvi avèk Helm.

  • Nap pale Helm install, jwenn aksè nan repozitwa a (Chart Repo) epi jwenn yon tablo Helm.

  • Helm sèvis piblik la (Helm CLI) reyaji ak Kubeconfig yo nan lòd yo konnen ki gwoup yo kontakte. 
  • Lè w resevwa enfòmasyon sa yo, sèvis piblik la refere a Tiller, ki sitiye nan gwoup nou an, kòm yon aplikasyon. 
  • Tiller rele Kube-apiserver pou fè aksyon nan Kubernetes, kreye kèk objè (sèvis, gous, kopi, sekrè, elatriye).

Apre sa, nou pral konplike dyagram nan pou wè vektè atak ke tout achitekti Helm an antye ka ekspoze a. Apre sa, nou pral eseye pwoteje li.

Vektè atak

Premye pwen fèb potansyèl la se API privilejye-itilizatè a. Kòm yon pati nan konplo a, sa a se yon pirate ki te genyen aksè admin nan Helm CLI la.

Itilizatè API san privilèj ka poze tou yon danje si li se yon kote tou pre. Yon itilizatè konsa pral gen yon kontèks diferan, pou egzanp, li ka fiks nan yon sèl espas non gwoup nan anviwònman yo Kubeconfig.

Vektè atak ki pi enteresan an ka yon pwosesis ki abite nan yon gwoup yon kote toupre Tiller epi ki ka jwenn aksè nan li. Sa a kapab yon sèvè entènèt oswa mikwosèvis ki wè anviwònman rezo gwoup la.

Yon variant atak ekzotik, men de pli zan pli popilè, enplike Chart Repo. Yon tablo ki te kreye pa yon otè ki pa gen skrupil ka genyen resous ki pa an sekirite, epi w ap konplete li lè w pran li sou lafwa. Oswa li ka ranplase tablo a ke ou telechaje nan repozitwa ofisyèl la epi, pou egzanp, kreye yon resous nan fòm lan nan règleman ak ogmante aksè li yo.

Helm Sekirite

Ann eseye repouse atak ki soti nan tout kat kote sa yo epi chèche konnen ki kote gen pwoblèm nan achitekti Helm la, ak ki kote, petèt, pa gen okenn.

Ann agrandi dyagram nan, ajoute plis eleman, men kenbe tout eleman debaz yo.

Helm Sekirite

Helm CLI kominike ak Chart Repo a, kominike avèk Kubeconfig, epi travay la transfere nan gwoup la nan eleman Tiller la.

Tiller reprezante pa de objè:

  • Tiller-deploy svc, ki ekspoze yon sèten sèvis;
  • Tiller-deploy pod (nan dyagram nan nan yon sèl kopi nan yon sèl kopi), sou ki chaj la tout antye kouri, ki gen aksè nan gwoup la.

Yo itilize diferan pwotokòl ak plan pou entèraksyon. Soti nan yon pwen de vi sekirite, nou pi enterese nan:

  • Mekanis kote Helm CLI a jwenn aksè nan repo tablo a: ki pwotokòl, èske gen otantifikasyon ak sa ki ka fè ak li.
  • Pwotokòl kote Helm CLI, lè l sèvi avèk kubectl, kominike ak Tiller. Sa a se yon sèvè RPC enstale andedan gwoup la.
  • Tiller tèt li aksesib a mikwosèvis ki abite nan gwoup la epi ki reyaji avèk Kube-apiserver la.

Helm Sekirite

Ann diskite sou tout zòn sa yo nan lòd.

RBAC

Pa gen okenn pwen nan pale sou nenpòt sekirite pou Helm oswa nenpòt lòt sèvis nan gwoup la sof si RBAC aktive.

Li sanble ke sa a se pa dènye rekòmandasyon an, men mwen sèten ke anpil moun toujou pa pèmèt RBAC menm nan pwodiksyon, paske li se yon anpil nan meli melo ak anpil bagay bezwen yo dwe configuré. Sepandan, mwen ankouraje w fè sa.

Helm Sekirite

https://rbac.dev/ — avoka sou sit wèb pou RBAC. Li gen yon gwo kantite materyèl enteresan ki pral ede w mete kanpe RBAC, montre poukisa li bon ak ki jan yo fondamantalman viv ak li nan pwodiksyon an.

Mwen pral eseye eksplike kijan Tiller ak RBAC travay. Tiller travay andedan gwoup la anba yon sèten kont sèvis. Tipikman, si RBAC pa konfigirasyon, sa a pral superitilizatè a. Nan konfigirasyon debaz la, Tiller pral yon admin. Se poutèt sa yo souvan di ke Tiller se yon tinèl SSH pou gwoup ou a. An reyalite, sa a se vre, kidonk ou ka itilize yon kont sèvis apa devwe olye pou yo Kont Sèvis Default nan dyagram ki anwo a.

Lè ou inisyalize Helm epi enstale li sou sèvè a pou premye fwa, ou ka mete kont sèvis la lè l sèvi avèk --service-account. Sa a pral pèmèt ou sèvi ak yon itilizatè ki gen yon seri dwa minimòm yo mande yo. Se vre, w ap gen yo kreye tankou yon "garland": Wòl ak RoleBinding.

Helm Sekirite

Malerezman, Helm pa pral fè sa pou ou. Oumenm oswa administratè gwoup Kubernetes ou a bezwen prepare yon seri Wòl ak RoleBindings pou kont sèvis la davans pou w ka pase Helm.

Kesyon an rive - ki diferans ki genyen ant Wòl ak ClusterRole? Diferans lan se ke ClusterRole travay pou tout espas non, kontrèman ak Wòl regilye ak RoleBindings, ki travay sèlman pou yon espas non espesyalize. Ou ka configured règleman pou tout gwoup la ak tout espas non, oswa pèsonalize pou chak espas non endividyèlman.

Li merite mansyone ke RBAC rezoud yon lòt gwo pwoblèm. Anpil moun plenyen ke Helm, malerezman, se pa milti-lokatè (pa sipòte milti-lokatè). Si plizyè ekip konsome yon gwoup epi sèvi ak Helm, li fondamantalman enposib pou mete sou pye politik ak limite aksè yo nan gwoup sa a, paske gen yon sèten kont sèvis anba ki Helm kouri, epi li kreye tout resous ki nan gwoup la anba li. , ki pafwa trè konvenyan. Sa a se vre - tankou dosye a binè tèt li, tankou pwosesis la, Helm Tiller pa gen okenn konsèp multilocation.

Sepandan, gen yon bon fason ki pèmèt ou kouri Tiller plizyè fwa nan yon gwoup. Pa gen okenn pwoblèm ak sa a, Tiller ka lanse nan chak espas non. Kidonk, ou ka itilize RBAC, Kubeconfig kòm yon kontèks, epi limite aksè a yon Helm espesyal.

Li pral sanble tankou sa a.

Helm Sekirite

Pou egzanp, gen de Kubeconfigs ak kontèks pou ekip diferan (de espas non): Ekip X pou ekip devlopman ak gwoup administratè a. Gwoup administratè a gen pwòp Tiller lajè li yo, ki sitiye nan espas non sistèm Kube a, yon kont sèvis avanse ki korespondan. Ak yon espas non separe pou ekip devlopman an, yo pral kapab deplwaye sèvis yo nan yon espas non espesyal.

Sa a se yon apwòch posib, Tiller pa tèlman grangou pouvwa ke li pral anpil afekte bidjè ou. Sa a se youn nan solisyon yo rapid.

Ou lib pou configure Tiller separeman epi bay Kubeconfig yon kontèks pou ekip la, pou yon pwomotè espesifik oswa pou anviwònman an: Dev, Staging, Pwodiksyon (li gen dout ke tout bagay pral sou menm gwoup la, sepandan, sa ka fè).

Kontinye istwa nou an, ann chanje soti nan RBAC epi pale sou ConfigMaps.

ConfigMaps

Helm itilize ConfigMaps kòm magazen done li yo. Lè nou te pale sou achitekti, pa te gen okenn baz done nenpòt kote ki ta estoke enfòmasyon sou degaje, konfigirasyon, rollbacks, elatriye ConfigMaps yo itilize pou sa.

Pwoblèm prensipal la ak ConfigMaps li te ye - yo pa an sekirite nan prensip; li enposib pou estoke done sansib. Nou ap pale de tout bagay ki pa ta dwe ale pi lwen pase sèvis la, pou egzanp, modpas. Fason ki pi natif natal pou Helm kounye a se chanje soti nan itilize ConfigMaps nan sekrè.

Sa a se fè trè tou senpleman. Anile anviwònman Tiller la epi presize ke depo a pral sekrè. Lè sa a, pou chak deplwaman ou pral resevwa pa yon ConfigMap, men yon sekrè.

Helm Sekirite

Ou ta ka diskite ke sekrè tèt yo se yon konsèp etranj epi yo pa trè an sekirite. Sepandan, li vo konprann ke devlopè yo Kubernetes tèt yo ap fè sa. Kòmanse soti nan vèsyon 1.10, i.e. Depi kèk tan kounye a, li te posib, omwen nan nwaj piblik, konekte depo ki kòrèk la nan magazen sekrè. Ekip la ap travay kounye a sou fason pou pi byen distribye aksè a sekrè, gous endividyèl, oswa lòt antite.

Li pi bon transfere Depo Helm nan sekrè, epi yo, nan vire, yo an sekirite santralman.

Natirèlman li pral rete limit depo done nan 1 MB. Helm isit la itilize etcd kòm depo distribiye pou ConfigMaps. Apre sa, yo te konsidere ke sa a te yon moso done apwopriye pou replikasyon, elatriye. Gen yon diskisyon enteresan sou sa a sou Reddit, mwen rekòmande pou jwenn lekti komik sa a pou fen semèn nan oswa li ekstrè a isit la.

Tablo Repos

Tablo yo pi vilnerab sosyalman epi yo ka vin yon sous "Man nan mitan an", espesyalman si w itilize yon solisyon stock. Premye a tout, nou ap pale de depo ki ekspoze atravè HTTP.

Ou definitivman bezwen ekspoze Helm Repo sou HTTPS - sa a se opsyon ki pi bon epi li pa chè.

Prete atansyon a mekanis siyati tablo. Teknoloji a se senp tankou lanfè. Sa a se menm bagay ou itilize sou GitHub, yon machin PGP regilye ak kle piblik ak prive. Mete kanpe epi asire w, gen kle ki nesesè yo epi siyen tout bagay, ke sa a se reyèlman tablo ou.

Anplis de sa, Kliyan Helm sipòte TLS (pa nan sans HTTP bò sèvè, men TLS mityèl). Ou ka sèvi ak sèvè ak kle kliyan yo nan lòd yo kominike. Pou m onèt, mwen pa sèvi ak yon mekanis konsa paske mwen pa renmen sètifika mityèl. An prensip, chartmuseum - zouti prensipal la pou mete kanpe Helm Repo pou Helm 2 - sipòte tou debaz otorizasyon. Ou ka itilize otorizasyon debaz si li pi pratik ak pi silans.

Genyen tou yon plugin Helm-gcs, ki pèmèt ou òganize Chart Repos sou Google Cloud Storage. Sa a se byen pratik, travay gwo epi li byen an sekirite, paske tout mekanis ki dekri yo resikle.

Helm Sekirite

Si ou aktive HTTPS oswa TLS, itilize mTLS, epi pèmèt otorizasyon debaz pou redwi risk yo plis, w ap jwenn yon kanal kominikasyon an sekirite ak Helm CLI ak Chart Repo.

gRPC API

Pwochen etap la trè enpòtan - an sekirite Tiller, ki sitiye nan gwoup la epi li se, sou yon bò, yon sèvè, nan lòt men an, li menm li jwenn aksè nan lòt eleman epi li eseye pretann yo dwe yon moun.

Kòm mwen te deja di, Tiller se yon sèvis ki ekspoze gRPC, kliyan an Helm vin jwenn li atravè gRPC. Pa default, nan kou, TLS se enfim. Poukisa sa a te fè se yon kesyon discutable, li sanble mwen senplifye konfigirasyon an nan kòmansman an.

Pou pwodiksyon ak menm etap, mwen rekòmande pou pèmèt TLS sou gRPC.

Dapre mwen, kontrèman ak mTLS pou tablo, sa a apwopriye isit la epi li fè trè tou senpleman - jenere yon enfrastrikti PQI, kreye yon sètifika, lanse Tiller, transfere sètifika a pandan inisyalizasyon. Apre sa, ou ka egzekite tout kòmandman Helm, prezante tèt ou ak sètifika a pwodwi ak kle prive.

Helm Sekirite

Nan fason sa a ou pral pwoteje tèt ou kont tout demann Tiller soti deyò gwoup la.

Se konsa, nou te sekirize kanal la koneksyon ak Tiller, nou te deja diskite sou RBAC ak ajiste dwa yo nan apiserver la Kubernetes, diminye domèn nan ak ki li ka kominike.

Helm pwoteje

Ann gade dyagram final la. Se menm achitekti ak menm flèch yo.

Helm Sekirite

Koulye a, tout koneksyon yo ka trase san danje an vèt:

  • pou Chart Repo nou itilize TLS oswa mTLS ak otorizasyon debaz;
  • mTLS pou Tiller, epi li ekspoze kòm yon sèvis gRPC ak TLS, nou itilize sètifika;
  • gwoup la sèvi ak yon kont sèvis espesyal ak Wòl ak RoleBinding. 

Nou te siyifikativman sekirize gwoup la, men yon moun entelijan te di:

"Gen sèlman yon sèl solisyon absoliman an sekirite - yon òdinatè etenn, ki sitiye nan yon bwat konkrè epi ki veye pa sòlda."

Gen diferan fason pou manipile done epi jwenn nouvo vektè atak. Sepandan, mwen gen konfyans ke rekòmandasyon sa yo pral reyalize yon estanda endistri debaz pou sekirite.

Bonis

Pati sa a pa dirèkteman gen rapò ak sekirite, men li pral itil tou. Mwen pral montre w kèk bagay enteresan ke kèk moun konnen sou. Pou egzanp, ki jan fè rechèch pou tablo - ofisyèl ak ofisyèl.

Nan depo a github.com/helm/charts Koulye a, gen apeprè 300 tablo ak de kouran: ki estab ak enkibatè. Nenpòt ki moun ki kontribye konnen parfe byen ki jan li difisil pou ale soti nan enkibatè a nan ki estab, ak ki jan li fasil pou vole soti nan ki estab. Sepandan, sa a se pa zouti ki pi bon pou fè rechèch pou tablo pou Prometheus ak nenpòt lòt bagay ou renmen, pou yon rezon ki senp - li se pa yon pòtal kote ou ka fasilman rechèch pou pakè.

Men, gen yon sèvis mwaye.helm.sh, ki fè li pi bon pou jwenn tablo yo. Sa ki pi enpòtan, gen anpil plis depo ekstèn ak prèske 800 cham ki disponib. Anplis de sa, ou ka konekte depo ou a si pou kèk rezon ou pa vle voye tablo ou a ki estab.

Eseye hub.helm.sh epi ann devlope li ansanm. Sèvis sa a se anba pwojè Helm, epi ou ka menm kontribye nan UI li si ou se yon pwomotè front-end epi jis vle amelyore aparans la.

Mwen ta renmen tou atire atansyon w sou Louvri entegrasyon API Service Broker. Li son ankonbran ak klè, men li rezoud pwoblèm ke tout moun ap fè fas. Kite m eksplike ak yon egzanp senp.

Helm Sekirite

Gen yon gwoup Kubernetes kote nou vle kouri yon aplikasyon klasik - WordPress. Anjeneral, yon baz done nesesè pou fonksyonalite konplè. Gen anpil solisyon diferan, pou egzanp, ou ka lanse pwòp sèvis leta w. Sa a se pa trè pratik, men anpil moun fè li.

Gen lòt, tankou nou nan Chainstack, sèvi ak baz done jere tankou MySQL oswa PostgreSQL pou sèvè yo. Se poutèt sa baz done nou yo sitiye yon kote nan nwaj la.

Men, yon pwoblèm rive: nou bezwen konekte sèvis nou an ak yon baz done, kreye yon gou baz done, transfere kalifikasyon an ak yon jan kanmenm jere li. Tout bagay sa a anjeneral fè manyèlman pa administratè a sistèm oswa pwomotè. Epi pa gen okenn pwoblèm lè gen kèk aplikasyon. Lè gen anpil nan yo, ou bezwen yon konbine. Gen tankou yon harvester - li se Sèvis Broker. Li pèmèt ou sèvi ak yon plugin espesyal pou yon gwoup nwaj piblik epi kòmande resous nan men founisè a atravè Broker, kòm si se te yon API. Pou fè sa, ou ka itilize zouti natif natal Kubernetes.

Li trè senp. Ou ka mande, pou egzanp, Jere MySQL nan Azure ak yon nivo de baz (sa a ka configuré). Sèvi ak Azure API a, baz done a pral kreye epi prepare pou itilize. Ou pa bezwen entèfere ak sa a, Plugin a responsab pou sa. Pou egzanp, OSBA (Azure Plugin) pral retounen kalifikasyon nan sèvis la epi pase li bay Helm. Ou pral kapab sèvi ak WordPress ak nwaj MySQL, pa fè fas ak baz done jere nan tout epi yo pa enkyete sou sèvis Statefull andedan.

Nou ka di ke Helm aji kòm yon lakòl ki, sou yon bò, pèmèt ou deplwaye sèvis, ak sou lòt la, konsome resous yo nan founisè nwaj yo.

Ou ka ekri pwòp Plugin ou epi sèvi ak tout istwa sa a sou site. Lè sa a, ou pral tou senpleman gen pwòp plugin ou pou founisè Cloud antrepriz la. Mwen rekòmande eseye apwòch sa a, sitou si ou gen yon gwo echèl epi ou vle byen vit deplwaye dev, staging, oswa tout enfrastrikti a pou yon karakteristik. Sa a pral fè lavi pi fasil pou operasyon ou oswa DevOps.

Yon lòt jwenn ke mwen deja mansyone se helm-gcs plugin, ki pèmèt ou sèvi ak Google-bokit (depo objè) pou estoke tablo Helm yo.

Helm Sekirite

Ou sèlman bezwen kat kòmandman yo kòmanse sèvi ak li:

  1. enstale plugin a;
  2. kòmanse li;
  3. mete chemen an nan bokit la, ki sitiye nan gcp;
  4. pibliye tablo yo nan fason nòmal la.

Bote a se ke metòd gcp natif natal yo pral itilize pou otorizasyon. Ou ka sèvi ak yon kont sèvis, yon kont pwomotè, tou sa ou vle. Li trè pratik epi li pa koute anyen pou opere. Si ou, tankou m ', ankouraje filozofi opsless a, Lè sa a, sa a pral trè pratik, espesyalman pou ti ekip yo.

Altènativ yo

Helm se pa sèl solisyon jesyon sèvis la. Gen anpil kesyon sou li, ki se pwobableman poukisa twazyèm vèsyon an parèt byen vit. Natirèlman, gen altènativ.

Sa yo ka solisyon espesyalize, pou egzanp, Ksonnet oswa Metaparticle. Ou ka itilize zouti jesyon enfrastrikti klasik ou yo (Ansible, Terraform, Chef, elatriye) pou menm rezon mwen te pale de yo.

Finalman gen yon solisyon Operatè chapant, ki gen popilarite ap grandi.

Operator Framework se pi gwo altènatif Helm pou konsidere.

Li se plis natif natal nan CNCF ak Kubernetes, men baryè pou antre pi wo anpil, ou bezwen pwograme plis epi dekri manifeste mwens.

Gen plizyè addon, tankou Draft, Scaffold. Yo fè lavi anpil pi fasil, pou egzanp, yo senplifye sik la nan voye ak lanse Helm pou devlopè yo deplwaye yon anviwònman tès. Mwen ta rele yo empowerers.

Men yon tablo vizyèl kote tout bagay ye.

Helm Sekirite

Sou aks x la se nivo kontwòl pèsonèl ou sou sa k ap pase, sou aks y se nivo natif natal Kubernetes. Helm vèsyon 2 tonbe yon kote nan mitan an. Nan vèsyon 3, pa anpil, men tou de kontwòl ak nivo natif natal yo te amelyore. Solisyon nan nivo Ksonnet yo toujou enferyè menm Helm 2. Sepandan, yo vo gade pou konnen ki lòt bagay ki nan mond sa a. Natirèlman, manadjè konfigirasyon ou a pral anba kontwòl ou, men li se absoliman pa natif natal nan Kubernetes.

Kad Operatè a se absoliman natif natal nan Kubernetes epi li pèmèt ou jere li pi plis elegant ak skrupulezman (men sonje sou nivo antre). Olye de sa, sa a se apwopriye pou yon aplikasyon espesyalize ak kreyasyon an nan jesyon pou li, olye ke yon harvester mas pou anbalaj yon gwo kantite aplikasyon lè l sèvi avèk Helm.

Ekstansyon tou senpleman amelyore kontwòl yon ti kras, konpleman workflow, oswa koupe kwen sou tuyaux CI/CD.

Lavni Helm

Bon nouvèl la se ke Helm 3 ap vini.Vèsyon alfa Helm 3.0.0-alpha.2 deja lage, ou ka eseye li. Li se byen ki estab, men fonksyonalite toujou limite.

Poukisa ou bezwen Helm 3? Premye a tout, sa a se yon istwa sou disparisyon Tiller, kòm yon eleman. Sa a, jan ou deja konprann, se yon gwo etap pi devan, paske soti nan pwen de vi sekirite nan achitekti a, tout bagay se senplifye.

Lè Helm 2 te kreye, ki te alantou epòk Kubernetes 1.8 oswa menm pi bonè, anpil nan konsèp yo te frelikè. Pou egzanp, konsèp CRD la kounye a ap aplike aktivman, epi Helm pral sèvi ak CRDpou estoke estrikti yo. Li pral posib yo sèvi ak sèlman kliyan an epi yo pa kenbe pati nan sèvè. An konsekans, sèvi ak kòmandman natif natal Kubernetes pou travay avèk estrikti ak resous. Sa a se yon gwo etap pi devan.

Ap parèt sipò pou depo OCI natif natal yo (Open Container Initiative). Sa a se yon inisyativ gwo, ak Helm se enterese prensipalman nan lòd yo afiche tablo li yo. Li rive nan pwen ke, pou egzanp, Docker Hub sipòte anpil estanda OCI. Mwen pa devine, men petèt founisè depo Docker klasik yo pral kòmanse ba ou opòtinite pou òganize tablo Helm ou yo.

Istwa a kontwovèsyal pou mwen se Lua sipò, kòm yon motè modèl pou ekri scripts. Mwen pa yon gwo fanatik Lua, men sa a ta dwe yon karakteristik konplètman opsyonèl. Mwen tcheke sa a 3 fwa - lè l sèvi avèk Lua pa pral nesesè. Se poutèt sa, moun ki vle pou kapab itilize Lua, moun ki renmen Go, rantre nan gwo kan nou an epi sèvi ak go-tmpl pou sa.

Finalman, sa mwen te definitivman manke te aparisyon chema ak validation kalite done. Pa pral gen plis pwoblèm ak int oswa fisèl, pa bezwen vlope zewo nan quote doub. Yon chema JSONS ap parèt ki pral pèmèt ou dekri sa a klèman pou valè yo.

Yo pral retravay anpil modèl evènman kondwi. Li te deja dekri konseptyèlman. Gade nan branch Helm 3 a, epi ou pral wè konbyen evènman ak zen ak lòt bagay yo te ajoute, ki pral anpil senplifye epi, nan lòt men an, ajoute kontwòl sou pwosesis yo deplwaman ak reyaksyon yo.

Helm 3 pral pi senp, pi an sekirite, ak plis plezi, pa paske nou pa renmen Helm 2, men paske Kubernetes ap vin pi avanse. An konsekans, Helm ka itilize devlopman yo nan Kubernetes ak kreye administratè ekselan pou Kubernetes sou li.

Yon lòt bon nouvèl se sa DevOpsConf Alexander Khayorov pral di ou, èske resipyan yo ka an sekirite? Se pou nou raple w ke konferans sou entegrasyon devlopman, tès ak operasyon pwosesis yo pral fèt nan Moskou. 30 septanm ak 1ye oktòb. Ou ka toujou fè li jiska 20 Out soumèt yon rapò epi di nou sou eksperyans ou ak solisyon an youn nan anpil travay nan apwòch DevOps la.

Swiv pwen kontwòl konferans ak nouvèl nan lis adrès и chanèl telegram.

Sous: www.habr.com

Add nouvo kòmantè