Kuv lub npe yog Dmitry Sugrobov, Kuv yog tus tsim tawm ntawm Leroy Merlin. Hauv tsab xov xwm no kuv yuav qhia koj tias vim li cas Helm xav tau, nws ua haujlwm yooj yim li cas nrog Kubernetes, dab tsi tau hloov pauv hauv peb version, thiab yuav siv nws li cas los hloov kho cov ntawv thov hauv kev tsim khoom yam tsis muaj sijhawm poob.
muab cov qauv tso rau hauv qhov chaw cia khoom tej thaj chaw deb thiab ntxiv qhov txuas mus rau qhov chaw cia khoom hauv Helm tus neeg siv khoom.
Koj kuj xav tau cov ntaub ntawv nrog qhov tseem ceeb - values.yaml. Cov ntaub ntawv los ntawm muaj yuav muab tso rau hauv lub template. Cia peb tsim thiab.
Qhov thib ob version ntawm Helm muaj ib daim ntawv thov neeg rau zaub mov ntxiv - Tiller. Nws dai sab nraum Kubernetes thiab tos rau kev thov los ntawm Helm tus neeg siv khoom, thiab thaum hu, hloov cov nqi tsim nyog rau hauv tus qauv thiab xa mus rau Kubernetes.
Helm 3 yog qhov yooj yim dua: es tsis txhob ua cov qauv ntawm lub server, cov ntaub ntawv tam sim no tau ua tiav tag nrho ntawm Helm tus neeg siv khoom thiab xa ncaj qha mus rau Kubernetes API. Qhov kev ua kom yooj yim no txhim kho pawg kev ruaj ntseg thiab ua kom yooj yim rau cov txheej txheem tawm.
Nws ua haujlwm li cas
Khiav cov lus txib helm install. Cia peb qhia lub npe ntawm daim ntawv thov tso tawm thiab muab txoj hauv kev rau values.yaml. Thaum kawg peb yuav qhia qhov chaw khaws cia uas daim ntawv qhia nyob thiab lub npe ntawm daim duab. Hauv qhov piv txwv, cov no yog "lmru" thiab "bestchart", feem.
Lub sijhawm no hauv zaj dab neeg, Kuv tab tom ua si Leej Twg Xav Ua Ib Tug Neeg Muaj Peev Xwm nrog cov neeg tuaj saib, thiab peb tab tom nrhiav seb yuav ua li cas thiaj li tau txais Helm hloov kho lub version ntawm lub app. Saib cov yees duab.
Thaum kuv tab tom kawm txog Helm ua haujlwm li cas, Kuv xav tsis thoob los ntawm tus cwj pwm coj txawv txawv thaum sim hloov kho cov ntawv sau ua haujlwm. Kuv tau hloov kho daim ntawv thov code, muab cov duab tshiab rau Docker npe, xa cov lus txib xa mus - thiab tsis muaj dab tsi tshwm sim. Hauv qab no yog qee txoj hauv kev tsis ua tiav tag nrho los hloov kho cov ntawv thov. Los ntawm kev kawm txhua tus ntawm lawv kom ntxaws ntxiv, koj pib nkag siab txog cov qauv sab hauv ntawm cov cuab yeej thiab cov laj thawj rau qhov tsis pom tseeb tus cwj pwm.
Txoj Kev 1. Tsis txhob hloov cov ntaub ntawv txij li lub sijhawm tso tawm kawg
Raws li cov lus hais mus official website Helm, "Cov kab kos Kubernetes tuaj yeem loj thiab nyuaj, yog li Helm sim tsis txhob kov dab tsi ntau dhau." Yog li ntawd, yog tias koj hloov kho qhov tseeb version ntawm daim ntawv thov duab hauv docker npe thiab khiav cov lus txib helm upgrade, ces tsis muaj dab tsi yuav tshwm sim. Helm yuav xav tias tsis muaj dab tsi hloov pauv thiab tsis tas yuav xa cov lus txib mus rau Kubernetes hloov kho daim ntawv thov.
Ntawm no thiab hauv qab no, qhov tseeb tag yog qhia tsuas yog ua piv txwv. Thaum koj qhia meej qhov cim npe no, Kubernetes yuav rub tawm cov duab los ntawm docker npe txhua lub sijhawm, tsis hais txog ntawm imagePullPolicy parameter. Kev siv qhov tseeb hauv kev tsim khoom yog qhov tsis xav tau thiab ua rau muaj kev phiv.
Txoj Kev 2. Hloov LABEL hauv daim duab
Raws li sau nyob rau hauv tib yam cov ntaub ntawv, "Helm tsuas yog hloov kho daim ntawv thov yog tias nws tau hloov txij li qhov kev tso tawm kawg." Ib qho kev xaiv zoo rau qhov no yuav zoo li hloov kho LABEL hauv daim duab docker nws tus kheej. Txawm li cas los xij, Helm tsis saib rau hauv daim ntawv thov cov duab thiab tsis muaj lub tswv yim txog kev hloov pauv rau lawv. Raws li, thaum hloov kho cov ntawv sau hauv daim duab, Helm yuav tsis paub txog lawv, thiab daim ntawv thov hloov tshiab yuav tsis raug xa mus rau Kubernetes.
Txoj Kev 3: Siv tus yuam sij --force
Cia peb tig mus rau phau ntawv qhia thiab nrhiav tus yuam sij xav tau. Tus yuam sij ua rau qhov kev txiav txim siab tshaj plaws --force. Txawm hais tias lub npe pom tseeb, tus cwj pwm txawv ntawm qhov xav tau. Es tsis txhob yuam kev hloov kho daim ntawv thov, nws lub hom phiaj tiag tiag yog los kho qhov kev tso tawm uas nyob rau hauv FAILED xwm txheej. Yog tias koj tsis siv tus yuam sij no, koj yuav tsum tau ua cov lus txib ua ntu zus helm delete && helm install --replace. Nws raug nquahu kom siv tus yuam sij hloov --force, uas automates qhov kev ua tiav ntawm cov lus txib no. Xav paub ntau ntxiv hauv qhov no rub thov. Txhawm rau qhia Helm hloov kho daim ntawv thov version, hmoov tsis, tus yuam sij no yuav tsis ua haujlwm.
Hloov kho daim ntawv lo ncaj qha hauv pawg siv cov lus txib kubectl edit - tswv yim phem. Qhov kev txiav txim no yuav ua rau tsis sib xws ntawm cov ntaub ntawv ntawm cov ntawv thov khiav thiab ib qho uas tau xa tuaj rau kev xa tawm. Tus cwj pwm ntawm Helm thaum xa mus rau qhov no txawv ntawm nws cov version: Helm 2 yuav tsis ua dab tsi, thiab Helm 3 yuav xa cov ntawv tshiab ntawm daim ntawv thov. Yuav kom nkag siab tias yog vim li cas, koj yuav tsum nkag siab tias Helm ua haujlwm li cas.
Helm ua haujlwm li cas?
Txhawm rau txiav txim siab tias daim ntawv thov tau hloov pauv txij li qhov kev tso tawm kawg, Helm tuaj yeem siv:
khiav daim ntawv thov hauv Kubernetes;
tshiab values.yaml thiab daim ntawv tam sim no;
Helm cov ntaub ntawv tso tawm sab hauv.
Rau qhov xav paub ntxiv: Helm khaws cov ntaub ntawv sab hauv ntawm qhov twg?Los ntawm kev ua tiav cov lus txib helm history, peb yuav tau txais tag nrho cov ntaub ntawv hais txog cov versions ntsia siv Helm.
Kuj tseem muaj cov ncauj lus kom ntxaws txog cov qauv xa thiab cov nqi. Peb tuaj yeem thov nws:
Hauv qhov thib ob version ntawm Helm, cov ntaub ntawv no nyob hauv tib lub npe qhov chaw uas Tiller tab tom khiav (kube-system los ntawm lub neej ntawd), hauv ConfigMap, cim nrog daim ntawv lo "OWNER = TILLER":
Thaum lub thib peb version ntawm Helm tshwm sim, cov ntaub ntawv tsiv mus rau secrets, thiab mus rau tib lub npe qhov chaw uas daim ntawv thov tau khiav. Ua tsaug rau qhov no, nws tau dhau los ua tau los khiav ntau daim ntawv thov ib txhij hauv cov npe sib txawv nrog tib lub npe tso tawm. Nyob rau hauv lub thib ob version nws yog mob taub hau loj thaum namespaces cais tab sis muaj peev xwm cuam tshuam ib leeg.
Thib ob Helm, thaum sim nkag siab seb puas yuav tsum tau hloov tshiab, tsuas yog siv ob qhov chaw ntawm cov ntaub ntawv: dab tsi tau muab rau nws tam sim no, thiab cov ntaub ntawv sab hauv hais txog kev tso tawm, uas nyob hauv ConfigMap.
Thib peb Helm siv peb txoj kev sib koom ua ke: ntxiv rau cov ntaub ntawv ntawd, nws kuj tseem siv rau hauv daim ntawv thov uas tab tom khiav tam sim no hauv Kubernetes.
Vim li no, Helm version qub yuav tsis ua dab tsi, vim nws tsis suav nrog cov ntaub ntawv thov hauv pawg, tab sis Helm 3 yuav tau txais cov kev hloov pauv thiab xa daim ntawv thov tshiab rau kev xa tawm.
Txoj kev 5. Siv cov --recreate-pods hloov
Nrog tus yuam sij --recreate-pods koj tuaj yeem ua tiav qhov koj tau npaj ua ntej kom ua tiav nrog tus yuam sij --force. Cov thawv ntim yuav rov pib dua thiab, raws li cov duabPullPolicy: Ib txwm txoj cai rau cov cim tshiab (ntxiv rau qhov no hauv cov lus hauv qab no saum toj no), Kubernetes yuav rub tawm thiab tso tawm cov duab tshiab. Qhov no yuav tsis ua rau qhov zoo tshaj plaws: yam tsis tau suav nrog StrategyType ntawm kev xa tawm, nws yuav sai sai tshem tawm tag nrho cov ntawv thov qub thiab pib tawm cov tshiab. Thaum lub sijhawm rov pib dua, lub kaw lus yuav tsis ua haujlwm, cov neeg siv yuav raug kev txom nyem.
Hauv Kubernetes nws tus kheej, qhov teeb meem zoo sib xws kuj muaj nyob rau lub sijhawm ntev. Thiab tam sim no, 4 xyoo tom qab qhib qhov teeb meem, qhov teeb meem tau raug kho, thiab pib nrog version 1.15 ntawm Kubernetes, lub peev xwm los yob-restart pods tshwm.
Helm tsuas tua txhua daim ntawv thov thiab tso cov thawv tshiab nyob ze. Koj tsis tuaj yeem ua qhov no hauv kev tsim khoom, thiaj li tsis ua rau lub sijhawm ua haujlwm. Qhov no tsuas yog xav tau rau kev tsim kho kev xav tau thiab tsuas yog tuaj yeem ua tau nyob rau hauv ib puag ncig theem.
Yuav hloov kho daim ntawv thov version siv Helm li cas?
Peb yuav hloov cov nqi xa mus rau Helm. Feem ntau, cov no yog cov txiaj ntsig uas tau hloov pauv hauv qhov chaw ntawm daim duab lossis. Nyob rau hauv cov ntaub ntawv ntawm qhov tseeb, uas yog feem ntau siv rau unproductive ib puag ncig, cov ntaub ntawv hloov tau yog ib qho annotation, uas tsis muaj txiaj ntsig rau Kubernetes nws tus kheej, thiab rau Helm nws yuav ua lub teeb liab rau qhov xav tau hloov kho daim ntawv thov. Options rau sau nyob rau hauv annotation tus nqi:
Random nqi siv tus qauv ua haujlwm - {{ randAlphaNum 6 }}.
Muaj qhov caveat: tom qab txhua qhov kev xa tawm siv daim ntawv qhia nrog qhov sib txawv, cov lus piav qhia tus nqi yuav txawv, thiab Helm yuav xav tias muaj kev hloov pauv. Nws hloov tawm tias peb yuav ib txwm rov pib dua daim ntawv thov, txawm tias peb tsis tau hloov nws version. Qhov no tsis yog qhov tseem ceeb, vim tias yuav tsis muaj sijhawm poob qis, tab sis nws tseem tsis txaus siab.
Paste tam sim no hnub thiab sijhawm - {{ .Release.Date }}.
Ib tug variant zoo ib yam li ib tug random nqi nrog ib tug mus tas li txawv txawv txawv.
Ib txoj hauv kev zoo dua yog siv checksums. Qhov no yog SHA ntawm daim duab lossis SHA ntawm kev cog lus kawg hauv git - {{ .Values.sha }}.
Lawv yuav tsum raug suav thiab xa mus rau tus neeg siv khoom Helm ntawm sab hu, piv txwv li hauv Jenkins. Yog tias daim ntawv thov tau hloov, ces daim tshev yuav hloov. Yog li ntawd, Helm tsuas yog hloov kho daim ntawv thov thaum xav tau.
Cia peb xaus peb qhov kev sim
Helm ua rau muaj kev hloov pauv tsawg kawg nkaus, yog li txhua qhov kev hloov pauv ntawm daim ntawv thov duab theem hauv Docker Registry yuav tsis ua rau muaj kev hloov tshiab: tsis muaj dab tsi yuav tshwm sim tom qab cov lus txib raug tua.
Ntsiab --force siv los kho cov teeb meem tso tawm thiab tsis cuam tshuam nrog kev hloov tshiab yuam kev.
Ntsiab --recreate-pods yuav yuam kev hloov kho daim ntawv thov, tab sis yuav ua nws hauv txoj kev vandal: nws yuav sai sai tua tag nrho cov ntim. Cov neeg siv yuav raug kev txom nyem los ntawm qhov no; koj yuav tsum tsis txhob ua qhov no hauv kev tsim khoom.
Nrog rau kev tso tawm ntawm Helm version tshiab, ntau yam nuances tau tshwm sim. Cov teeb meem hauv Helm repository tau piav qhia ua lus meej, lawv yuav pab koj nkag siab cov ntsiab lus.
Ntxiv cov lus piav qhia kho tau rau hauv daim ntawv qhia yuav ua rau nws hloov tau yooj yim dua. Qhov no yuav cia koj dov tawm daim ntawv thov kom raug, tsis muaj sijhawm poob.
Ib qho "kev thaj yeeb hauv ntiaj teb" xav tias ua haujlwm hauv txhua qhov ntawm lub neej: nyeem cov lus qhia ua ntej siv, tsis yog tom qab. Tsuas yog nrog cov ntaub ntawv tiav nws thiaj li ua tau los tsim kom muaj kev ntseeg siab thiab ua rau cov neeg siv khoom zoo siab.