Nco tseg. txhais.: Lub Tsib Hlis 16 ntawm lub xyoo no yog lub sijhawm tseem ceeb hauv kev txhim kho tus neeg saib xyuas pob rau Kubernetes - Helm. Hnub no, thawj alpha tso tawm yav tom ntej loj version ntawm qhov project - 3.0 - tau nthuav tawm. Nws tso tawm yuav ua rau muaj kev hloov pauv tseem ceeb thiab tos ntev rau Helm, uas ntau hauv Kubernetes zej zog muaj kev cia siab siab. Peb tus kheej yog ib tug ntawm cov no, txij li thaum peb nquag siv Helm rau daim ntawv thov xa mus: peb tau muab tso rau hauv peb cov cuab yeej siv CI / CD. werf thiab qee lub sij hawm peb ua peb txoj kev koom tes rau txoj kev loj hlob ntawm cov dej ntws. Qhov kev txhais lus no suav nrog 7 cov ntawv sau los ntawm lub official Helm blog, uas tau mob siab rau thawj alpha tso tawm Helm 3 thiab tham txog keeb kwm ntawm txoj haujlwm thiab cov yam ntxwv tseem ceeb ntawm Helm 3. Lawv tus sau yog Matt βbacongobblerβ Fisher, tus neeg ua haujlwm Microsoft thiab yog ib tus neeg saib xyuas tseem ceeb ntawm Helm.
Lub Kaum Hli 15, 2015, qhov project tam sim no hu ua Helm yug. Tsuas yog ib xyoos tom qab nws tsim, Helm zej zog koom nrog Kubernetes, thaum ua haujlwm ntawm Helm 2. Thaum Lub Rau Hli 2018, Helm koom nrog CNCF raws li ib tug tsim (incubating) project. Ceev nrooj mus rau tam sim no, thiab thawj alpha tso tawm ntawm Helm 3 tshiab yog nyob rau hauv nws txoj kev. (qhov kev tso tawm no twb coj qhov chaw nyob rau hauv nruab nrab lub Tsib Hlis - approx. txhais.).
Nyob rau hauv daim ntawv no, kuv mam li tham txog qhov twg txhua yam pib, peb tau mus rau qhov twg peb nyob niaj hnub no, qhia txog qee qhov tshwj xeeb muaj nyob rau hauv thawj alpha tso tawm Helm 3, thiab piav qhia seb peb npaj mus rau tom ntej.
Ntsiab lus:
keeb kwm ntawm kev tsim Helm;
kev sib tw farewell rau Tiller;
daim ntawv repositories;
kev tswj kev tso tawm;
cov kev hloov hauv daim duab dependencies;
cov ntaub ntawv hauv tsev qiv ntawv;
tom ntej no yog dab tsi?
Keeb kwm ntawm Helm
Yug
Helm 1 tau pib ua qhov Open Source project tsim los ntawm Deis. Peb yog ib tug me me pib nqus tau Microsoft lub caij nplooj ntoos hlav 2017. Peb lwm qhov Open Source project, tseem hu ua Deis, muaj lub cuab yeej deisctl, uas tau siv (nrog rau lwm yam) rau nruab thiab ua haujlwm Deis platform hauv Fleet pawg. Thaum lub sij hawm, Fleet yog ib qho ntawm thawj lub thawv orchestration platforms.
Nyob rau hauv nruab nrab-2015, peb txiav txim siab hloov cov chav kawm thiab tsiv Deis (thaum lub sij hawm renamed Deis Workflow) los ntawm Fleet rau Kubernetes. Ib qho ntawm thawj qhov yuav tsum tau kho dua tshiab yog lub cuab yeej installation. deisctl. Peb siv nws los nruab thiab tswj Deis Workflow hauv Fleet pawg.
Helm 1 tau tsim nyob rau hauv cov duab ntawm nto moo pob thawj tswj xws li Homebrew, apt thiab yum. Nws lub hom phiaj tseem ceeb yog ua kom yooj yim cov hauj lwm xws li ntim thiab txhim kho cov ntawv thov ntawm Kubernetes. Helm tau raug tshaj tawm hauv 2015 ntawm KubeCon lub rooj sib tham hauv San Francisco.
kev cog lus muaj zog rau semantic versioning thiab tswj rov qab compatibility ntawm versions.
Txhawm rau ua tiav cov hom phiaj no, ib qho thib ob tau ntxiv rau Helm ecosystem. Qhov kev sib koom ua ke no tau hu ua Tiller thiab yog lub luag haujlwm rau kev txhim kho Helm kab kos thiab tswj lawv.
Txij li thaum tso tawm Helm 2 hauv 2016, Kubernetes tau ntxiv ntau qhov kev hloov kho tshiab. Ntxiv lub luag hauj lwm raws li kev nkag mus tswj (RBAC), uas thaum kawg hloov Attribute-Based Access Control (ABAC). Cov peev txheej tshiab tau tshaj tawm (Kev xa tawm tseem nyob hauv beta thaum lub sijhawm). Cov Lus Txhais Kev Cai Lij Choj (keeb kwm hu ua Thib Peb Cov Kev Pabcuam lossis TPRs) tau tsim. Thiab qhov tseem ceeb tshaj plaws, cov txheej txheem kev coj ua zoo tshaj plaws tau tshwm sim.
Ntawm tag nrho cov kev hloov pauv no, Helm txuas ntxiv ua haujlwm rau Kubernetes cov neeg siv ncaj ncees. Tom qab peb xyoos thiab ntau qhov kev ntxiv tshiab, nws tau pom tseeb tias nws yog lub sijhawm los hloov pauv tseem ceeb rau lub codebase kom ntseeg tau tias Helm tuaj yeem ua tau raws li cov kev xav tau ntawm kev loj hlob ntawm ecosystem.
Kev sib tw farewell rau Tiller
Thaum lub sij hawm kev txhim kho ntawm Helm 2, peb tau qhia Tiller ua ib feem ntawm peb kev koom ua ke nrog Google Tus Thawj Tswj Kev Ua Haujlwm. Tiller tau ua lub luag haujlwm tseem ceeb rau cov pab pawg ua haujlwm hauv ib pawg: nws tso cai rau cov kws tshaj lij sib txawv ua haujlwm hauv kev tsim kho vaj tse los cuam tshuam nrog tib cov kev tshaj tawm.
Txij li thaum lub luag haujlwm-raws li kev tswj hwm (RBAC) tau qhib los ntawm lub neej ntawd hauv Kubernetes 1.6, ua haujlwm nrog Tiller hauv kev tsim khoom tau nyuaj dua. Vim muaj ntau yam ntawm txoj cai kev ruaj ntseg, peb txoj haujlwm tau muab kev tso cai los ntawm lub neej ntawd. Qhov no tso cai rau cov neeg tshiab sim nrog Helm thiab Kubernetes yam tsis tas yuav tsum dhia mus rau hauv kev ruaj ntseg ua ntej. Hmoov tsis zoo, qhov kev tso cai no tuaj yeem tso cai rau tus neeg siv nrog ntau qhov kev tso cai ntau dhau uas lawv tsis xav tau. DevOps thiab SRE engineers yuav tsum kawm cov kauj ruam ua haujlwm ntxiv thaum txhim kho Tiller hauv ntau pawg neeg xauj tsev.
Tom qab kawm paub yuav ua li cas cov zej zog siv Helm hauv cov xwm txheej tshwj xeeb, peb pom tau tias Tiller qhov kev tso tawm kev tswj hwm tsis tas yuav tsum tau cia siab rau kev sib koom ua ke los tuav lub xeev lossis ua haujlwm ua lub hauv paus rau kev tshaj tawm cov ntaub ntawv. Hloov chaw, peb tsuas tuaj yeem tau txais cov ntaub ntawv los ntawm Kubernetes API server, tsim ib daim ntawv qhia ntawm tus neeg siv khoom, thiab khaws cov ntaub ntawv ntawm kev teeb tsa hauv Kubernetes.
Tiller lub hom phiaj tseem ceeb tuaj yeem ua tiav yam tsis muaj Tiller, yog li ib qho ntawm peb thawj qhov kev txiav txim siab txog Helm 3 yog kom tso tseg Tiller tag nrho.
Nrog Tiller ploj mus, Helm tus qauv kev ruaj ntseg tau ua kom yooj yim. Helm 3 tam sim no txhawb nqa tag nrho cov kev ruaj ntseg niaj hnub no, tus kheej, thiab kev tso cai ntawm Kubernetes tam sim no. Kev tso cai Helm raug txiav txim siv kubeconfig file. Cov thawj coj hauv pawg tuaj yeem txwv cov neeg siv txoj cai rau txhua qib ntawm granularity. Kev tso tawm tseem tau txais kev cawmdim nyob rau hauv pawg, thiab tus so ntawm Helm lub functionality tseem nyob twj ywm.
Daim duab repositories
Nyob rau theem siab, daim ntawv teev cia yog qhov chaw uas cov kab kos tuaj yeem khaws cia thiab sib koom. Cov neeg siv Helm tau ntim khoom thiab xa cov kab kos mus rau qhov chaw cia khoom. Cias muab tso, cov kab kos chaw khaws cia yog qhov qub HTTP server nrog cov ntaub ntawv index.yaml thiab qee cov kab kos.
Txawm hais tias muaj qee qhov zoo rau Charts Repository API ua tau raws li qhov yuav tsum tau ua hauv kev khaws cia, tseem muaj qee qhov tsis zoo:
Daim duab repositories tsis sib haum nrog feem ntau kev ruaj ntseg siv yuav tsum tau nyob rau hauv ib puag ncig ntau lawm. Muaj tus qauv API rau kev lees paub thiab kev tso cai yog qhov tseem ceeb heev hauv cov xwm txheej tsim khoom.
Hauv ntau tus neeg siv cov xwm txheej, tib daim ntawv tuaj yeem rub tawm los ntawm lwm tus neeg siv, ua ob npaug ntawm qhov chaw xav tau los khaws tib cov ntsiab lus. Smarter repositories tau tsim los daws qhov teeb meem no, tab sis lawv tsis yog ib feem ntawm cov lus qhia tshwj xeeb.
Hauv Helm 2, kev hloov kho tau zoo ib yam. Hu rau helm install tsim v1, qhov hloov tshiab tom ntej (hloov kho) - v2, thiab lwm yam. Tso tawm thiab tso tawm version zais cia tau tawg rau hauv ib qho khoom hu ua kev kho dua tshiab. Kev kho dua tshiab tau muab khaws cia rau hauv tib lub npe raws li Tiller, uas txhais tau hais tias txhua qhov kev tso tawm yog "ntiaj teb" nyob rau hauv cov nqe lus ntawm namespace; Yog li ntawd, tsuas yog ib qho piv txwv ntawm lub npe siv tau.
Hauv Helm 3, txhua qhov kev tso tawm yog txuam nrog ib lossis ntau qhov kev tso tawm cov lus zais. Cov khoom tso tawm ib txwm piav qhia txog kev tso tawm tam sim no xa mus rau Kubernetes. Txhua qhov kev tso tawm version zais cia piav qhia tsuas yog ib qho ntawm qhov kev tso tawm. Ib qho kev hloov kho dua tshiab, piv txwv li, yuav tsim qhov kev tso tawm tshiab tsis pub leej twg paub thiab tom qab ntawd hloov cov khoom tso tawm los taw tes rau qhov tshiab version. Nyob rau hauv rooj plaub ntawm rollback, koj tuaj yeem siv yav dhau los tso tawm version secrets los yob rov qab qhov kev tso tawm mus rau lub xeev dhau los.
Tom qab Tiller raug tso tseg, Helm 3 khw muag khoom tso tawm cov ntaub ntawv hauv tib lub npe raws li qhov kev tso tawm. Qhov kev hloov pauv no tso cai rau koj los nruab ib daim duab nrog tib lub npe tso tawm hauv qhov chaw sib txawv, thiab cov ntaub ntawv tau txais kev cawmdim ntawm pawg tshiab / reboots hauv lwm yam. Piv txwv li, koj tuaj yeem nruab WordPress hauv "foo" namespace thiab tom qab ntawd hauv "bar" namespace, thiab ob qho kev tshaj tawm tuaj yeem hu ua "wordpress".
Cov kev hloov pauv rau daim duab dependencies
Cov kab ntawv ntim khoom (siv helm package) rau kev siv nrog Helm 2 tuaj yeem ntsia tau nrog Helm 3, txawm li cas los xij daim duab qhia kev txhim kho kev ua haujlwm tau raug kho dua tshiab, yog li qee qhov kev hloov pauv yuav tsum tau ua kom txuas ntxiv daim ntawv txhim kho nrog Helm 3. Tshwj xeeb, daim ntawv qhia kev vam khom kev tswj hwm tau hloov pauv.
Daim ntawv qhia txog kev tswj hwm kev vam meej tau txav los ntawm requirements.yaml ΠΈ requirements.lock rau Chart.yaml ΠΈ Chart.lock. Qhov no txhais tau tias cov kab kos uas siv cov lus txib helm dependency, xav tau qee qhov teeb tsa ua haujlwm hauv Helm 3.
Thaum lub alpha version tso tawm (Nco ntsoov tias qhov no yog xa ua - kwv yees. txhais.), peb yuav pib txais thaj ua rau thaj rau Helm 3 los ntawm cov zej zog. Koj yuav tsum tsim kom muaj lub hauv paus muaj zog uas tso cai rau kev ua haujlwm tshiab los tsim thiab siv, thiab rau cov neeg siv kom muaj kev koom tes hauv cov txheej txheem los ntawm kev qhib daim pib thiab kho.
Kuv tau sim qhia txog qee qhov kev txhim kho loj tuaj rau Helm 3, tab sis daim ntawv teev npe no tsis yog tag nrho. Daim ntawv qhia tag nrho rau Helm 3 suav nrog cov yam ntxwv xws li kev txhim kho cov tswv yim hloov tshiab, kev sib sib zog nqus nrog OCI cov npe, thiab kev siv JSON schemas kom siv tau cov txiaj ntsig ntawm daim ntawv. Peb kuj npaj los ntxuav cov codebase thiab hloov kho qhov chaw ntawm nws uas tau tsis saib xyuas rau peb lub xyoos dhau los.