Te Whakataki Helm 3

Te Whakataki Helm 3

Tuhipoka. whakamaori.: Ko te 16 o Haratua o tenei tau he tohu nui mo te whanaketanga o te kaiwhakahaere kete mo Kubernetes - Helm. I tenei ra, ko te tuku alpha tuatahi o te putanga nui o te kaupapa a meake nei - 3.0 - i whakaatuhia. Ko tana tukunga ka kawe mai i nga huringa nui, kua roa e tatari ana ki a Helm, he nui te tumanako o te nuinga o te hapori Kubernetes. Ko matou ano tetahi o enei, na te mea ka kaha taatau ki te whakamahi i te Helm mo te tuku tono: kua whakauruhia e matou ki roto i ta maatau taputapu mo te whakatinana CI/CD werf a ia wa ia wa ka whai waahi matou ki te whanaketanga o te awa. Ko tenei whakamaoritanga e whakakotahi ana i nga korero 7 mai i te blog Helm whaimana, e whakatapua ana ki te tuku alpha tuatahi o Helm 3 me te korero mo te hitori o te kaupapa me nga ahuatanga matua o Helm 3. Ko ta ratou kaituhi ko Matt "bacongobbler" Fisher, he kaimahi Microsoft. me tetahi o nga kaitiaki matua o Helm.

I te Oketopa 15, 2015, i whanau te kaupapa e kiia nei ko Helm. He tau noa i muri mai i tana whakaturanga, i uru atu te hapori Helm ki a Kubernetes, i a ia e mahi kaha ana ki te Helm 2. I te Pipiri 2018, Helm i uru ki te CNCF hei kaupapa whakawhanake (incubating). He tere whakamua ki tenei wa, a kei te haere te tuku alpha tuatahi o te Helm 3 hou. (tenei tuku kua puta ke i waenganui o Mei - tata. whakawhiti.).

I roto i tenei waahanga, ka korero ahau mo te waahi i timata ai, te pehea i tae atu ai tatou ki te waahi kei reira tatou i tenei ra, ka whakauru i etahi o nga ahuatanga ahurei e waatea ana i te tukunga alpha tuatahi o Helm 3, me te whakamarama me pehea te whakamahere mo te ahu whakamua.

Whakarāpopototanga:

  • te hitori o te hanganga o Helm;
  • he poroporoaki aroha ki a Tiller;
  • putunga tūtohi;
  • whakahaere tuku;
  • huringa i roto i te whakawhirinaki tūtohi;
  • tūtohi whare pukapuka;
  • he aha te whai muri?

Ko te hitori o Helm

Whanautanga

I timata te Helm 1 hei kaupapa Open Source i hangaia e Deis. He timatanga iti matou horomia Microsoft i te puna 2017. Ko ta maatau kaupapa Open Source, ko Deis te ingoa, he taputapu deisctl, i whakamahia (i roto i era atu mea) ki te whakauru me te whakahaere i te papanga Deis i roto Huihui waka. I taua wa, ko Fleet tetahi o nga waahi tuatahi ki te whakahaere ipu.

I waenganui o 2015, i whakatau matou ki te huri i te akoranga ka nukuhia a Deis (i tera wa i whakaingoatia Deis Workflow) mai i Fleet ki Kubernetes. Ko tetahi o nga mea tuatahi i hangaia ano ko te taputapu whakauru. deisctl. I whakamahia e matou ki te whakauru me te whakahaere i te Rerenga Mahi a Deis i roto i te roopu Fleet.

Helm 1 i hangaia i runga i te ahua o nga kaiwhakahaere kete rongonui penei i a Homebrew, apt me yum. Ko tana whainga matua ko te whakangawari i nga mahi penei i te takai me te whakauru tono ki runga i nga Kubernetes. I whakauruhia te Helm i te tau 2015 i te hui KubeCon i San Francisco.

Ko ta matou nganatanga tuatahi ki a Helm i whai hua, engari ehara i te mea karekau he here nui. I tangohia e ia he huinga o nga whakaaturanga Kubernetes, he mea rongoa ki nga kaihanga hei poraka YAML whakataki (take-mua)*, ka utaina nga hua ki Kubernetes.

* Tuhipoka. whakamaori.: Mai i te putanga tuatahi o Helm, i whiriwhiria te wetereo YAML hei whakaahua i nga rauemi Kubernetes, ka tautokohia nga tauira a Jinja me nga tuhinga Python i te wa e tuhi ana i nga whirihoranga. I tuhia e matou etahi atu korero mo tenei me te hanganga o te putanga tuatahi o Helm i te nuinga o te upoko "He korero poto mo te Helm" tenei rauemi.

Hei tauira, hei whakakapi i tetahi mara i roto i te konae YAML, me taapiri e koe te hanga e whai ake nei ki te whakaaturanga:

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

He rawe kei te noho nga miihini tauira i enei ra, kaore?

He maha nga take, i hiahiatia e tenei kaiwhakaputa Kubernetes tuatahi he rarangi tohu-maatau o nga konae whakakitenga me te whakahaere i tetahi raupapa kaupapa iti, kua whakaritea. He tino uaua ki te whakamahi i raru ai te roopu R&D Deis Workflow i te wa i ngana ai ki te whakawhiti i a raatau hua ki tenei papaahi - heoi, kua ruia kee nga kakano o te whakaaro. Ko ta matou nganatanga tuatahi he huarahi ako nui: i mohio matou he tino ngakau nui matou ki te hanga taputapu pragmatic hei whakaoti rapanga o ia ra mo o matou kaiwhakamahi.

I runga i nga wheako o nga hapa o mua, i timata matou ki te whakawhanake i te Helm 2.

Hanga Helm 2

I te mutunga o te tau 2015, i whakapā mai te roopu Google ki a matou. I mahi ratou i tetahi taputapu rite mo Kubernetes. Ko te Kaiwhakahaere Tukunga mo Kubernetes he tauranga o te taputapu o naianei i whakamahia mo Google Cloud Platform. "E pai ana matou," ka ui ratou, "kia noho etahi ra ki te korerorero mo nga ahuatanga me nga rereketanga?"

I te Hanuere 2016, i hui nga kapa Helm and Deployment Manager ki Seattle ki te whakawhiti whakaaro. I mutu nga whiriwhiringa me te mahere whakahirahira: ki te whakakotahi i nga kaupapa e rua ki te hanga Helm 2. I te taha o Deis me Google, nga taangata mai i Pouaka Pouaka (inaianei he wahanga o Bitnami - tata ki te whakamaoritanga), a ka timata matou ki te mahi i te Helm 2.

I hiahia matou ki te pupuri i te ngawari o te whakamahi a Helm, engari taapirihia nga mea e whai ake nei:

  • tauira tūtohi mo te whakaritenga;
  • whakahaerenga-a-roto mo nga roopu;
  • putunga tūtohi o te ao;
  • hōputu mōkihi pūmau me te kōwhiringa waitohu;
  • he pono ki te whakaputanga oro me te pupuri hototahi whakamuri i waenga i nga putanga.

Hei whakatutuki i enei whainga, kua taapirihia he huānga tuarua ki te rauwiringa kaiao Helm. Ko tenei waahanga-roto i tapaina ko Tiller me te kawenga mo te whakauru i nga tūtohi Helm me te whakahaere.

Mai i te tukunga o Helm 2 i te tau 2016, kua taapirihia e Kubernetes etahi mahi hou. Kua taapirihia te mana uru-a-turanga (RBAC), i te mutunga ka whakakapi i te Mana Uru-a-Huanga (ABAC). I whakauruhia nga momo rauemi hou (Kei te beta tonu nga tono i tera wa). Ko nga Whakamaramatanga Rauemi Ritenga (i kiia tuatahi ko nga Rauemi Tuatoru, ko nga TPR ranei) i hangaia. A ko te mea nui, kua puta he huinga o nga mahi pai.

I roto i enei huringa katoa, i mahi pono a Helm ki nga kaiwhakamahi Kubernetes. Whai muri i nga tau e toru me te maha o nga taapiri hou, kua marama kua tae ki te waa ki te whakarereke i te turanga waehere kia taea ai e Helm te whakatutuki tonu i nga hiahia tipu o te puunaha rauwiringa kaiao.

He poroporoaki aroha ki a Tiller

I te wa o te whanaketanga o Helm 2, i whakauruhia e matou a Tiller hei waahanga o ta matou whakaurunga ki te Kaiwhakahaere Tukunga a Google. He mahi nui a Tiller mo nga roopu e mahi ana i roto i te roopu kotahi: i whakaaetia e ia nga tohunga rereke e whakahaere ana i nga hanganga ki te mahi tahi me nga momo whakaputanga.

I te mea ko te mana uru-a-turanga (RBAC) i whakahohea ma te taunoa i Kubernetes 1.6, ka uaua ake te mahi tahi me Tiller i roto i nga mahi whakangao. Na te maha o nga kaupapa here haumaru ka taea, ko ta matou tuunga ko te tuku whirihoranga whakaae ma te taunoa. Na tenei ka taea e nga tauhou te whakamatau me Helm me Kubernetes me te kore e ruku ki nga tautuhinga haumarutanga i te tuatahi. Kia aroha mai, ka taea e tenei whirihoranga whakaaetanga te whakawhiwhi ki te kaiwhakamahi ki te whanui rawa o nga momo whakaaetanga kaore i hiahiatia e ia. Me ako nga miihini DevOps me SRE i etahi atu waahanga whakahaere i te wa e whakauru ana i a Tiller ki roto i te roopu kairëti maha.

Whai muri i te ako me pehea te whakamahi a te hapori i a Helm i roto i nga ahuatanga motuhake, ka mohio matou kaore e tika kia whakawhirinaki te punaha whakahaere tuku a Tiller ki tetahi waahanga-a-roto ki te pupuri i te ahua me te mahi hei tari matua mo te tuku korero. Engari, ka taea noa e matou te whiwhi korero mai i te tūmau API Kubernetes, te whakaputa tūtohi ki te taha o te kiritaki, me te rokiroki i te rekoata o te whakaurunga ki Kubernetes.

Ko te whainga matua a Tiller ka taea ki te kore a Tiller, no reira ko tetahi o a maatau whakatau tuatahi mo te Helm 3 ko te whakarere rawa i a Tiller.

I te korenga o Tiller, kua tino ngawari te tauira haumarutanga a Helm. Kei te tautoko a Helm 3 i nga tikanga haumarutanga hou katoa, te tuakiri, me nga tikanga whakamana a nga Kubernetes o naianei. Ka whakatauhia nga whakaaetanga helm ma te whakamahi kubeconfig kōnae. Ka taea e nga kaiwhakahaere roopu te aukati i nga motika kaiwhakamahi ki tetahi taumata o te kirikiri. Kei te tiakina tonu nga tukunga i roto i te tautau, kei te mau tonu te toenga o nga mahi a Helm.

Whare putunga tūtohi

I te taumata teitei, ko te putunga tūtohi he waahi ka taea te penapena me te tiritahi. Ko te Kaihoko Helm he kohinga me te tuku i nga tūtohi ki te putunga. Me korero noa, ko te putunga tutohi he tūmau HTTP taketake me te konae index.yaml me etahi tūtohi kua taia.

Ahakoa he pai ake mo te Charts Repository API ki te whakatutuki i te nuinga o nga whakaritenga rokiroki, he iti ano nga ngoikoretanga:

  • Ko nga putunga tutohi kaore i te hototahi ki te nuinga o nga whakatinanatanga haumaru e hiahiatia ana i roto i te taiao whakaputa. He mea nui te whai API paerewa mo te whakamotuhēhēnga me te whakamanatanga i roto i nga ahuatanga whakaputa.
  • Ko nga taputapu take o te tūtohi a Helm, e whakamahia ana ki te haina, ki te manatoko i te pono me te takenga o te tūtohi, he waahanga whiriwhiri o te tukanga whakaputanga o te Tutohi.
  • I roto i nga ahuatanga maha-kaiwhakamahi, ka taea te tukuake te tūtohi kotahi e tetahi atu kaiwhakamahi, ka ruarua te nui o te mokowā e hiahiatia ana hei penapena i nga ihirangi kotahi. Kua whakawhanakehia nga putunga maamaa hei whakaoti i tenei raru, engari ehara i te waahanga o te whakatakotoranga okawa.
  • Ma te whakamahi i te konae taurangi kotahi mo te rapu, te penapena metadata, me te whakahoki mai i nga tūtohi he uaua ki te whakawhanake i nga whakatinanatanga maha-kaiwhakamahi haumaru.

Ko te kaupapa Tohahanga Docker (e mohiotia ana ano ko Docker Registry v2) ko te kai-riiwhi mo Docker Registry me te tino mahi hei huinga taputapu mo te kapi, te tuku, te penapena me te tuku whakaahua Docker. He maha nga ratonga kapua nui e tuku hua ana i runga i te tohatoha. He mihi ki tenei whakaaro nui ake, kua whai hua te kaupapa Tohatoha mai i nga tau o nga whakapainga ake, nga tikanga pai mo te haumarutanga, me nga whakamatautau mara na te mea ko tetahi o nga toa tino angitu o te ao Open Source.

Engari i mohio koe i hangaia te Kaupapa Toha ki te tohatoha i nga momo ihirangi, kaua ko nga whakaahua ipu noa?

Me mihi ki nga mahi Whakatuwhera Kaupapa Ipu (OCI ranei), ka taea te whakanoho i nga tūtohi Helm ki runga i tetahi tauira Tohaina. I tenei wa, he whakamatautau tenei tukanga. Ko te tautoko takiuru me etahi atu waahanga e hiahiatia ana mo te Helm 3 katoa he mahi kei te ahu whakamua, engari kei te harikoa matou ki te ako mai i nga kitenga i mahia e nga roopu OCI me te Tohatanga i roto i nga tau. Na roto i ta raatau tohutohu me te arahi, ka ako matou he aha te ahua o te whakahaere i tetahi ratonga e waatea ana i te rahi.

Kei te waatea te whakamaaramatanga mo etahi huringa e haere ake nei ki nga whare pupuri tūtohi Helm hono.

Whakahaere tuku

I te Helm 3, ka aruhia te ahua o te tono i roto i te tautau e nga mea takirua:

  • ahanoa tuku - he tohu tono;
  • te putanga ngaro - he tohu i te ahua e hiahiatia ana o te tono i tetahi wa motuhake (hei tauira, te tukunga o te putanga hou).

Te Challenge helm install ka hangaia he ahanoa tuku me te whakaputa ngaro putanga. Karanga helm upgrade ka hiahiatia he ahanoa tuku (ka taea te huri) ka hanga i tetahi mea ngaro putanga hou kei roto nga uara hou me te whakaaturanga kua rite.

Ko te ahanoa tuku he korero mo te tukunga, kei reira te tukunga he whakaurunga motuhake o te tūtohi ingoa me nga uara. Ko tenei ahanoa e whakaatu ana i nga metadata taumata-runga mo te tukunga. Ka mau tonu te ahanoa tuku puta noa i te huringa ora o te tono, a, ko ia te rangatira o nga mea ngaro putanga katoa, tae atu ki nga mea katoa i hangaia tika e te tūtohi Helm.

Ko te putanga ngaro e hono ana i te tukunga me te raupapa o nga whakahoutanga (te whakaurunga, te whakahou, te huri whakamuri, te mukunga).

I te Helm 2, i tino rite tonu nga whakahoutanga. Karanga helm install i hanga v1, te whakahou i muri mai (whakahou) - v2, me etahi atu. Ko te tuku me te whakaputanga mea ngaro kua tiango ki roto i tetahi mea e mohiotia ana ko te whakahou. I penapena nga whakahoutanga ki te mokowāingoa rite ki a Tiller, ko te tikanga ko ia tukunga he "ao" mo te mokowā ingoa; na reira, kotahi anake te tauira o te ingoa ka taea te whakamahi.

I roto i te Helm 3, ko ia tukunga e hono ana ki tetahi, neke atu ranei o nga mea ngaro putanga. Ko te ahanoa tuku e whakaatu ana i te tukunga o naianei kua tukuna ki a Kubernetes. Ko ia putanga ngaro e whakaatu ana i tetahi putanga o taua tukunga. Ko te whakamohoatanga, hei tauira, ka hanga i tetahi mea ngaro putanga hou ka huri i te ahanoa tuku hei tohu ki tera putanga hou. Mena ka hoki whakamuri, ka taea e koe te whakamahi i nga mea ngaro o te putanga tukunga o mua ki te whakahoki i te tukunga ki te ahua o mua.

Whai muri i te whakarerenga o Tiller, ka penapenahia e Helm 3 nga raraunga tuku i roto i te mokowāingoa rite ki te tukunga. Ma tenei huringa ka taea e koe te whakauru i tetahi tūtohi me te ingoa tuku kotahi ki tetahi mokowāingoa rereke, ka tiakina nga raraunga i waenga i nga whakahōutanga / reboots i roto i te etcd. Hei tauira, ka taea e koe te whakauru i te WordPress ki te mokowāingoa "foo" katahi ka ki te mokowāingoa "pae", ka taea te whakaingoa i nga putanga e rua "wordpress".

Nga huringa ki nga whakawhirinakitanga tūtohi

Kua whakakīa ngā tūtohi (ma te whakamahi helm package) mo te whakamahi me te Helm 2 ka taea te whakauru ki te Helm 3, heoi kua tino whakatikatikahia te rerenga mahi whanaketanga tūtohi, no reira me mahi etahi huringa kia haere tonu te whanaketanga tūtohi me te Helm 3. Ina koa, kua rereke te punaha whakahaere whakawhirinaki.

Kua neke te punaha whakahaere whakawhirinaki o te tūtohi requirements.yaml и requirements.lock i runga i Chart.yaml и Chart.lock. Ko te tikanga ko nga tūtohi i whakamahi i te whakahau helm dependency, me hiahia etahi tatūnga kia mahi i te Helm 3.

Ka titiro tatou ki tetahi tauira. Me taapiri he ti'aturi ki te tūtohi i te Reera 2 ka kite he aha nga huringa ina neke ki te Reera 3.

Kei Helm 2 requirements.yaml penei te ahua:

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

I roto i te Helm 3, ka kitea taua ti'aturi i roto i to Chart.yaml:

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

Kei te tikiake tonu nga tūtohi ka whakanohoia ki roto i te whaiaronga charts/, na tutohi iti (tutohiroto), e takoto ana i roto i te pukapuka charts/, ka mahi tonu kaore he huringa.

Te Whakataki i nga Tutohi Whare Pukapuka

E tautoko ana te Helm 3 i te akomanga o nga tūtohi e kiia nei ko nga mahere pukapuka (tutohi whare pukapuka). Ka whakamahia tenei tūtohi e etahi atu tūtohi, engari karekau he hanga toi tuku noa. Ka taea e nga tauira tūtohi whare pukapuka te whakaatu huānga anake define. Ko etahi atu ihirangi ka warewarehia. Ma tenei ka taea e nga kaiwhakamahi te whakamahi ano me te tiri i nga waahanga waehere ka taea te whakamahi puta noa i nga tūtohi maha, na reira ka karo i te taarua me te piri ki te kaupapa maroke.

Ka whakapuakihia nga mahere whare pukapuka ki te waahanga dependencies i roto i te kōnae Chart.yaml. Ko te whakauru me te whakahaere i a raatau kaore he rereke mai i etahi atu tūtohi.

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

Kei te harikoa matou mo nga keehi whakamahi ka whakatuwherahia e tenei waahanga mo nga kaiwhakawhanake tūtohi, me nga tikanga pai ka puta mai i nga mahere whare pukapuka.

He aha te i muri?

Ko te Helm 3.0.0-alpha.1 te turanga i timata ai tatou ki te hanga i tetahi putanga hou o Helm. I roto i te tuhinga i whakaahuahia e au etahi ahuatanga whakamere o Helm 3. Ko te nuinga o ratou kei te timatanga tonu o te whakawhanaketanga, he mea noa tenei; Ko te kaupapa o te tuku alpha he whakamatautau i te whakaaro, kohikohi urupare mai i nga kaiwhakamahi o mua, me te whakau i o maatau whakaaro.

Ka tukuna te putanga alpha (mahara ko tenei kua tupu kē — āhua. whakawhiti.), ka timata matou ki te tango i nga papanga mo te Helm 3 mai i te hapori. Me hanga e koe he turanga kaha e taea ai te whakawhanake me te tango i nga mahi hou, kia whai waahi nga kaiwhakamahi ki te mahi ma te whakatuwhera i nga tikiti me te whakatika.

I ngana ahau ki te whakanui i etahi o nga whakapainga nui e haere mai ana ki te Helm 3, engari ko tenei rarangi karekau rawa i pau. Kei roto i te mahere huarahi katoa mo Helm 3 nga ahuatanga penei i nga rautaki whakahou pai ake, te whakauru hohonu ki nga rehita OCI, me te whakamahi i nga kaupapa JSON hei whakamana i nga uara tūtohi. Ka whakamahere ano matou ki te horoi i te turanga waehere me te whakahou i nga waahanga kua warewarehia mo nga tau e toru kua hipa.

Mena ka whakaaro koe kua ngaro tetahi mea, ka pai matou ki te whakarongo ki o whakaaro!

Hono mai ki te korerorero i runga i ta maatau Nga hongere mangere:

  • #helm-users mo nga paatai ​​​​me nga korero ngawari ki te hapori;
  • #helm-dev ki te matapaki i nga tono toia, te waehere me nga pepeha.

Ka taea hoki e koe te korerorero i roto i a maatau Waea Whakawhanake Tumatanui ia wiki i nga Taite i te 19:30 MSK. Ka whakatapua nga hui ki te matapaki i nga take e mahia ana e nga kaihanga matua me te hapori, me nga kaupapa korero mo te wiki. Ka taea e te tangata te uru mai me te whai waahi ki te hui. Kei te waatea te hono i te hongere Slack #helm-dev.

PS mai i te kaiwhakamaori

Pānuihia hoki i runga i ta maatau blog:

Source: will.com

Tāpiri i te kōrero