Nchekwa Helm

Enwere ike igosipụta isi akụkọ gbasara onye njikwa ngwugwu kachasị ewu ewu maka Kubernetes site na iji emoji:

  • igbe ahụ bụ Helm (nke bụ ihe kacha nso na mwepụta Emoji kacha ọhụrụ);
  • mkpọchi - nchekwa;
  • onye nta bu ihe ngwọta nke nsogbu.

Nchekwa Helm

N'ezie, ihe niile ga-adị ntakịrị mgbagwoju anya, na akụkọ ahụ jupụtara nkọwa nkọwa gbasara ya Otu esi eme Helm nchekwa.

  • Na nkenke ihe Helm bụ ma ọ bụrụ na ị maghị ma ọ bụ chefuo. Kedu nsogbu ọ na-edozi na ebe ọ dị na gburugburu ebe obibi.
  • Ka anyị leba anya na ụkpụrụ ụlọ Helm. Enweghị mkparịta ụka gbasara nchekwa na otu esi eme ka ngwá ọrụ ma ọ bụ ihe ngwọta dịkwuo nchebe zuru oke n'aghọtaghị nhazi nke akụkụ ahụ.
  • Ka anyị tụlee ihe mejupụtara Helm.
  • Ajụjụ kachasị ọkụ bụ ọdịnihu - ụdị ọhụrụ nke Helm 3. 

Ihe niile dị n'isiokwu a na-emetụta Helm 2. Ụdị a dị ugbu a na-emepụta ma bụrụ nke ị na-eji ugbu a, ọ bụkwa ụdị nke nwere ihe ize ndụ nchebe.


Banyere ọkà okwu: Alexander Khayorov (allexx) na-emepe emepe maka afọ 10, na-enyere aka melite ọdịnaya Moscow Python Conf ++ wee sonye na kọmitii ahụ Helm Summit. Ugbu a ọ na-arụ ọrụ na Chainstack dị ka onye ndu mmepe - nke a bụ ngwakọ dị n'etiti onye njikwa mmepe na onye na-ahụ maka iwepụta mwepụta ikpeazụ. Ya bụ, ọ dị n'ọgbọ agha, ebe ihe niile na-eme site na ịmepụta ngwaahịa na ọrụ ya.

Chainstack bụ obere mmalite na-eto eto nke na-arụsi ọrụ ike nke ebumnuche ya bụ ime ka ndị ahịa nwee ike ichefu akụrụngwa na mgbagwoju anya nke ngwa na-arụ ọrụ enweghị isi; ndị otu mmepe dị na Singapore. Ajụla Chainstack ka ọ ree ma ọ bụ zụta cryptocurrency, mana nye gị ka ị kwuo maka usoro blockchain ụlọ ọrụ, ha ga-eji obi ụtọ zaa gị.

Helm

Nke a bụ ngwugwu (chart) njikwa maka Kubernetes. Ụzọ kachasị mma na nke zuru ụwa ọnụ iji weta ngwa na ụyọkọ Kubernetes.

Nchekwa Helm

N'ezie, anyị na-ekwu maka usoro nhazi na ụlọ ọrụ mmepụta ihe karịa ịmepụta ihe ngosi YAML nke gị na ide obere ihe.

Helm bụ ihe kachasị mma dị ugbu a yana ewu ewu.

Gịnị kpatara Helm? Isi n'ihi na CNCF na-akwado ya. Cloud Native bụ nnukwu nzukọ ma bụrụ ụlọ ọrụ nne na nna maka ọrụ Kubernetes, wdgd, Fluentd na ndị ọzọ.

Eziokwu ọzọ dị mkpa bụ na Helm bụ ọrụ a ma ama. Mgbe m malitere ikwu maka otu esi eme Helm nchekwa na Jenụwarị 2019, ọrụ ahụ nwere otu puku kpakpando na GitHub. Ka ọ na-erule ọnwa Mee, ha dị puku iri na abụọ.

Ọtụtụ ndị mmadụ nwere mmasị na Helm, yabụ ọbụlagodi na ijibeghị ya, ị ga-erite uru na ịmara maka nchekwa ya. Nchekwa dị mkpa.

Ndị otu isi Helm bụ Microsoft Azure na-akwado ya mere ọ bụ ọrụ kwụsiri ike, n'adịghị ka ọtụtụ ndị ọzọ. Ntọhapụ nke Helm 3 Alpha 2 n'etiti July na-egosi na e nwere ọtụtụ ndị na-arụ ọrụ a, na ha nwere ọchịchọ na ume ịzụlite na melite Helm.

Nchekwa Helm

Helm na-edozi ọtụtụ nsogbu mgbọrọgwụ nke njikwa ngwa na Kubernetes.

  • Nkwakọ ngwaahịa. Ọbụna ngwa dị ka "Ndewo, Ụwa" na WordPress enweelarị ọtụtụ ọrụ, ma ịchọrọ ịkwado ha ọnụ.
  • Ijikwa mgbagwoju anya na-abịa na ijikwa ngwa ndị a.
  • Usoro ndụ nke na-adịghị akwụsị mgbe etinyere ma ọ bụ tinye ngwa ahụ. Ọ na-aga n'ihu na-adị ndụ, ọ dị mkpa ka emelite ya, Helm na-enyere aka na nke a ma gbalịa iweta usoro ziri ezi na atumatu maka nke a.

Akpa A haziri ya n'ụzọ doro anya: enwere metadata zuru oke dabere na ọrụ onye njikwa ngwugwu oge niile maka Linux, Windows ma ọ bụ MacOS. Nke ahụ bụ, ebe nchekwa, ịdabere na ngwugwu dị iche iche, ozi meta maka ngwa, ntọala, njirimara nhazi, ntinye ozi, wdg Helm na-enye gị ohere ịnweta ma jiri ihe a niile maka ngwa.

Njikwa mgbagwoju anya. Ọ bụrụ na ị nwere ọtụtụ ngwa nke otu ụdị, mgbe ahụ parameterization dị mkpa. Templates sitere na nke a, mana iji zere inwe ụzọ nke ịmepụta ndebiri, ị nwere ike iji ihe Helm na-enye na igbe.

Ngwa njikwa ndụ okirikiri - n'uche nke m, nke a bụ ajụjụ kachasị adọrọ mmasị na nke edozibeghị. Nke a bụ ihe mere m ji bịa Helm azụ n'ụbọchị ahụ. Anyị kwesịrị inyocha okirikiri ndụ ngwa ma chọọ ịkwaga CI/CD na okirikiri ngwa gaa na paradaịs a.

Helm na-enye gị ohere:

  • jikwaa nkesa, na-ewebata echiche nke nhazi na nlegharị anya;
  • rụpụtaghachi azụ nke ọma;
  • jiri nko maka ihe omume dị iche iche;
  • tinye mgbakwunye nlele ngwa ma zaghachi nsonaazụ ha.

Na mgbakwunye Helm nwere "batrị" - ọnụ ọgụgụ buru ibu nke ihe dị ụtọ nke enwere ike itinye n'ụdị plugins, na-eme ka ndụ gị dị mfe. Enwere ike ide plugins n'onwe ha, ha dịpụrụ adịpụ na ha anaghị achọ nhazi ụkpụrụ ụlọ. Ọ bụrụ na ịchọrọ ịme ihe, ana m akwado ime ya dị ka ngwa mgbakwunye, wee nwee ike ịgụnye ya na elu.

Helm dabere na isi echiche atọ:

  • Chart Repo - nkọwa na n'usoro nke parameterizations kwere omume maka gị ngosi. 
  • Config - ya bụ, ụkpụrụ ndị a ga-etinye n'ọrụ (ederede, ọnụọgụ ọnụọgụ, wdg).
  • ntọhapụ na-achịkọta akụkụ abụọ dị elu, ma ọnụ ha na-aghọ Ntọhapụ. Enwere ike ịdepụta mbipụta, si otú ahụ nweta usoro ndụ ahaziri ahazi: obere n'oge ntinye na nnukwu n'oge nkwalite, mbelata ma ọ bụ nlọghachi azụ.

Helm architecture

Eserese a n'ụzọ echiche na-egosi ụkpụrụ ụlọ dị elu nke Helm.

Nchekwa Helm

Ka m chetara gị na Helm bụ ihe metụtara Kubernetes. Ya mere, anyị enweghị ike ime na-enweghị ụyọkọ Kubernetes (rectangle). Akụkụ kube-apiserver bi na nna ukwu. Enweghị Helm anyị nwere Kubeconfig. Helm na-eweta otu obere ọnụọgụ abụọ, ma ọ bụrụ na ị nwere ike ịkpọ ya, Helm CLI utility, nke arụnyere na kọmputa, laptọọpụ, mainframe - na ihe ọ bụla.

Ma nke a ezughị. Helm nwere ihe nkesa a na-akpọ Tiller. Ọ na-anọchi anya ọdịmma Helm n'ime ụyọkọ ahụ; ọ bụ ngwa n'ime ụyọkọ Kubernetes, dịka ọ bụla ọzọ.

Akụkụ na-esote Chart Repo bụ ebe nchekwa nwere eserese. Enwere ebe nchekwa gọọmentị, ma enwere ike ịnwe ebe nchekwa nke ụlọ ọrụ ma ọ bụ ọrụ.

Mmekọrịta

Ka anyị leba anya ka ihe ndị na-emepụta ihe si emekọrịta mgbe anyị chọrọ iji Helm tinye ngwa.

  • Anyị na-ekwu okwu Helm install, nweta ebe nchekwa (Chart Repo) wee nweta chaatị Helm.

  • Utility Helm (Helm CLI) na Kubeconfig na-emekọrịta ihe iji chọpụta ụyọkọ nke ị ga-akpọtụrụ. 
  • N'ịbụ onye natara ozi a, ụlọ ọrụ na-ezo aka na Tiller, nke dị na ụyọkọ anyị, dị ka ngwa. 
  • Tiller na-akpọ Kube-apiserver ka ọ rụọ ọrụ na Kubernetes, mepụta ụfọdụ ihe (ọrụ, pọd, oyiri, ihe nzuzo, wdg).

Na-esote, anyị ga-eme ka eserese ahụ dị mgbagwoju anya iji hụ vector ọgụ nke enwere ike ikpughe ihe owuwu Helm niile n'ozuzu ya. Mgbe ahụ, anyị ga-agbalị ichebe ya.

Mmegide vector

Ebe mbụ nwere ike ịdị ike bụ API nwere ihe ùgwù-onye ọrụ. Dịka akụkụ nke atụmatụ a, nke a bụ onye hacker nwetara ohere nchịkwa na Helm CLI.

Onye ọrụ API enweghị ohere nwekwara ike ibute ihe egwu ma ọ bụrụ na ọ dị nso. Onye ọrụ dị otú ahụ ga-enwe ọnọdụ dị iche, dịka ọmụmaatụ, enwere ike idozi ya n'otu oghere aha ụyọkọ na ntọala Kubeconfig.

Vector ọgụ kacha adọrọ mmasị nwere ike ịbụ usoro na-ebi n'ime ụyọkọ ebe dị nso na Tiller wee nweta ya. Nke a nwere ike ịbụ sava weebụ ma ọ bụ microservice nke na-ahụ gburugburu netwọkụ nke ụyọkọ.

Ihe dị egwu, mana na-ewu ewu, ụdị ọgụ gụnyere Chart Repo. Chaatị nke onye ode akwụkwọ enweghị ntụkwasị obi mepụtara nwere ike ịnwe akụrụngwa na-adịghị ize ndụ, ị ga-emecha ya site na iji okwukwe. Ma ọ bụ ọ nwere ike dochie eserese ị na-ebudata site na ebe nchekwa gọọmentị yana, dịka ọmụmaatụ, mepụta akụrụngwa n'ụdị atumatu wee bulie ohere ya.

Nchekwa Helm

Ka anyị gbalịa igbochi ọgụ site n'akụkụ anọ a niile wee chọpụta ebe nsogbu dị na nhazi ụlọ Helm, na ebe, ma eleghị anya, ọ dịghị.

Ka anyị gbasaa eserese ahụ, tinyekwuo ihe, mana debe ihe niile bụ isi.

Nchekwa Helm

Helm CLI na-akpakọrịta na Chart Repo, na-emekọrịta ihe na Kubeconfig, a na-ebufe ọrụ ahụ na ụyọkọ na mpaghara Tiller.

Ihe abụọ nọchiri anya Tiller:

  • Tiller-deploy svc, nke na-ekpughe otu ọrụ;
  • Tiller-deploy pod (na eserese na otu oyiri n'otu oyiri), nke ibu dum na-agba, nke na-abanye na ụyọkọ ahụ.

A na-eji protocol na atụmatụ dị iche iche emekọrịta ihe. Site n'echiche nchekwa, anyị nwere mmasị na:

  • Usoro nke Helm CLI na-enweta repo chart: kedu usoro, enwere nkwenye na ihe enwere ike iji ya.
  • Usoro nke Helm CLI na-eji kubectl na-ekwurịta okwu na Tiller. Nke a bụ ihe nkesa RPC arụnyere n'ime ụyọkọ.
  • Tiller n'onwe ya nwere ike ịnweta microservices ndị bi na ụyọkọ ma na-emekọrịta ihe na Kube-apiserver.

Nchekwa Helm

Ka anyị tụlee akụkụ ndị a niile n'usoro.

RBAC

Enweghị uru ikwu maka nchekwa ọ bụla maka Helm ma ọ bụ ọrụ ọ bụla ọzọ n'ime ụyọkọ ahụ belụsọ na agbanyere RBAC.

Ọ dị ka nke a abụghị ndụmọdụ kachasị ọhụrụ, mana ejiri m n'aka na ọtụtụ ndị ka na-emebeghị RBAC ọbụna na mmepụta, n'ihi na ọ bụ ọtụtụ ihe mgbagwoju anya na ọtụtụ ihe kwesịrị ịhazi. Agbanyeghị, a na m agba gị ume ime nke a.

Nchekwa Helm

https://rbac.dev/ - ọka iwu webụsaịtị maka RBAC. Ọ nwere nnukwu ihe na-adọrọ mmasị nke ga-enyere gị aka ịtọ RBAC, gosi ihe mere o ji dị mma na otu esi ebi ndụ na ya na mmepụta.

Aga m agbalị ịkọwa ka Tiller na RBAC si arụ ọrụ. Tiller na-arụ ọrụ n'ime ụyọkọ n'okpuru otu akaụntụ ọrụ. Dịka, ọ bụrụ na ahazighị RBAC, nke a ga-abụ superuser. Na nhazi ntọala, Tiller ga-abụ onye nchịkwa. Nke a bụ ya mere a na-ekwukarị na Tiller bụ ọwara SSH na ụyọkọ gị. N'ezie, nke a bụ eziokwu, yabụ ị nwere ike iji akaụntụ ọrụ raara onwe ya nye dị iche kama Akaụntụ Ọrụ Ndị an-kpọ n'ime eserese dị n'elu.

Mgbe ibido Helm wee wụnye ya na ihe nkesa nke mbụ, ịnwere ike iji akaụntụ ọrụ tọọ ya --service-account. Nke a ga-enye gị ohere iji onye ọrụ nwere oke oke ikike achọrọ. N'ezie, ị ga-emepụta ụdị "garland" dị otú ahụ: Ọrụ na RoleBinding.

Nchekwa Helm

O di nwute, Helm agaghị emere gị nke a. Gị ma ọ bụ onye nchịkwa ụyọkọ Kubernetes kwesịrị ịkwado otu ọrụ na RoleBindings maka akaụntụ-ọrụ tupu oge eruo iji gafee Helm.

Ajụjụ na-ebilite - kedu ihe dị iche n'etiti ọrụ na ClusterRole? Ihe dị iche bụ na ClusterRole na-arụ ọrụ maka oghere aha niile, n'adịghị ka ọrụ oge niile na RoleBindings, nke na-arụ ọrụ naanị maka oghere aha pụrụ iche. Ị nwere ike hazie amụma maka ụyọkọ dum yana oghere aha niile, ma ọ bụ ahaziri aha maka oghere aha ọ bụla n'otu n'otu.

Ọ bara uru ịkọwa na RBAC na-edozi nnukwu nsogbu ọzọ. Ọtụtụ ndị na-eme mkpesa na Helm, ọ dị mwute ikwu, abụghị multitenancy (anaghị akwado multitenancy). Ọ bụrụ na ọtụtụ otu na-eri ụyọkọ ma jiri Helm, ọ gaghị ekwe omume ịtọlite ​​​​atumatu ma gbochie ohere ha n'ime ụyọkọ a, n'ihi na enwere akaụntụ ọrụ nke Helm na-agba ọsọ, ọ na-emepụta ihe niile dị na ụyọkọ ahụ n'okpuru ya. , nke mgbe ụfọdụ ọ na-adịghị mma. Nke a bụ eziokwu - dịka faịlụ ọnụọgụ abụọ n'onwe ya, dịka usoro ahụ, Helm Tiller enweghị echiche nke multitenancy.

Agbanyeghị, enwere nnukwu ụzọ na-enye gị ohere ịgba Tiller ọtụtụ ugboro na ụyọkọ. Enweghị nsogbu na nke a, enwere ike ịmalite Tiller na aha aha ọ bụla. Ya mere, ị nwere ike iji RBAC, Kubeconfig dị ka ihe gbara ya gburugburu, ma gbochie ohere ịnweta Helm pụrụ iche.

Ọ ga-adị ka nke a.

Nchekwa Helm

Dịka ọmụmaatụ, enwere Kubeconfigs abụọ nwere ọnọdụ maka otu dị iche iche (oghere aha abụọ): X Team maka otu mmepe na ụyọkọ nchịkwa. Ụyọkọ nchịkwa nwere Tiller obosara nke ya, nke dị na oghere aha sistemụ Kube, akaụntụ-ọrụ dị elu kwekọrọ. Na aha aha dị iche iche maka otu mmepe, ha ga-enwe ike ibuga ọrụ ha na aha aha pụrụ iche.

Nke a bụ ụzọ a na-arụ ọrụ, Tiller anaghị agụ agụụ nke na ọ ga-emetụta mmefu ego gị nke ukwuu. Nke a bụ otu n'ime ngwọta ngwa ngwa.

Enwere onwe gị ịhazi Tiller iche iche ma nye Kubeconfig ọnọdụ maka otu ahụ, maka otu onye mmepụta ma ọ bụ maka gburugburu ebe obibi: Dev, Staging, Production (ọ na-enwe obi abụọ na ihe niile ga-adị n'otu ụyọkọ ahụ, Otú ọ dị, enwere ike ime nke a).

N'ịga n'ihu akụkọ anyị, ka anyị si na RBAC gbanwee wee kwuo maka ConfigMaps.

ConfigMaps

Helm na-eji ConfigMaps dị ka ụlọ ahịa data ya. Mgbe anyị na-ekwu maka ụkpụrụ ụlọ, ọ nweghị nchekwa data ọ bụla ga-echekwa ozi gbasara mwepụta, nhazi, mpịakọta, wdg. A na-eji ConfigMaps maka nke a.

A maara nsogbu bụ isi na ConfigMaps - ha adịghị mma na ụkpụrụ; ọ gaghị ekwe omume ịchekwa data nwere mmetụta. Anyị na-ekwu maka ihe niile na-ekwesịghị ịgafe ọrụ ahụ, dịka ọmụmaatụ, okwuntughe. Ụzọ kacha mma maka Helm ugbu a bụ ịgbanwe site na iji ConfigMaps gaa na nzuzo.

A na-eme nke a n'ụzọ dị mfe. Wepụ ntọala Tiller wee kọwaa na nchekwa ahụ ga-abụ ihe nzuzo. Mgbe ahụ maka mbugharị ọ bụla ị ga-enweta ọ bụghị ConfigMap, kama ọ bụ ihe nzuzo.

Nchekwa Helm

Ị nwere ike na-arụ ụka na nzuzo onwe ha bụ a iju echiche na ọ bụghị nnọọ nchebe. Otú ọ dị, ọ bara uru ịghọta na ndị mmepe Kubernetes n'onwe ha na-eme nke a. Malite na ụdị 1.10, i.e. Ruo oge ụfọdụ ugbu a, ọ ga-ekwe omume, ma ọ dịkarịa ala n'ígwé ojii ọha, jikọọ ebe nchekwa ziri ezi iji chekwaa ihe nzuzo. Ndị otu a na-arụ ọrụ ugbu a na ụzọ ha ga-esi kesaa ohere nzuzo, pọd onye ọ bụla, ma ọ bụ ụlọ ọrụ ndị ọzọ nke ọma.

Ọ ka mma ịnyefe nchekwa Helm na nzuzo, na ha, n'aka nke ya, echekwara na etiti.

N'ezie ọ ga-anọgide oke nchekwa data nke 1 MB. Helm ebe a na-eji wdgd ka nchekwa ekesa maka ConfigMaps. N'ebe ahụ, ha chere na nke a bụ nchịkọta data kwesịrị ekwesị maka ịmegharị, wdg. Enwere mkparịta ụka na-adọrọ mmasị banyere nke a na Reddit, ana m akwado ịchọta ihe ọgụgụ a na-atọ ọchị maka izu ụka ma ọ bụ na-agụ ihe a ebe a.

Chart Repos

Charts bụ ndị na-adịghị ike na ọha mmadụ ma nwee ike ịghọ isi iyi nke "Nwoke nọ n'etiti", karịsịa ma ọ bụrụ na ị na-eji ngwọta ngwaahịa. Nke mbụ, anyị na-ekwu maka ebe nchekwa na-ekpughere site na HTTP.

Ịkwesịrị ikpughe Helm Repo n'elu HTTPS - nke a bụ nhọrọ kachasị mma yana ọ dịghị ọnụ.

Lezienụ anya na usoro mbinye aka chaatị. Teknụzụ dị mfe dị ka hel. Nke a bụ otu ihe ị na-eji na GitHub, igwe PGP oge niile nwere igodo ọha na nke nzuzo. Hazie ma jide n'aka, na-enwe igodo ndị dị mkpa na ịbanye ihe niile, na nke a bụ chaatị gị n'ezie.

Ọzọkwa, Onye ahịa Helm na-akwado TLS (ọ bụghị n'echiche HTTP-n'akụkụ nkesa, kama TLS ibe ya). Ị nwere ike iji nkesa na igodo ndị ahịa iji kparịta ụka. N'ikwu eziokwu, anaghị m eji usoro dị otú ahụ n'ihi na anaghị amasị m asambodo ibe. N'ụzọ bụ isi, ụlọ ngosi ihe mgbe ochie - ngwá ọrụ bụ isi maka ịtọ ntọala Helm Repo maka Helm 2 - na-akwadokwa isi auth. Ị nwere ike iji isi aut ma ọ bụrụ na ọ dị mfe karịa ma dị jụụ.

E nwekwara ngwa mgbakwunye hel-gcs, nke na-enye gị ohere ịkwado Chart Repos na Google Cloud Storage. Nke a dị nnọọ mma, na-arụ ọrụ nke ukwuu ma dịkwa mma nke ukwuu, n'ihi na a na-emegharị usoro niile akọwara.

Nchekwa Helm

Ọ bụrụ na ịmee HTTPS ma ọ bụ TLS, jiri mTLS, wee mee ka auth isi belata ihe egwu ọzọ, ị ga-enweta ọwa nkwukọrịta echekwara na Helm CLI na Chart Repo.

gRPC API

Nzọụkwụ ọzọ dị ezigbo mkpa - iji chekwaa Tiller, nke dị na ụyọkọ ahụ ma bụrụ, n'otu aka ahụ, ihe nkesa, n'aka nke ọzọ, ya onwe ya na-enweta ihe ndị ọzọ ma gbalịa ime ka ọ bụrụ mmadụ.

Dịka m kwurula, Tiller bụ ọrụ na-ekpughe gRPC, onye ahịa Helm na-abịakwute ya site na gRPC. Na ndabara, n'ezie, TLS nwere nkwarụ. Ihe mere e ji mee nke a bụ ajụjụ a na-enyo enyo, ọ dị m ka ọ dị mfe nhazi nhazi na mbido.

Maka mmepụta na ọbụna nhazi, ana m akwado ịme TLS na gRPC.

N'uche nke m, n'adịghị ka mTLS maka eserese, nke a dabara adaba ebe a ma mee ya ngwa ngwa - mepụta akụrụngwa PQI, mepụta asambodo, malite Tiller, nyefee asambodo n'oge mbido. Mgbe nke a gasị, ị nwere ike mebie iwu Helm niile, na-egosi onwe gị na asambodo emepụtara na igodo nzuzo.

Nchekwa Helm

N'ụzọ dị otú a, ị ga-echebe onwe gị pụọ na arịrịọ niile a na-arịọ Tiller site na mpụga ụyọkọ.

Ya mere, anyị echekwala ọwa njikọ na Tiller, anyị atụleworị RBAC ma gbanwee ikike nke Kubernetes apiserver, na-ebelata ngalaba nke ọ nwere ike imekọrịta.

Helm echedoro

Ka anyị leba anya na eserese ikpeazụ. Ọ bụ otu ụkpụrụ ụlọ nwere otu akụ.

Nchekwa Helm

Enwere ike ịdọrọ njikọ niile na akwụkwọ ndụ akwụkwọ ndụ n'enweghị nsogbu:

  • maka Chart Repo anyị na-eji TLS ma ọ bụ mTLS na isi auth;
  • mTLS maka Tiller, ekpughere ya dị ka ọrụ gRPC na TLS, anyị na-eji asambodo;
  • ụyọkọ ahụ na-eji akaụntụ ọrụ pụrụ iche yana Role na RoleBinding. 

Anyị echekwala ụyọkọ ahụ nke ọma, mana onye maara ihe kwuru:

"A nwere ike inwe naanị otu ngwọta dị mma - kọmputa agbanyụrụ agbanyụrụ, nke dị n'ime igbe kọnkịtị ma ndị agha na-echekwa ya."

Enwere ụzọ dị iche iche iji megharịa data wee chọta vectors ọgụ ọhụrụ. Otú ọ dị, enwere m obi ike na ndụmọdụ ndị a ga-enweta ụkpụrụ ụlọ ọrụ bụ isi maka nchekwa.

Daashi

Akụkụ a anaghị emetụta ya na nchekwa, mana ọ ga-abakwa uru. Aga m egosi gị ụfọdụ ihe na-atọ ụtọ nke mmadụ ole na ole maara. Dịka ọmụmaatụ, otu esi achọ chaatị dị iche iche - onye ọrụ na enweghị akwụkwọ.

Na ebe nchekwa github.com/helm/charts Ugbu a enwere ihe dị ka eserese 300 na iyi abụọ: kwụsiri ike na incubator. Onye ọ bụla na-enye onyinye maara nke ọma ka o si esi ike isi na incubator banye n'ụkwụ, na ka ọ dị mfe isi n'ụlọ akụ efe efe. Otú ọ dị, nke a abụghị ngwá ọrụ kachasị mma iji chọọ chaatị maka Prometheus na ihe ọ bụla masịrị gị, maka otu ihe kpatara ya - ọ bụghị ọnụ ụzọ ebe ị nwere ike ịchọ ngwugwu.

Mana enwere ọrụ hub.helm.sh, nke na-eme ka ọ dịkwuo mfe ịchọta eserese. Nke kachasị mkpa, enwere ọtụtụ ebe nchekwa mpụga yana ihe fọrọ nke nta ka ọ bụrụ 800 amara dị. Na mgbakwunye, ị nwere ike jikọọ ebe nchekwa gị ma ọ bụrụ n'ihi ihe ụfọdụ ị chọghị izipu eserese gị ka ọ kwụsie ike.

Gbalịa hub.helm.sh ka anyị wulite ya ọnụ. Ọrụ a dị n'okpuru ọrụ Helm, ma ị nwere ike itinye aka na UI ya ma ọ bụrụ na ị bụ onye nrụpụta n'ihu ma chọọ naanị imeziwanye ọdịdị ahụ.

Ọ ga-amasị m ịdọrọ uche gị gaa Mepee njikọ API Broker Service. Ọ na-ada ụda siri ike na edoghị anya, mana ọ na-edozi nsogbu ndị mmadụ na-eche ihu. Ka m jiri ihe atụ dị mfe kọwaa.

Nchekwa Helm

Enwere ụyọkọ Kubernetes nke anyị chọrọ ịme ngwa kpochapụwo - WordPress. Na mkpokọta, achọrọ nchekwa data maka ịrụ ọrụ zuru oke. Enwere ọtụtụ ngwọta dị iche iche, dịka ọmụmaatụ, ị nwere ike ịmalite ọrụ steeti nke gị. Nke a adịghị mma, mana ọtụtụ ndị na-eme ya.

Ndị ọzọ, dị ka anyị na Chainstack, na-eji ọdụ data ejisiri dị ka MySQL ma ọ bụ PostgreSQL maka sava ha. Ọ bụ ya mere ọdụ data anyị ji nọrọ n'ime igwe ojii.

Mana nsogbu na-ebilite: anyị kwesịrị ijikọ ọrụ anyị na nchekwa data, mepụta ụtọ nchekwa data, nyefee nzere na n'ụzọ ụfọdụ jikwaa ya. A na-ejikarị aka eme ihe ndị a niile site n'aka onye njikwa sistemụ ma ọ bụ onye nrụpụta. Na enweghị nsogbu mgbe enwere ngwa ole na ole. Mgbe enwere ọtụtụ n'ime ha, ịchọrọ ikpokọta. Enwere onye na-ewe ihe ubi - ọ bụ Broker Service. Ọ na-enye gị ohere iji ngwa mgbakwunye pụrụ iche maka ụyọkọ ígwé ojii ọha wee tụọ akụrụngwa sitere na onye na-eweta ya site na Broker, dị ka a ga-asị na ọ bụ API. Iji mee nke a, ịnwere ike iji ngwa Kubernetes nke ala.

Ọ dị nnọọ mfe. Ị nwere ike jụọ ajụjụ, dịka ọmụmaatụ, MySQL jisiri ike na Azure na ọkwa ntọala (nwere ike ịhazi nke a). Iji Azure API, a ga-emepụta nchekwa data ma kwadebere maka ojiji. Ịkwesighi itinye aka na nke a, ngwa mgbakwunye bụ maka nke a. Dịka ọmụmaatụ, OSBA (ngwa mgbakwunye Azure) ga-eweghachite nzere na ọrụ ahụ wee nyefee ya na Helm. Ị ga-enwe ike iji WordPress na ígwé ojii MySQL, adịghị emeso ọdụ data jisiri ma ọlị na echegbula banyere statefull ọrụ n'ime.

Anyị nwere ike ịsị na Helm na-arụ ọrụ dị ka gluu nke, n'otu aka ahụ, na-enye gị ohere ibuga ọrụ, na nke ọzọ, na-eri ihe onwunwe nke ndị na-eweta igwe ojii.

Ị nwere ike dee ngwa mgbakwunye gị ma jiri akụkọ a dum mee ihe n'ụlọ. Mgbe ahụ ị ga-enwe ngwa mgbakwunye nke gị maka ndị na-eweta Cloud Cloud. Ana m akwado ịnwale ụzọ a, ọkachasị ma ọ bụrụ na ị nwere nnukwu ọnụ ọgụgụ ma chọọ ibuga dev, staging, ma ọ bụ akụrụngwa niile maka njirimara ngwa ngwa. Nke a ga-eme ka ndụ dịrị mfe maka ọrụ gị ma ọ bụ DevOps.

Nchọpụta ọzọ m kwurula bụ Helm-gcs ngwa mgbakwunye, nke na-enye gị ohere iji Google-bọket (ihe nchekwa ihe) iji chekwaa chaatị Helm.

Nchekwa Helm

Ị chọrọ naanị iwu anọ ka ịmalite iji ya:

  1. tinye ngwa mgbakwunye;
  2. malite ya;
  3. tọọ ụzọ gaa na bọket, nke dị na gcp;
  4. bipụta eserese n'ụzọ ọkọlọtọ.

Ihe mara mma bụ na a ga-eji usoro gcp ala maka ikike. Ị nwere ike iji akaụntụ ọrụ, akaụntụ onye nrụpụta, ihe ọ bụla ịchọrọ. Ọ dị nnọọ mfe na-efu ihe ọ bụla iji rụọ ọrụ. Ọ bụrụ na ị, dị ka m, na-akwalite nkà ihe ọmụma opsless, mgbe ahụ nke a ga-adaba adaba, karịsịa maka obere ìgwè.

Ndị ọzọ

Helm abụghị naanị ngwọta njikwa ọrụ. Enwere ọtụtụ ajụjụ gbasara ya, nke mere na ụdị nke atọ pụtara ngwa ngwa. N'ezie enwere uzo ozo.

Ndị a nwere ike ịbụ ngwọta pụrụ iche, dịka ọmụmaatụ, Ksonnet ma ọ bụ Metaparticle. Ị nwere ike iji ngwa njikwa akụrụngwa gị kpochapụrụ (Akwenye, Terraform, Chef, wdg) maka otu ebumnuche m kwuru maka ya.

N'ikpeazụ enwere ngwọta Onye ọrụ Framework, onye ewu ewu ya na-eto eto.

Framework Operator bụ ihe ọzọ Helm ga-atụle.

Ọ bụ obodo CNCF na Kubernetes, ma ihe mgbochi nke ịbanye dị elu karịa, mkpa ka ị mmemme ọzọ na-akọwa na-egosi obere.

Enwere mgbakwunye dị iche iche, dị ka Draft, Scaffold. Ha na-eme ka ndụ dịkwuo mfe, dịka ọmụmaatụ, ha na-eme ka usoro nke izipu na ịmepụta Helm dị mfe maka ndị mmepe ka ha na-ebuga gburugburu ule. M ga-akpọ ha ndị na-enye ike.

Nke a bụ eserese anya nke ebe ihe niile dị.

Nchekwa Helm

Na x-axis bụ ọkwa nke njikwa onwe gị maka ihe na-eme, na y-axis bụ ọkwa nke obodo Kubernetes. Ụdị Helm 2 dara ebe n'etiti. Na ụdị 3, ọ bụghị nnukwu, mana njikwa na ọkwa nke nwa amaala ka emelitere. Ngwọta na ọkwa Ksonnet ka dị ala ọbụna na Helm 2. Otú ọ dị, ha kwesịrị ile anya iji mara ihe ọzọ dị n'ụwa a. N'ezie, onye njikwa nhazi gị ga-anọ n'okpuru njikwa gị, mana ọ bụghị obodo Kubernetes.

The Operator Framework bụ nnọọ nwa amaala Kubernetes na-enye gị ohere ijikwa ya karịa nke ọma na scrupulously (ma cheta banyere ntinye larịị). Kama, nke a dabara maka ngwa pụrụ iche na imepụta njikwa maka ya, kama ịbụ onye na-ewe ihe ubi maka ịkwakọ ọtụtụ ngwa site na iji Helm.

Ndị na-ebuwanye ibu na-emeziwanye njikwa ntakịrị, na-akwado usoro ọrụ, ma ọ bụ gbutuo akụkụ na pipeline CI/CD.

Ọdịnihu nke Helm

Ozi ọma ahụ bụ na Helm 3 na-abịa. E wepụtalarị ụdị alfa nke Helm 3.0.0-alpha.2, ị nwere ike ịnwale ya. Ọ kwụsiri ike, mana arụmọrụ ka nwere oke.

Gịnị mere ị chọrọ Helm 3? Nke mbụ, nke a bụ akụkọ banyere ya Ọnwụ Tiller, dị ka akụkụ. Nke a, dị ka ị ghọtarala, bụ nnukwu nzọụkwụ na-aga n'ihu, n'ihi na site n'echiche nke nchekwa nke ihe owuwu ahụ, a na-eme ka ihe niile dị mfe.

Mgbe e mepụtara Helm 2, nke dị n'oge Kubernetes 1.8 ma ọ bụ ọbụna tupu oge ahụ, ọtụtụ n'ime echiche ndị ahụ etobeghị. Dịka ọmụmaatụ, a na-emejuputa echiche CRD ugbu a na Helm ga-eme ya jiri CRDiji chekwaa ihe owuwu. Ọ ga-ekwe omume iji naanị onye ahịa ma ghara idobe akụkụ nkesa. N'ihi nke a, jiri iwu Kubernetes nke ala iji rụọ ọrụ na nhazi na akụrụngwa. Nke a bụ nnukwu nzọụkwụ n'ihu.

Ga-apụta nkwado maka ebe nchekwa OCI ala (Open Container Initiative). Nke a bụ nnukwu atụmatụ, Helm nwere mmasị na mbụ ka o bipute eserese ya. Ọ na-abịarute na, dịka ọmụmaatụ, Docker Hub na-akwado ọtụtụ ụkpụrụ OCI. Anaghị m eche, mana ikekwe ndị na-eweta ebe nchekwa Docker ga-amalite inye gị ohere ịnabata chaatị Helm ha.

Akụkọ na-ese okwu nye m bụ Lua nkwado, dị ka injin nlegharị anya maka ide edemede. Mɨ̀ kàdré tà sè dhɨ, Gìká nɨ tà sè, ɨ̀ dré tàzoá àyɨ dré dhɨ: Achọpụtara m nke a ugboro atọ - iji Lua agaghị adị mkpa. Ya mere, ndị chọrọ inwe ike iji Lua, ndị na-amasị Go, sonyere nnukwu ogige anyị ma jiri go-tmpl mee nke a.

N'ikpeazụ, ihe m na-efunarị bụ ntoputa schema na nkwado ụdị data. A gaghị enwe nsogbu ọzọ na int ma ọ bụ eriri, ọ dịghị mkpa iji kechie efu na ọnụọgụ abụọ. Atụmatụ JSONS ga-apụta nke ga-enye gị ohere ịkọwa nke a nke ọma maka ụkpụrụ.

A ga-arụgharị ya nke ukwuu ihe nlere anya eme. A kọwalarị ya n'echiche. Lelee alaka ụlọ ọrụ Helm 3, ị ga-ahụkwa ole ihe omume na nko na ihe ndị ọzọ agbakwunyere, nke ga-eme ka ọ dị mfe ma, n'aka nke ọzọ, na-agbakwụnye njikwa usoro ntinye na mmeghachi omume na ha.

Helm 3 ga-adị mfe karị, dị nchebe ma na-atọ ụtọ karịa, ọ bụghị n'ihi na anyị anaghị amasị Helm 2, kama n'ihi na Kubernetes na-adịwanye elu. N'ihi ya, Helm nwere ike iji mmepe nke Kubernetes ma mepụta ndị njikwa mara mma maka Kubernetes na ya.

Ozi ọma ọzọ bụ nke ahụ DevOpsConf Alexander Khayorov ga-agwa gị, enwere ike idobe arịa? Ka anyị na-echetara gị na a ga-enwe ogbako na njikọ nke mmepe, ule na usoro ọrụ na Moscow Septemba 30 na Ọktọba 1. Ị ka nwere ike ime ya ruo Ọgọst 20 nyefee akụkọ ma gwa anyị gbasara ahụmịhe gị na ngwọta ya otu n'ime ọtụtụ ọrụ nke usoro DevOps.

Soro ebe nlele ogbako na ozi na akwụkwọ akụkọ и telegram ọwa.

isi: www.habr.com

Tinye a comment