Helm 3 á thabhairt isteach

Helm 3 á thabhairt isteach

Nóta. aistrigh.: Is cloch mhíle shuntasach é 16 Bealtaine na bliana seo i bhforbairt an bhainisteora pacáiste do Kubernetes - Helm. Ar an lá seo, cuireadh an chéad scaoileadh alfa de leagan mór an tionscadail amach anseo - 3.0 - i láthair. Tabharfaidh a scaoileadh athruithe suntasacha agus súil leis le fada ar Helm, a bhfuil dóchas ard ag go leor i bpobal Kubernetes ina leith. Tá muid féin ar cheann acu seo, ós rud é go n-úsáideann muid Helm go gníomhach chun feidhmchlár a imscaradh: táimid tar éis é a chomhtháthú inár n-uirlis chun CI/CD a chur i bhfeidhm caoirigh agus ó am go chéile cuirimid go mór le forbairt an tsrutha in aghaidh an tsrutha. Comhcheanglaíonn an t-aistriúchán seo 7 nóta ó bhlag oifigiúil Helm, atá tiomnaithe don chéad eisiúint alfa de Helm 3 agus labhraíonn siad faoi stair an tionscadail agus príomhghnéithe Helm 3. Is é an t-údar Matt “bacongobbler” Fisher, fostaí de chuid Microsoft agus duine de phríomhchothabháil Helm.

Ar 15 Deireadh Fómhair, 2015, rugadh an tionscadal ar a dtugtar Helm anois. Díreach bliain tar éis a bhunaithe, chuaigh pobal Helm isteach i Kubernetes, agus iad ag obair go gníomhach ar Helm 2. I mí an Mheithimh 2018, Helm isteach sa CNCF mar thionscadal forbartha (goir). Go tapa ar aghaidh go dtí an lá inniu, agus tá an chéad scaoileadh alfa den Helm 3 nua ar a bhealach. (eisiúint seo tar éis tarlú cheana féin i lár mhí na Bealtaine - thart. aistrigh.).

Sa phíosa seo, labhróidh mé faoin áit ar thosaigh sé, conas a tháinig muid go dtí an áit a bhfuil muid inniu, tabhair isteach cuid de na gnéithe uathúla atá ar fáil sa chéad eisiúint alfa de Helm 3, agus mínigh conas a bheartaíonn muid dul ar aghaidh.

Achoimre:

  • stair chruthú Helm;
  • slán a fhágáil ag Tiller;
  • stórtha cairte;
  • bainistíocht scaoilte;
  • athruithe ar spleáchais cairteacha;
  • cairteacha leabharlainne;
  • cad atá romhainn?

Stair Helm

Breithe

Thosaigh Helm 1 mar thionscadal Foinse Oscailte cruthaithe ag Deis. Bhí muid tosaithe beag shúite Microsoft earrach 2017. Bhí uirlis ag ár dtionscadal Foinse Oscailte eile, ar a dtugtar Deis freisin deisctl, a úsáideadh (i measc rudaí eile) chun an t-ardán Deis a shuiteáil agus a oibriú i Cnuasach cabhlach. Ag an am, bhí Flít ar cheann de na chéad ardáin orchestration coimeádán.

I lár na bliana 2015, bheartaíomar cúrsa a athrú agus bhogamar Deis (a athainmníodh an tráth sin Deis Workflow) ón bhFlít go Kubernetes. Ba é ceann de na chéad cinn a athdhearadh an uirlis suiteála. deisctl. D’úsáideamar é chun Sreabhadh Oibre Deis a shuiteáil agus a bhainistiú i mbraisle an Chabhlaigh.

Cruthaíodh Helm 1 in íomhá bainisteoirí pacáiste cáiliúla mar Homebrew, apt agus yum. Ba é a phríomhsprioc ná tascanna a shimpliú mar phacáistiú agus feidhmchláir a shuiteáil ar Kubernetes. Tugadh Helm isteach go hoifigiúil in 2015 ag comhdháil KubeCon i San Francisco.

D'oibrigh ár gcéad iarracht le Helm, ach ní raibh sé gan roinnt teorainneacha tromchúiseacha. Ghlac sé sraith de manifests Kubernetes, blaistithe le gineadóirí mar bloic tosaigh YAML (ábhar tosaigh)*, agus na torthaí a luchtú isteach Kubernetes.

* Nóta. aistrigh.: Ón gcéad leagan de Helm, roghnaíodh comhréir YAML chun cur síos a dhéanamh ar acmhainní Kubernetes, agus tacaíodh le teimpléid Jinja agus scripteanna Python nuair a bhí cumraíochtaí á scríobh. Scríobhamar níos mó faoi seo agus faoi struchtúr an chéad leagan de Helm i gcoitinne sa chaibidil “A Brief History of Helm” an t-ábhar seo.

Mar shampla, chun réimse a athsholáthar i gcomhad YAML, bhí ort an tógáil seo a leanas a chur leis an bhforléiriú:

#helm:generate sed -i -e s|ubuntu-debootstrap|fluffy-bunny| my/pod.yaml

Tá sé iontach go bhfuil innill teimpléid ann inniu, nach bhfuil?

Ar go leor cúiseanna, bhí liosta crua-chódaithe de chomhaid follasacha ag teastáil ón suiteálaí luath Kubernetes seo agus níor cuireadh i gcrích ach seicheamh beag, seasta imeachtaí. Bhí sé chomh deacair sin a úsáid go raibh am deacair ag foireann T&F Sreabhadh Oibre Deis nuair a rinne siad iarracht a dtáirge a aistriú chuig an ardán seo - áfach, bhí síolta an smaoineamh curtha cheana féin. Deis iontach foghlama a bhí inár gcéad iarracht: thuig muid go raibh muid fíor-phaiseanta faoi uirlisí pragmatacha a chruthú a réitíonn fadhbanna laethúla dár n-úsáideoirí.

Bunaithe ar thaithí botúin san am atá caite, thosaigh muid ag forbairt Helm 2.

Ag Déanamh Helm 2

Ag deireadh 2015, chuaigh foireann Google i dteagmháil linn. Bhí siad ag obair ar uirlis den chineál céanna do Kubernetes. Ba phort uirlise a bhí ann cheana a úsáideadh le haghaidh Google Cloud Platform é Bainisteoir Imlonnaithe Kubernetes. “Ar mhaith linn,” a d’fhiafraigh siad, “cúpla lá a chaitheamh ag plé na cosúlachtaí agus na héagsúlachtaí?”

I mí Eanáir 2016, tháinig foirne Helm agus Bainisteoir Imlonnaithe le chéile i Seattle chun smaointe a mhalartú. Tháinig deireadh leis an gcaibidlíocht le plean uaillmhianach: an dá thionscadal a chur le chéile chun Helm 2 a chruthú. In éineacht le Deis agus Google, tá na guys ó Scipeáil Bhosca (anois mar chuid de Bitnami - approx. transl.), agus thosaigh muid ag obair ar Helm 2 .

Theastaigh uainn éascaíocht Helm a choinneáil le húsáid, ach cuir an méid seo a leanas leis:

  • teimpléid chairt le haghaidh saincheaptha;
  • bainistíocht laistigh den bhraisle d'fhoirne;
  • stór cairt den scoth;
  • formáid pacáiste cobhsaí le rogha sínithe;
  • tiomantas láidir do leagan séimeantach agus comhoiriúnacht siar a choinneáil idir na leaganacha.

Chun na spriocanna seo a bhaint amach, cuireadh dara eilimint le héiceachóras Helm. Tiller a tugadh ar an gcomhpháirt laistigh den bhraisle seo agus bhí sé freagrach as cairteacha Helm a shuiteáil agus a bhainistiú.

Ó scaoileadh Helm 2 in 2016, tá roinnt nuálaíochtaí móra curtha leis ag Kubernetes. Cuireadh rialú rochtana rólbhunaithe leis (RBAC), a tháinig in ionad Rialú Rochtana Tréithe-Bhunaithe (ABAC) sa deireadh. Tugadh cineálacha nua acmhainní isteach (Bhí Imscaradh fós i béite ag an am). Ceapadh Sainmhínithe Acmhainní Saincheaptha (ar a dtugtaí Acmhainní Tríú Páirtí nó TPRanna ar dtús). Agus is tábhachtaí fós, tá sraith dea-chleachtais tagtha chun cinn.

I measc na n-athruithe seo go léir, lean Helm ag freastal go dílis ar úsáideoirí Kubernetes. Tar éis trí bliana agus go leor breisithe nua, ba léir go raibh sé in am athruithe suntasacha a dhéanamh ar an mbunachar cód chun a chinntiú go bhféadfadh Helm leanúint ar aghaidh ag freastal ar riachtanais mhéadaitheacha éiceachóras atá ag teacht chun cinn.

Slán go deo le Tiller

Le linn fhorbairt Helm 2, thugamar isteach Tiller mar chuid dár gcomhtháthú le Bainisteoir Imlonnaithe Google. Bhí ról tábhachtach ag Tiller d’fhoirne a bhí ag obair laistigh de bhraisle choiteann: lig sé do speisialtóirí éagsúla a bhí ag oibriú an bhonneagair idirghníomhú leis an tsraith chéanna eisiúintí.

Ós rud é go raibh rialú rochtana ról-bhunaithe (RBAC) cumasaithe de réir réamhshocraithe i Kubernetes 1.6, bhí sé níos deacra oibriú le Tiller i dtáirgeadh. Mar gheall ar líon ollmhór na mbeartas slándála a d’fhéadfadh a bheith ann, bhí sé de sheasamh againn cumraíocht cheadaithe a thairiscint de réir réamhshocraithe. Cheadaigh sé seo do dhaoine nua triail a bhaint as Helm agus Kubernetes gan a bheith orthu dul ag tumadh isteach i socruithe slándála ar dtús. Ar an drochuair, d'fhéadfadh cumraíocht an cheada seo raon ceadanna ró-leathan nach raibh ag teastáil uathu a thabhairt don úsáideoir. Bhí ar innealtóirí DevOps agus SRE céimeanna oibriúcháin breise a fhoghlaim agus Tiller á shuiteáil i mbraisle ilthionóntaí.

Tar éis dúinn a fháil amach conas a d'úsáid an pobal Helm i gcásanna sonracha, thuig muid nach raibh gá le córas bainistíochta scaoileadh Tiller brath ar chomhpháirt laistigh den bhraisle chun an stát nó an fheidhm a choinneáil mar lárionad faisnéise scaoilte. Ina áit sin, d'fhéadfaimis faisnéis a fháil go simplí ó fhreastalaí Kubernetes API, cairt a ghiniúint ar thaobh an chliaint, agus taifead den suiteáil a stóráil i Kubernetes.

D'fhéadfaí príomhsprioc Tiller a bhaint amach gan Tiller, agus mar sin ba é ceann dár gcéad chinntí maidir le Helm 3 ná Tiller a thréigean go hiomlán.

Agus Tiller imithe, tá samhail slándála Helm simplithe go mór. Tacaíonn Helm 3 anois leis na modhanna slándála, aitheantais agus údaraithe go léir atá ag Kubernetes reatha. Cinntear ceadanna Helm ag baint úsáide as comhad kubeconfig. Is féidir le riarthóirí braisle cearta úsáideoirí a shrianadh go dtí aon leibhéal gráinneachta. Sábháltar scaoileadh fós laistigh den bhraisle, agus tá an chuid eile d'fheidhmiúlacht Helm fós slán.

Taisclanna cairteacha

Ag leibhéal ard, is áit é stór cairt inar féidir cairteacha a stóráil agus a roinnt. Pacálann agus seolann cliant Helm na cairteacha chuig an stór. Go simplí, is freastalaí primitive HTTP é stór cairt le comhad index.yaml agus roinnt cairteacha pacáistithe.

Cé go bhfuil buntáistí áirithe ag baint le API Taisclann na gCairteacha a chomhlíonann na bunriachtanais stórála, tá roinnt míbhuntáistí ann freisin:

  • Níl stórtha cairteacha comhoiriúnach leis an gcuid is mó de na feidhmeanna slándála a theastaíonn i dtimpeallacht táirgthe. Tá sé ríthábhachtach API caighdeánach a bheith agat le haghaidh fíordheimhnithe agus údaraithe i gcásanna táirgthe.
  • Is cuid roghnach de phróiseas foilsithe na Cairte iad uirlisí bunáitíochta chairt Helm, a úsáidtear chun sláine agus bunáitíocht cairte a shíniú.
  • I gcásanna ilúsáideora, is féidir le húsáideoir eile an chairt chéanna a uaslódáil, ag dúbailt an méid spáis a theastaíonn chun an t-ábhar céanna a stóráil. Forbraíodh stórtha níos cliste chun an fhadhb seo a réiteach, ach níl siad mar chuid den tsonraíocht fhoirmiúil.
  • Trí chomhad innéacs amháin a úsáid chun cuardach a dhéanamh, meiteashonraí a stóráil, agus cairteacha a aisghabháil tá sé deacair feidhmiúcháin il-úsáideoirí slána a fhorbairt.

Tionscadail Dáileadh Docker (ar a dtugtar Clárlann Docker v2 freisin) comharba ar Chlárlann Docker agus go bunúsach feidhmíonn sé mar thacar uirlisí chun íomhánna Docker a phacáistiú, a sheoladh, a stóráil agus a sheachadadh. Tairgeann go leor seirbhísí scamall mór táirgí atá bunaithe ar Dháileadh. A bhuí leis an aird mhéadaithe seo, bhain an tionscadal Dáilte leas as blianta feabhsuithe, dea-chleachtais slándála, agus tástáil allamuigh a d’fhág go bhfuil sé ar cheann de na laochra gan mholadh is rathúla ar domhan Foinse Oscailte.

Ach an raibh a fhios agat gur dearadh an Tionscadal Dáilte chun ábhar de chineál ar bith a dháileadh, ní hamháin íomhánna coimeádáin?

Buíochas leis na hiarrachtaí Tionscnamh Coimeádán Oscailte (nó OCI), is féidir cairteacha Helm a chur ar aon ásc Dáilte. Go dtí seo, tá an próiseas seo turgnamhach. Is obair idir lámha iad tacaíocht logáil isteach agus gnéithe eile a theastaíonn le haghaidh Helm 3 iomlán, ach táimid ar bís le foghlaim ó na fionnachtana atá déanta ag foirne OCI agus Dáileacháin thar na blianta. Agus trína meantóireacht agus a dtreoir, foghlaimímid cad é mar atá seirbhís ar scála mór atá ar fáil go mór a oibriú.

Tá cur síos níos mionsonraithe ar roinnt athruithe atá le teacht ar stórtha chairt Helm ar fáil по ссылке.

Bainistíocht scaoileadh

I Helm 3, rianaítear staid an fheidhmchláir laistigh den bhraisle ag péire réad:

  • réad a scaoileadh - is ionann é agus shampla iarratais;
  • leagan rún a scaoileadh - is ionann é agus staid inmhianaithe an iarratais ag pointe áirithe ama (mar shampla, leagan nua a scaoileadh).

Glaoigh helm install cruthaíonn réad scaoilte agus rún leagan scaoilte. Glaoigh helm upgrade éilíonn sé réad scaoilte (ar féidir é a athrú) agus cruthaíonn sé rún leagan nua scaoilte ina bhfuil na luachanna nua agus léiriú ullmhaithe.

Tá faisnéis maidir leis an scaoileadh i réad scaoileadh, áit a bhfuil an scaoileadh ina shuiteáil shonrach de chairt agus de luachanna ainmnithe. Déanann an réad seo cur síos ar na meiteashonraí barrleibhéil faoin eisiúint. Maireann an réad scaoilte ar feadh shaolré an fheidhmchláir agus is úinéir gach rúin leagan scaoilte é, chomh maith le gach réad a chruthaítear go díreach leis an gcairt Helm.

Comhlachaithe leagan scaoileadh scaoileadh le sraith de leasuithe (suiteáil, nuashonruithe, rollbacks, scriosadh).

I Helm 2, bhí na hathbhreithnithe thar a bheith comhsheasmhach. Glaoigh helm install cruthaithe v1, an nuashonrú ina dhiaidh sin (uasghrádú) - v2, agus mar sin de. Scaoileadh agus scaoileadh leagan rún a bheith tite isteach i réad amháin ar a dtugtar athbhreithniú. Stóráladh athbhreithnithe san ainmspás céanna le Tiller, rud a chiallaigh go raibh gach scaoileadh "domhanda" i dtéarmaí ainmspáis; mar thoradh air sin, níorbh fhéidir ach sampla amháin den ainm a úsáid.

I Helm 3, tá baint ag gach scaoileadh le rún leagan scaoilte amháin nó níos mó. Déanann an réad scaoilte cur síos i gcónaí ar an scaoileadh reatha a imscartar chuig Kubernetes. Ní dhéanann gach rún leagan scaoilte ach leagan amháin den eisiúint sin. Cruthóidh uasghrádú, mar shampla, rún leagan nua eisithe agus ansin athrófar an réad scaoilte chun an leagan nua sin a chur in iúl. I gcás ais-rolladh, is féidir leat úsáid a bhaint as rúin leagan eisithe roimhe seo chun an scaoileadh a rolladh siar go dtí staid roimhe sin.

Tar éis Tiller a thréigean, stórálann Helm 3 sonraí a scaoileadh san ainmspás céanna leis an scaoileadh. Ligeann an t-athrú seo duit cairt leis an ainm eisiúna céanna a shuiteáil in ainmspás difriúil, agus sábháiltear na sonraí idir nuashonruithe braisle/atosaithe in srl. Mar shampla, is féidir leat WordPress a shuiteáil san ainmspás "foo" agus ansin san ainmspás "barra", agus is féidir an dá eisiúint a bheith ainmnithe mar "wordpress".

Athruithe ar spleáchais chairte

Cairteacha pacáilte (ag baint úsáide as helm package) is féidir le húsáid le Helm 2 a shuiteáil le Helm 3, ach rinneadh ollchóiriú iomlán ar an sreabhadh oibre forbartha cairte, agus mar sin ní mór roinnt athruithe a dhéanamh chun leanúint ar aghaidh le forbairt cairte le Helm 3. Go háirithe, tá an córas bainistíochta spleáchais cairt athraithe.

Tá córas bainistíochta spleáchais na cairte aistrithe ó requirements.yaml и requirements.lock ar Chart.yaml и Chart.lock. Ciallaíonn sé seo go bhfuil na cairteacha a d'úsáid an t-ordú helm dependency, a cheangal ar roinnt thus a bheith ag obair i Helm 3.

Breathnaímid ar shampla. Cuirimis spleáchas leis an gcairt i Helm 2 agus féachfaimid cad a athraíonn nuair a bhogaimid go Helm 3.

I Helm 2 requirements.yaml d'fhéach sé mar seo:

dependencies:
- name: mariadb
  version: 5.x.x
  repository: https://kubernetes-charts.storage.googleapis.com/
  condition: mariadb.enabled
  tags:
    - database

I Helm 3, léireofar an spleáchas céanna i do Chart.yaml:

dependencies:
- name: mariadb
  version: 5.x.x
  repository: https://kubernetes-charts.storage.googleapis.com/
  condition: mariadb.enabled
  tags:
    - database

Tá cairteacha fós le híoslódáil agus curtha san eolaire charts/, mar sin fochairteacha (fochairteacha), atá suite sa chatalóg charts/, ar aghaidh ag obair gan athruithe.

Cairteacha Leabharlainne a thabhairt isteach

Tacaíonn Helm 3 le haicme cairteacha ar a dtugtar cairteacha leabharlainne (cairt leabharlainne). Úsáideann cairteacha eile an chairt seo, ach ní chruthaíonn sí aon déantúsáin scaoilte leis féin. Ní féidir le teimpléid chairte leabharlainne ach eilimintí a dhearbhú define. Ní dhéantar neamhaird ar ábhar eile go simplí. Ligeann sé seo d'úsáideoirí blúirí cód a athúsáid agus a roinnt ar féidir iad a úsáid thar ilchairteacha, rud a sheachnaíonn dúbailt agus cloí leis an bprionsabal TIRIM.

Dearbhaítear cairteacha leabharlainne sa chuid dependencies i gcomhad Chart.yaml. Níl aon difríocht idir iad a shuiteáil agus a bhainistiú agus cairteacha eile.

dependencies:
  - name: mylib
    version: 1.x.x
    repository: quay.io

Táimid ar bís faoi na cásanna úsáide a osclóidh an chomhpháirt seo d’fhorbróirí cairteacha, chomh maith leis na cleachtais is fearr a d’fhéadfadh teacht chun cinn as cairteacha leabharlainne.

Cad atá romhainn?

Is é Helm 3.0.0-alpha.1 an bonn ar a dtosaímid ar leagan nua de Helm a thógáil. San alt chuir mé síos ar roinnt gnéithe suimiúla de Helm 3. Tá go leor acu fós sna céimeanna luatha forbartha agus tá sé seo gnáth; Is é an pointe a bhaineann le scaoileadh alfa ná an smaoineamh a thástáil, aiseolas a bhailiú ó úsáideoirí luatha, agus ár dtoimhdí a dhearbhú.

Chomh luath agus a scaoiltear an leagan alfa (cuimhnigh go bhfuil sé seo tharla cheana - thart. aistrigh.), cuirfimid tús le glacadh le paistí do Helm 3 ón bpobal. Ní mór duit bunús láidir a chruthú a cheadaíonn feidhmiúlacht nua a fhorbairt agus a ghlacadh, agus go mbraitheann úsáideoirí go bhfuil baint acu leis an bpróiseas trí thicéid a oscailt agus réitigh a dhéanamh.

Tá iarracht déanta agam aird a tharraingt ar chuid de na feabhsuithe móra atá ag teacht go Helm 3, ach níl an liosta seo uileghabhálach ar chor ar bith. Áiríonn an treochlár iomlán do Helm 3 gnéithe cosúil le straitéisí feabhsaithe nuashonraithe, comhtháthú níos doimhne le clárlanna OCI, agus úsáid scéimrí JSON chun luachanna cairteacha a bhailíochtú. Tá sé beartaithe againn freisin an bunchód a ghlanadh agus codanna de a ndearnadh faillí orthu le trí bliana anuas a nuashonrú.

Má bhraitheann tú go bhfuil rud éigin caillte againn, ba bhreá linn do chuid smaointe a chloisteáil!

Bígí leis an bplé ar ár Cainéil slack:

  • #helm-users le haghaidh ceisteanna agus cumarsáid shimplí leis an bpobal;
  • #helm-dev chun iarratais ar tharraingt, cód agus bugs a phlé.

Is féidir leat comhrá a dhéanamh freisin inár nGlaonna Forbróirí Poiblí seachtainiúla ar an Déardaoin ag 19:30 MSK. Tá cruinnithe dírithe ar shaincheisteanna a bhfuil príomhfhorbróirí agus an pobal ag obair orthu a phlé, chomh maith le hábhair phlé na seachtaine. Is féidir le duine ar bith páirt a ghlacadh sa chruinniú agus páirt a ghlacadh ann. Nasc ar fáil i gcainéal Slack #helm-dev.

PS ó aistritheoir

Léigh freisin ar ár mblag:

Foinse: will.com

Add a comment