Nco tseg. txhais.: Hauv cov zej zog Kubernetes, tus qauv hu ua GitOps tau txais txiaj ntsig zoo, raws li peb tau pom tus kheej, mus xyuas KubeCon Europe 2019. Cov lus no tsis ntev los no invented los ntawm lub taub hau ntawm Weaveworks - Alexis Richardson - thiab txhais tau hais tias siv cov cuab yeej paub txog cov neeg tsim khoom (feem ntau Git, yog li lub npe) los daws cov teeb meem kev ua haujlwm. Tshwj xeeb, peb tab tom tham txog kev ua haujlwm ntawm Kubernetes los ntawm kev khaws nws cov kev teeb tsa hauv Git thiab txiav tawm cov kev hloov pauv rau pawg. Matthias Jg tham txog ob txoj hauv kev rau qhov kev nthuav tawm no hauv kab lus no.
Xyoo dhau los (qhov tseeb, qhov no tshwm sim thaum Lub Yim Hli 2017 - kwv yees li.) Muaj ib txoj hauv kev tshiab rau kev xa cov ntawv thov hauv Kubernetes. Nws hu ua GitOps, thiab nws yog raws li lub tswv yim yooj yim uas xa tawm cov qauv raug taug qab hauv qhov chaw ruaj ntseg ntawm Git repository.
Lub ntsiab zoo ntawm txoj kev no yog raws li nram no::
Deployment versioning thiab hloov keeb kwm. Lub xeev ntawm tag nrho pawg yog khaws cia hauv Git repository, thiab kev xa tawm tsuas yog hloov kho los ntawm kev cog lus. Tsis tas li ntawd, txhua qhov kev hloov pauv tuaj yeem taug qab los ntawm kev siv keeb kwm kev cog lus.
Rub cov cuab yeej tuaj yeem faib thoob plaws lub npe sib txawv nrog cov chaw khaws khoom Git sib txawv thiab kev tso cai. Ua tsaug rau qhov no, tus qauv multitenant tuaj yeem siv tau. Piv txwv li, pab pawg A yuav siv lub npe A, pab pawg B yuav siv lub npe B, thiab pab pawg tsim kho yuav siv qhov chaw thoob ntiaj teb.
Raws li txoj cai, cov cuab yeej yog hnyav heev.
Ua ke nrog cov cuab yeej xws li tus neeg teb xov tooj Bitnami Sealed Secrets, cov lus zais tuaj yeem khaws cia rau hauv Git repository thiab khaws cia hauv pawg.
Tsis muaj kev sib txuas rau cov kav dej CD txij li kev xa tawm tshwm sim hauv pawg.
Daim ntawv:
Kev tswj kev xa tawm tsis pub lwm tus paub los ntawm Helm kab kos yog qhov nyuaj dua li cov niaj hnub, txij li lawv thawj zaug yuav tsum tau tsim nyob rau hauv daim ntawv ntawm, hais, kaw cov lus zais, tom qab ntawd decrypted los ntawm tus neeg teb xov tooj sab hauv, thiab tsuas yog tom qab ntawd lawv dhau los ua cov cuab yeej rub tawm. Tom qab ntawd koj tuaj yeem khiav qhov kev tso tawm hauv Helm nrog cov txiaj ntsig hauv cov lus zais uas twb muaj lawm. Qhov yooj yim tshaj plaws yog los tsim ib qho zais cia nrog tag nrho cov txiaj ntsig Helm siv rau kev xa tawm, decrypt nws thiab cog lus rau Git.
Thaum koj coj mus kom ze, koj yuav khi rau rub cov cuab yeej. Qhov no txwv tsis pub muaj peev xwm los kho cov txheej txheem xa tawm hauv ib pawg. Piv txwv li, Kustomize yog qhov nyuaj los ntawm qhov tseeb tias nws yuav tsum khiav ua ntej cov qauv kawg tau cog lus rau Git. Kuv tsis tau hais tias koj siv tsis tau cov cuab yeej standalone, tab sis lawv nyuaj rau kev koom ua ke rau hauv koj txoj kev xa tawm.
Push raws li txoj kev
Nyob rau hauv txoj kev thawb, ib qho kev sib txuas sab nraud (feem ntau yog CD pipelines) pib xa mus rau pawg tom qab cog lus rau Git repository lossis yog tias yav dhau los CI pipeline ua tiav. Nyob rau hauv txoj kev no, lub system muaj kev nkag mus rau pawg.
Kev hloov kho cov thawv xa tawm tseem yooj yim dua nrog cov txheej txheem rub.
Kev cia siab hnyav ntawm CD system, txij li cov kav dej uas peb xav tau tej zaum yuav yog thawj zaug sau rau Gitlab Runners, thiab tom qab ntawd pab pawg txiav txim siab tsiv mus rau Azure DevOps lossis Jenkins ...
Cov txiaj ntsig: Push lossis rub?
Raws li feem ntau cov ntaub ntawv, txhua txoj hauv kev muaj nws qhov zoo thiab qhov tsis zoo. Qee txoj haujlwm yooj yim ua kom tiav nrog ib qho thiab nyuaj dua nrog lwm tus. Thaum xub thawj kuv tau ua kev xa tawm ntawm tes, tab sis tom qab kuv tuaj hla ob peb kab lus hais txog Weave Flux, kuv tau txiav txim siab los siv GitOps cov txheej txheem rau txhua qhov haujlwm. Rau cov qauv yooj yim no yooj yim, tab sis tom qab ntawd kuv pib khiav mus rau qhov teeb meem nrog Helm kab kos. Thaum lub sij hawm, Weave Flux tsuas yog muab cov txheej txheem ntawm Helm Chart Operator, tab sis txawm tias tam sim no qee cov haujlwm nyuaj dua vim qhov xav tau los tsim cov lus zais thiab siv lawv. Koj tuaj yeem sib cav tias kev rub mus kom ze yog qhov ruaj ntseg ntau dua vim tias pawg neeg cov ntaub ntawv pov thawj tsis tuaj yeem nkag mus rau sab nraud pawg, ua rau nws muaj kev nyab xeeb ntau dua tias nws tsim nyog rau kev siv zog ntxiv.
Tom qab qee qhov kev xav, kuv tuaj rau qhov kev xav tsis thoob tias qhov no tsis yog li ntawd. Yog tias peb tham txog cov khoom uas yuav tsum tau muaj kev tiv thaiv ntau tshaj plaws, daim ntawv teev npe no yuav suav nrog kev khaws cia zais cia, CI / CD systems, thiab Git repositories. Cov ntaub ntawv hauv lawv yog qhov yooj yim heev thiab xav tau kev tiv thaiv siab tshaj plaws. Tsis tas li ntawd, yog tias ib tus neeg nkag mus rau hauv koj qhov chaw khaws cia Git thiab tuaj yeem thawb cov lej nyob ntawd, lawv tuaj yeem siv txhua yam lawv xav tau (txawm nws rub lossis thawb) thiab nkag mus rau pawg pawg. Yog li, cov khoom tseem ceeb tshaj plaws uas yuav tsum tau tiv thaiv yog Git repository thiab CI / CD systems, tsis yog cov ntaub ntawv pov thawj. Yog tias koj muaj cov cai tswjfwm zoo thiab kev tswj hwm kev nyab xeeb rau cov hom kab ke no, thiab cov ntaub ntawv pov thawj pawg tsuas yog muab rho tawm rau hauv cov raj xa dej raws li kev zais cia, qhov kev ruaj ntseg ntxiv ntawm kev rub txoj hauv kev yuav tsis muaj txiaj ntsig zoo li qhov xav tau thaum xub thawj.
Yog li, yog tias kev rub mus kom ze yog kev siv zog ntau dua thiab tsis muab cov txiaj ntsig kev nyab xeeb, puas yog qhov laj thawj uas siv tsuas yog txoj hauv kev thawb? Tab sis ib tug neeg yuav sib cav hais tias nyob rau hauv lub laub mus kom ze koj yog ib yam nkaus thiab khi rau lub CD system thiab, tej zaum, nws yog zoo dua tsis txhob ua qhov no kom nws yuav yooj yim dua rau kev tsiv teb tsaws yav tom ntej.
Hauv kuv lub tswv yim (raws li ib txwm muaj), koj yuav tsum siv qhov uas tsim nyog tshaj plaws rau ib rooj plaub lossis sib txuas. Tus kheej, kuv siv ob txoj hauv kev: Weave Flux rau rub-raws li kev xa tawm uas feem ntau suav nrog peb tus kheej cov kev pabcuam, thiab kev thawb txoj hauv kev nrog Helm thiab plugins, uas ua rau nws yooj yim rau siv Helm kab kos rau pawg thiab tso cai rau koj los tsim cov lus zais seamlessly. Kuv xav tias yuav tsis muaj ib qho kev daws teeb meem rau txhua qhov xwm txheej, vim tias ib txwm muaj ntau qhov nuances thiab lawv nyob ntawm daim ntawv thov tshwj xeeb. Uas tau hais tias, Kuv xav kom GitOps - nws ua rau lub neej yooj yim dua thiab txhim kho kev ruaj ntseg.
Kuv vam tias kuv qhov kev paub ntawm lub ncauj lus no yuav pab koj txiav txim siab seb txoj kev twg yog qhov tsim nyog rau koj hom kev xa tawm, thiab kuv zoo siab tau hnov ββkoj lub tswv yim.
PS Nco tseg los ntawm tus txhais lus
Lub downside ntawm tus qauv rub yog tias nws yog ib qho nyuaj rau muab tso rau hauv Git, tab sis tsis muaj downside tias CD pipeline nyob rau hauv lub rub qauv nyob sib cais los ntawm lub rollout thiab qhov tseem ceeb yog ib tug qeb pipeline. Kev thov txuas ntxiv. Yog li ntawd, yuav tsum tau siv zog ntau dua los sau lawv cov xwm txheej los ntawm txhua qhov kev xa tawm thiab qee qhov muab nkag mus rau cov cav / xwm txheej, nyiam dua nrog siv rau CD system.
Hauv qhov kev nkag siab no, tus qauv thawb tso cai rau peb muab tsawg kawg qee qhov kev lees paub ntawm rollout, vim hais tias lub neej ntawm cov raj xa dej tuaj yeem ua kom sib npaug rau lub neej ntawm kev sib tw.
Peb sim ob qho tib si qauv thiab tuaj rau tib lub ntsiab lus raws li tus sau ntawm tsab xov xwm: