Faailoaina o le Helm 3

Faailoaina o le Helm 3

Manatua. fa'aliliu.: O le aso 16 o Me o lenei tausaga o loʻo faʻailogaina ai se tulaga taua tele i le atinaʻeina o le pule o pusa mo Kubernetes - Helm. I lenei aso, na tuʻuina atu ai le faʻasalalauga muamua o le alpha o le lumanaʻi tele o le poloketi - 3.0 -. O lona tatalaina o le a aumaia ai suiga taua ma ua leva ona faatalitali i Helm, lea e maualuga ai le faamoemoe o le toatele o tagata Kubernetes. O matou lava o se tasi o nei mea, talu ai matou te faʻaaogaina Helm mo le faʻapipiʻiina o talosaga: ua matou tuʻufaʻatasia i totonu o la matou meafaigaluega mo le faʻatinoina o le CI / CD. werf ma mai lea taimi i lea taimi matou te faia ai lo matou sao i le atinaʻeina o luga. O lenei faaliliuga o loʻo tuʻufaʻatasia ai faʻamatalaga 7 mai le Helm blog aloaia, lea e tuʻuina atu i le faʻasalalauga muamua alpha o Helm 3 ma talanoa e uiga i le talafaasolopito o le poloketi ma vaega autu o Helm 3. O lo latou tusitala o Matt "bacongobbler" Fisher, o se tagata faigaluega a Microsoft. ma o se tasi o leoleo autu o Helm.

O Oketopa 15, 2015, na fanau ai le poloketi lea ua lauiloa nei o Helm. Na o le tasi le tausaga talu ona faʻavaeina, na faʻatasi ai le Helm community i Kubernetes, aʻo galue malosi i le Helm 2. Ia Iuni 2018, Helm auai i le CNCF e pei o se atinae (incubating) poloketi. Saosaoa agai i luma i le taimi nei, ma o le faʻasalalauga muamua o le Alfa o le Helm 3 fou o loʻo agai i luma. (o lenei faʻasalalauga ua uma ona tupu i le ogatotonu o Me - tusa. fa'aliliu.).

I lenei vaega, o le a ou talanoa e uiga i le mea na amata uma ai, pe na faapefea ona tatou oʻo i le mea o loʻo tatou i ai nei, faʻalauiloa nisi o tulaga tulaga ese o loʻo maua i le faʻasalalauga muamua o le Alfa o Helm 3, ma faʻamatalaina pe faʻapefea ona tatou fuafua e agai i luma.

Aotelega:

  • le talafaasolopito o le foafoaina o Helm;
  • o se faamavaega alofa ia Tiller;
  • fale teu oloa siata;
  • pulega fa'asa'oloto;
  • suiga i fa'alagolago i siata;
  • siata faletusi;
  • o le a le isi mea?

O le talafaasolopito o Helm

Fanau mai

O le Helm 1 na amataina o se poloketi Open Source na faia e Deis. O matou o se tamai amataga mitiia Microsoft i le tautotogo 2017. O la matou isi poloketi Open Source, e igoa foi ia Deis, sa i ai se meafaigaluega deisctl, lea na faʻaaogaina (faʻatasi ai ma isi mea) e faʻapipiʻi ma faʻaogaina le Deis platform in Fusi fu'a. I lena taimi, o le Fleet o se tasi o faʻasalalauga faʻasalalauga muamua.

I le ogatotonu o le 2015, na matou filifili e sui le ala ma siitia Deis (i le taimi lena na toe faaigoa ai Deis Workflow) mai Fleet i Kubernetes. O se tasi o mea muamua na toe faʻatulagaina o le meafaigaluega faʻapipiʻi. deisctl. Na matou faʻaaogaina e faʻapipiʻi ma pulea ai le Deis Workflow i le fuifui Fleet.

Helm 1 na faia i le ata o taʻutaʻua pule o pusa e pei ole Homebrew, apt ma yum. O lona sini autu o le faʻafaigofieina o galuega e pei o le afifiina ma le faʻapipiʻiina o talosaga ile Kubernetes. O le foeuli na fa'alauiloa aloa'ia i le 2015 i le KubeCon conference i San Francisco.

O la matou taumafaiga muamua ma Helm na aoga, ae sa leai ni tapulaa matuia. Na ia aveina se seti o faʻaaliga Kubernetes, faʻamalo i afi afi e avea ma faʻamatalaga YAML poloka (mataupu i luma)*, ma uta i'uga i Kubernetes.

* Manatua. fa'aliliu.: Mai le lomiga muamua o Helm, YAML syntax na filifilia e faʻamatala ai punaoa Kubernetes, ma Jinja templates ma Python scripts na lagolagoina pe a tusia faʻasalalauga. Na matou tusia atili e uiga i lenei mea ma le fausaga o le uluai lomiga o Helm i le lautele i le mataupu "O se Talafaasolopito Puupuu o Helm" lenei mea.

Mo se faʻataʻitaʻiga, e sui ai se fanua i se faila YAML, e tatau ona e faʻaopoopoina le faʻailoga nei i le faʻaaliga:

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

E manaia tele le iai o masini mamanu i aso nei, a ea?

Mo le tele o mafuaʻaga, na manaʻomia e lenei faʻapipiʻi muamua Kubernetes se lisi faʻamaonia o faila faʻaalia ma naʻo le faʻatinoina o se faʻasologa faʻasolosolo o mea tutupu. Sa matua faigata lava ona faʻaaogaina o le Deis Workflow R&D team sa faigata ona latou taumafai e faʻafeiloaʻi a latou oloa i lenei tulaga - peitaʻi, o fatu o le manatu ua uma ona lūlūina. O la matou taumafaiga muamua o se avanoa sili lea e aʻoaʻo ai: matou iloa sa matou naunau moni lava i le fatuina o meafaigaluega faʻapitoa e foia ai faʻafitauli o aso uma mo matou tagata faʻaoga.

E tusa ai ma aafiaga o mea sese ua tuanai, na amata ai ona matou atiina ae le Helm 2.

Faia o le Foeuli 2

I le fa'ai'uga o le 2015, na fa'afeso'ota'ia i matou e le 'au a Google. Sa latou galulue i se meafaigaluega tutusa mo Kubernetes. Fa'atonu Pule mo Kubernetes o se uafu o se meafaigaluega o lo'o i ai na fa'aoga mo Google Cloud Platform. “Pe ta te mananao,” na latou fesili ai, “e faaalu ni nai aso e talanoaina ai mea e tutusa ai ma eseesega?”

Ia Ianuari 2016, na fono ai le 'au o le Helm and Deployment Manager i Seattle e fefa'asoa'i manatu. Na maeʻa feutagaiga i se fuafuaga mataʻutia: e tuʻufaʻatasia uma galuega faatino e fatu ai Helm 2. Faatasi ai ma Deis ma Google, o tama mai SkippBox (lea ua avea nei ma vaega o Bitnami - approx. transl.), ma amata ona matou galulue i le Helm 2.

Na matou mananaʻo e faʻatumauina le faigofie o le faʻaogaina o Helm, ae faʻaopoopo mea nei:

  • fa'ata'ita'iga siata mo le fa'avasegaina;
  • pulega i totonu o fa'apotopotoga mo 'au;
  • fale teu oloa siata o le lalolagi;
  • fa'apipi'i fa'amautu fa'atasi ma le filifiliga saini;
  • o se tautinoga malosi i semantic versioning ma faatumauina le fetaui i tua i le va o lomiga.

Ina ia ausia nei sini, o se elemene lona lua ua faʻaopoopoina i le Helm ecosystem. O lenei vaega fa'apipi'i sa ta'ua o Tiller ma sa nafa ma le fa'apipi'iina o siata Helm ma fa'afoeina.

Talu mai le tatalaina o le Helm 2 i le 2016, ua faʻaopoopoina e Kubernetes le tele o mea fou. Fa'aopoopoina le fa'atonuga o avanoa fa'atonu (RBAC), lea na iu ina suia le Attribute-Based Access Control (ABAC). O ituaiga punaoa fou na faʻafeiloaʻi (O loʻo i ai pea le faʻaogaina o le beta i lena taimi). Fa'auigaga Punaoa Fa'apitoa (muamua na ta'ua o Punaoa a Vaega Tolu po'o TPRs) na faia. Ma o le mea e sili ona taua, ua aliaʻe mai se seti o faiga sili.

I le lotolotoi o nei suiga uma, sa faaauau pea ona auauna atu Helm i tagata faaaoga Kubernetes ma le faamaoni. Ina ua mavae le tolu tausaga ma le tele o faʻaopoopoga fou, na manino lava ua oʻo i le taimi e faia ai suiga taua i le codebase e faʻamautinoa ai e mafai e Helm ona faʻaauau pea ona faʻafetaui manaoga faʻatupulaia o se faʻalapotopotoga faʻaleleia.

Ose faamavaega alofa ia Tiller

I le taimi o le atinaʻeina o Helm 2, na matou faʻalauiloaina Tiller o se vaega o la matou faʻatasi ma le Google's Deployment Manager. Na faia e Tiller se sao taua mo 'au o loʻo galulue i totonu o se fuifui masani: na faʻatagaina ai tagata tomai faʻapitoa e faʻaogaina le atinaʻe e fegalegaleai ma le seti tutusa o faʻasalalauga.

Talu ai na mafai ona fa'aogaina le pulea o avanoa (RBAC) e ala i le faaletonu i le Kubernetes 1.6, o le galulue ma Tiller i le gaosiga na atili faigata. Ona o le anoanoai o faiga faavae mo le puipuiga, o lo matou tulaga o le ofoina atu lea o se faatulagaga faatagaina e ala i le faaletonu. O lea na mafai ai e tagata fou ona fa'ata'ita'i ia Helm ma Kubernetes e aunoa ma le fa'aulu muamua i totonu o tulaga saogalemu. Ae paga lea, o lenei fa'atagaga fa'atagaga e mafai ona tu'uina atu i le tagata fa'aoga le lautele tele o fa'atagaga latou te le mana'omia. DevOps ma SRE inisinia e tatau ona aʻoaʻoina isi laasaga faʻagaioiga pe a faʻapipiʻi Tiller i totonu o le tele o tagata mautotogi.

Ina ua uma ona aʻoaʻoina pe faʻapefea ona faʻaogaina e le nuʻu Helm i tulaga faʻapitoa, na matou iloa ai e le manaʻomia e le Tiller's release management system ona faʻalagolago i se vaega i totonu-cluster e faʻamautu ai le setete poʻo le galue o se nofoaga tutotonu mo faʻamatalaga faʻamatalaga. Ae, e mafai ona matou mauaina faʻamatalaga mai le Kubernetes API server, faʻapipiʻi se siata i le itu o le kalani, ma teu se faʻamaumauga o le faʻapipiʻi i Kubernetes.

O le sini autu a Tiller e mafai ona ausia e aunoa ma Tiller, o lea o se tasi oa matou filifiliga muamua e uiga i Helm 3 o le lafoaia atoatoa o Tiller.

Faatasi ai ma Tiller ua alu, o le faʻataʻitaʻiga saogalemu a Helm ua matua faʻafaigofie. O lo'o lagolagoina nei e Helm 3 le saogalemu fa'aonaponei, fa'asinomaga, ma auala fa'atagaina a Kubernetes o iai nei. O fa'atagaga foeuli e fuafua e fa'aaoga kubeconfig faila. E mafai e le fa'alapotopotoga fa'apipi'i ona fa'atapula'aina aia tatau a tagata fa'aoga i so'o se tulaga fa'asili. O lo'o fa'asaoina pea fa'asalalauga i totonu o le fuifui, ma o lo'o tumau pea galuega a Helm.

Siata fale teu oloa

I se tulaga maualuga, o le siata faleteuoloa o se nofoaga e mafai ona teuina ma fefaasoaaʻi siata. E afifiina e le tagata o tausia Helm ma auina atu siata i le fale teu oloa. I se faaupuga faigofie, o se fale teu oloa o se HTTP server muamua ma se faila index.yaml ma nisi o siata afifi.

E ui o loʻo i ai ni faʻamanuiaga i le Charts Repository API e faʻafeiloaʻi ai le tele o mea e manaʻomia e teu ai, e iai foʻi ni nai faʻaletonu:

  • O fale teu siata e le fetaui ma le tele o faʻatinoga saogalemu e manaʻomia i se siosiomaga gaosiga. O le i ai o se API masani mo le faʻamaonia ma le faʻatagaina e matua taua tele i faʻaaliga o gaosiga.
  • O meafaigaluega fa'afuainumera siata a Helm, fa'aaoga e saini ai, fa'amaonia le sa'o ma le fa'amaoniga o se siata, o se vaega e filifili i le fa'agasologa o le fa'asalalauina o Siata.
  • I le tele o tagata faʻaoga faʻaaliga, o le siata tutusa e mafai ona faʻapipiʻiina e se isi tagata faʻaoga, faʻaluaina le aofaʻi o avanoa e manaʻomia e teu ai mea tutusa. O fale teu oloa atamai ua fausia e foia ai lenei faafitauli, ae e le o ni vaega o le faʻamatalaga aloaia.
  • O le fa'aaogaina o se faila fa'asinomaga e tasi mo le su'eina, teuina o metadata, ma le toe maua mai o siata ua faigata ai ona atia'e le fa'atinoina o le tele o tagata fa'aoga.

Проект Fa'asoa a Docker (faʻapitoa foi o le Docker Registry v2) o le sui o le Docker Registry ma e matua galue o se seti o meafaigaluega mo le afifiina, felauaiga, teuina ma le tuʻuina atu o ata Docker. Tele 'au'aunaga ao tetele e ofoina atu oloa fa'avae Fa'asoa. Faʻafetai i lenei faʻalauteleina o le gauai atu, o le Faʻasalalauga poloketi ua faʻamanuiaina mai tausaga o faʻaleleia atili, faʻataʻitaʻiga sili ona saogalemu, ma faʻataʻitaʻiga fanua ua avea ai ma se tasi o toa sili ona manuia e leʻi faʻaalia i le Open Source world.

Ae na e iloa o le Polokalama Faʻasalalauga na mamanuina e tufatufa atu soʻo se ituaiga o anotusi, ae le naʻo ata pusa?

Faafetai i taumafaiga Tatala Container Initiative (po'o le OCI), e mafai ona tu'u siata foeuli i so'o se fa'ata'ita'iga Fa'asoa. Mo le taimi nei, o lenei faiga e fa'ata'ita'i. Lagolago lagolago ma isi vaega e mana'omia mo se Helm 3 atoa o se galuega o lo'o fa'agasolo, ae matou te fiafia e a'oa'o mai mea na maua e le OCI ma le Vaega Fa'asoa i le tele o tausaga. Ma e ala i la latou faʻatonuga ma taʻiala, matou te aʻoaʻoina ai pe faʻafefea le faʻatinoina o se auaunaga e sili ona avanoa i le fua.

O lo'o maua se fa'amatalaga au'ili'ili o nisi suiga o lo'o lumana'i ile fale teu oloa siata Helm fesoʻotaʻiga.

Pulea tatala

I le Helm 3, o le tulaga o talosaga o loʻo siaki i totonu o le fuifui e se pea o mea faitino:

  • fa'amalolo mea - e fai ma sui o se fa'ata'ita'iga;
  • fa'asa'o fa'aliga faalilolilo - fa'atusa le tulaga mana'omia o le talosaga i se taimi fa'apitoa (mo se fa'ata'ita'iga, fa'asa'olotoina o se fa'amatalaga fou).

Lui helm install fa'atupuina se mea fa'asa'oloto ma fa'amatu'u fa'amatalaga faalilolilo. Valaau helm upgrade manaʻomia se mea faʻasaʻo (lea e mafai ona suia) ma fatuina se faʻasalalauga fou faʻalilolilo o loʻo i ai mea taua fou ma se faʻaaliga saunia.

Fa'asa'oloto mea o lo'o i ai fa'amatalaga e uiga i le fa'asa'olotoga, lea o le fa'amalolo o se fa'apipi'i fa'apitoa o se siata fa'aigoaina ma tau. O le mea lea e fa'amatala ai metadata pito i luga e uiga i le tatalaina. O le mea fa'amalolo e fa'aauau pea i le olaga atoa o le talosaga ma o ia e ana le fa'asalalauga fa'alilolilo uma, fa'apea fo'i mea uma e fa'atupu sa'o e le siata Helm.

Fa'asalalau fa'aliga fa'alilolilo fa'afeso'ota'i se fa'asa'olotoga ma se fa'asologa o toe iloiloga (fa'apipi'i, fa'afouga, toe fa'afo'i, tapeina).

I le Helm 2, o toe teuteuga sa matua tumau. Valaau helm install faia v1, o le faʻafouga mulimuli ane (faʻaleleia) - v2, ma isi. Fa'asa'oloto ma fa'amatu'u fa'aliga fa'alilolilo ua malepe i se mea e tasi e ta'ua o le toe iloiloga. O toe teuteuga na teuina i le igoa e tasi e pei o Tiller, o lona uiga o faʻasalalauga taʻitasi e "lalolagi" i tulaga o igoa avanoa; o se taunuuga, e na o le tasi le tulaga o le igoa e mafai ona faʻaaogaina.

I le Helm 3, o faʻasalalauga taʻitasi e fesoʻotaʻi ma se tasi pe sili atu mealilo faʻasalalauga. O le mea fa'amalolo e fa'amatala i taimi uma le fa'asalalauga o lo'o tu'uina atu i Kubernetes. O fa'aliga fa'alilolilo ta'itasi e fa'amatala na'o le tasi le fa'aaliga o lena fa'asalalauga. O se fa'afouga, mo se fa'ata'ita'iga, o le a faia ai se fa'aliga fou fa'alilolilo ona suia lea o le mea fa'amatu'u e fa'asino i lena fa'amatalaga fou. I le tulaga o le toe fa'afo'i, e mafai ona e fa'aogaina fa'alilolilo fa'asalalauga talu ai e toe fa'afo'i ai le fa'amatu'u i se tulaga muamua.

A mae'a ona tu'ulafoa'i Tiller, o lo'o fa'aputu e Helm 3 fa'amaumauga fa'amaumauga i le igoa e tasi e pei o le fa'asalalauga. O lenei suiga e mafai ai ona e faʻapipiʻi se siata faʻatasi ma le igoa tuʻufaʻatasia tutusa i se isi igoa avanoa, ma o faʻamaumauga e faʻasaoina i le va o faʻafouga faʻapipiʻi / toe faʻafouina i etcd. Mo se faʻataʻitaʻiga, e mafai ona e faʻapipiʻi le WordPress i le "foo" namespace ona sosoo ai lea ma le "bar" namespace, ma o faʻasalalauga uma e lua e mafai ona faaigoa "wordpress".

Suiga ile siata fa'alagolago

Fa'aputu siata (fa'aoga helm package) mo le faʻaaogaina ma le Helm 2 e mafai ona faʻapipiʻi i le Helm 3, peitaʻi ua maeʻa ona toe faʻaleleia le faʻaleleia o siata, o lea e tatau ai ona faia nisi suiga e faʻaauau ai le atinaʻeina o siata ma Helm 3. Aemaise lava, ua suia le faiga o le pulega o le faʻalagolago.

Ua see ese mai le faiga o pulega faalagolago o le siata requirements.yaml и requirements.lock i Chart.yaml и Chart.lock. O lona uiga o siata na faʻaaogaina le poloaiga helm dependency, mana'omia se seti e galue i le Helm 3.

Seʻi o tatou vaavaai i se faaaʻoaʻoga. Se'i o tatou fa'aopoopoina se fa'alagolago i le siata i le Helm 2 ma va'ai po'o le a se suiga pe a si'i atu i le Helm 3.

I le Helm 2 requirements.yaml e pei o lenei:

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

I le Helm 3, o le fa'alagolago lava e tasi o le a atagia i lau Chart.yaml:

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

O lo'o la'uina pea siata ma tu'u i totonu o le lisi charts/, fa'apea fo'i la'asaga (so'o siata), taoto i le lisi charts/, o le a faaauau pea ona galue e aunoa ma ni suiga.

Fa'ailoa Siata o Faletusi

O le Helm 3 e lagolagoina se vasega o siata e ta'ua o siata faletusi (siata faletusi). O lenei siata o loʻo faʻaogaina e isi siata, ae e le faʻatupuina e ia lava ni mea faʻapitoa. O fa'ata'ita'iga siata a le faletusi e mafai ona fa'ailoa na'o elemene define. O isi anotusi ua na ona le amanaiaina. O lenei mea e mafai ai e tagata faʻaoga ona toe faʻaoga ma faʻasoa faʻailoga snippet e mafai ona faʻaogaina i luga o le tele o siata, ma aloese ai mai le toe faʻaluaina ma le tausisia o le mataupu faavae. mago.

O siata o faletusi o loʻo faʻaalia i le vaega dependencies i faila Chart.yaml. O le faʻapipiʻiina ma le puleaina e leai se eseesega mai isi siata.

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

Matou te fiafia e uiga i tulaga faʻaoga o le a tatalaina e lenei vaega mo tagata atiaʻe siata, faʻapea foʻi ma faiga sili e mafai ona aliaʻe mai siata faletusi.

o sosoo ai le a?

Helm 3.0.0-alpha.1 o le faavae lea tatou te amata fausia ai se lomiga fou o Helm. I totonu o le tusiga na ou faʻamatalaina nisi o mea manaia o Helm 3. O le tele oi latou o loʻo i ai pea i le amataga o le atinaʻe ma e masani lava; O le uiga o le fa'asa'olotoga o le alpha o le su'eina lea o le manatu, fa'aputu fa'amatalaga mai tagata fa'aoga muamua, ma fa'amaonia o tatou manatu.

O le taimi lava e tatala ai le alpha version (manatua o le mea lea ua uma ona tupu - tusa. fa'aliliu.), o le a amata ona matou talia patch mo Helm 3 mai le alalafaga. E te manaʻomia le fausiaina o se faʻavae malosi e mafai ai ona atiaʻe ma faʻaaogaina galuega fou, ma mo tagata faʻaoga ia lagona le aʻafia i le faagasologa e ala i le tatalaina o tiketi ma faia ni faʻaleleia.

Sa ou taumafai e faʻailoa nisi o faʻaleleia atili o loʻo oʻo mai i le Helm 3, ae o lenei lisi e leʻo maeʻa. O le fa'afanua atoa mo Helm 3 e aofia ai fa'aaliga e pei o le fa'aleleia o ta'iala fa'afouga, loloto fa'atasi ma le OCI resitara, ma le fa'aogaina o JSON schemas e fa'amaonia ai siata fa'atatau. Matou te fuafua foi e faʻamamā le codebase ma faʻafouina vaega o loʻo le amanaʻia mo le tolu tausaga talu ai.

Afai e te lagona e pei ua matou misia se mea, matou te fiafia e faʻalogo i ou manatu!

Auai i le talanoaga i luga o la matou Auala fa'aletonu:

  • #helm-users mo fesili ma feso'ota'iga faigofie ma le nu'u;
  • #helm-dev e talanoaina talosaga toso, code ma bugs.

E mafai fo'i ona e talatalanoa i la matou Va'aiga Fa'atupu Fa'asalalau i vaiaso ta'i Aso Tofi ile 19:30 MSK. O fonotaga e fa'atatau i le talanoaina o mataupu o lo'o galulue ai le au atina'e autu ma le nu'u, fa'apea ma autu o talanoaga mo le vaiaso. Soo se tasi e mafai ona auai ma auai i le fonotaga. So'otaga maua ile Slack channel #helm-dev.

PS mai faaliliu

Faitau foi i la matou blog:

puna: www.habr.com

Faaopoopo i ai se faamatalaga