Yuav tsum tau tsim ib daim ntawv thov hauv Kubernetes

Hnub no kuv npaj los tham txog yuav ua li cas sau ntawv thov thiab dab tsi yog qhov yuav tsum tau ua rau koj daim ntawv thov ua haujlwm zoo hauv Kubernetes. Yog li ntawd tsis muaj mob taub hau nrog daim ntawv thov, yog li koj tsis tas yuav tsim thiab tsim ib qho "cratches" nyob ib puag ncig nws - thiab txhua yam ua haujlwm raws li Kubernetes nws tus kheej npaj.

Cov lus qhuab qhia no yog ib feem ntawm "Slurm Night School ntawm Kubernetes" Koj tuaj yeem saib cov lus qhuab qhia qhib ntawm Tsev Kawm Ntawv Hmo Ntuj hauv Youtube, muab tso rau hauv playlist. Rau cov neeg uas nyiam cov ntawv nyeem ntau dua li video, peb tau npaj cov kab lus no.

Kuv lub npe yog Pavel Selivanov, tam sim no kuv yog tus thawj coj DevOps engineer ntawm Mail.ru Cloud Solutions, peb ua huab, peb ua kev tswj kubernetes thiab lwm yam. Kuv cov dej num tam sim no suav nrog kev pab hauv kev txhim kho, nthuav tawm cov huab no, nthuav tawm cov ntawv thov uas peb sau thiab ncaj qha tsim cov cuab yeej uas peb muab rau peb cov neeg siv.

Yuav tsum tau tsim ib daim ntawv thov hauv Kubernetes

Kuv tau ua DevOps, Kuv xav tias kawg, tej zaum, peb xyoos. Tab sis, hauv txoj cai, kuv tau ua qhov DevOps ua tau li tsib xyoos tam sim no. Ua ntej ntawd, kuv feem ntau koom nrog cov khoom admin. Kuv pib ua haujlwm nrog Kubernetes ntev dhau los - tej zaum txog plaub xyoos dhau los txij li thaum kuv pib ua haujlwm nrog nws.

Feem ntau, kuv pib thaum Kubernetes yog version 1.3, tej zaum, thiab tej zaum 1.2 - thaum nws tseem yog menyuam mos. Tam sim no nws tsis yog nyob rau hauv nws cov me nyuam mos lawm - thiab nws yog pom tseeb hais tias muaj ib tug loj xav tau nyob rau hauv kev ua lag luam rau engineers uas xav yuav ua tau Kubernetes. Thiab cov tuam txhab muaj kev thov siab heev rau cov neeg zoo li no. Yog li ntawd, qhov tseeb, qhov kev qhuab qhia no tshwm sim.

Yog hais tias peb hais raws li lub hom phiaj ntawm qhov kuv yuav tham txog, nws zoo li no, nyob rau hauv cov kab lus nws yog sau (TL;DR) - β€œntev dhau lawm; tsis txhob nyeem." Kuv qhov kev nthuav qhia niaj hnub no yuav suav nrog cov npe tsis kawg.

Yuav tsum tau tsim ib daim ntawv thov hauv Kubernetes

Qhov tseeb, kuv tus kheej tsis nyiam cov kev nthuav qhia no thaum lawv tau tsim, tab sis qhov no yog ib lub ntsiab lus zoo li thaum kuv tab tom npaj qhov kev nthuav qhia no, kuv tsuas yog tsis tshua paub txog yuav ua li cas npaj cov ntaub ntawv sib txawv.

Vim tias, los ntawm thiab loj, cov ntaub ntawv no yog "ctrl + c, ctrl + v", los ntawm, ntawm lwm yam, peb Wiki hauv ntu DevOps, uas peb tau sau cov cai rau cov neeg tsim tawm: "cov txiv neej, yog li peb tso koj daim ntawv thov hauv Kubernetes, nws yuav tsum zoo li no. "

Tias yog vim li cas qhov kev nthuav qhia tau dhau los ua cov npe loj heev. Thov txim. Kuv yuav sim qhia kom ntau li ntau tau kom tsis txhob dhuav yog tias ua tau.

Dab tsi peb yuav saib tam sim no:

  • cov no yog, thawj zaug, cav (daim ntawv teev npe?), yuav ua li cas nrog lawv hauv Kubernetes, yuav ua li cas nrog lawv, lawv yuav tsum ua dab tsi;
  • yuav ua li cas rau configurations nyob rau hauv Kubernetes, dab tsi yog qhov zoo tshaj plaws thiab phem tshaj txoj kev rau configure ib daim ntawv thov rau Kubernetes;
  • Cia peb tham txog qhov kev txheeb xyuas kev nkag mus tau zoo li cas, lawv yuav tsum zoo li cas;
  • cia peb tham txog qhov kev kaw zoo nkauj yog dab tsi;
  • cia peb tham txog cov peev txheej dua;
  • Cia peb kov lub ntsiab lus ntawm cov ntaub ntawv khaws cia ib zaug ntxiv;
  • thiab thaum kawg kuv yuav qhia rau koj paub tias lub sij hawm no mysterious huab-native daim ntawv thov yog dab tsi. Cloudnativeness, raws li ib tug adjective ntawm lo lus no.

Cov log

Kuv xav kom pib nrog cov cav - nrog rau qhov twg cov cav yuav tsum tau shoved hauv Kubernetes. Tam sim no koj tau qhib ib daim ntawv thov hauv Kubernetes. Raws li cov classics, yav tas los daim ntawv thov ib txwm sau cav qhov chaw hauv ib cov ntaub ntawv. Cov ntawv thov tsis zoo tau sau cov ntawv teev cia rau hauv cov ntaub ntawv hauv tsev cov npe ntawm tus tsim tawm uas tau tsim daim ntawv thov. Cov ntawv thov zoo tau sau cov ntawv teev cia rau ib qho chaw nyob hauv /var/log.

Yuav tsum tau tsim ib daim ntawv thov hauv Kubernetes

Raws li, ntxiv, cov thawj coj zoo muaj qee yam teeb tsa hauv lawv cov txheej txheem uas cov cav no tuaj yeem tig - tib lub rsyslog, uas saib cov cav thiab thaum muaj ib yam dab tsi tshwm sim rau lawv, muaj ntau ntawm lawv, nws tsim cov ntawv luam theej, tso cov cav rau hauv. , tshem tawm cov ntaub ntawv qub, ntau tshaj ib lub lim tiam, rau lub hlis thiab qee qhov ntxiv. Hauv txoj kev xav, peb yuav tsum muaj cov kev cai kom yooj yim vim tias daim ntawv thov sau cov cav, qhov chaw ntawm cov servers ntau lawm (sib ntaus sib tua servers?) tsis khiav tawm. Thiab, raws li, tag nrho cov khoom lag luam tsis nres vim yog lub cav.

Thaum peb tsiv mus rau lub ntiaj teb ntawm Kubernetes thiab khiav tib yam nyob ntawd, thawj qhov uas koj tuaj yeem mloog tau yog qhov tseeb tias tib neeg, raws li lawv tau sau cov ntawv teev cia hauv cov ntaub ntawv, txuas ntxiv sau lawv.

Nws hloov tawm tias yog tias peb tham txog Kubernetes, qhov chaw zoo los sau cov cav qhov chaw ntawm lub thawv docker tsuas yog sau lawv los ntawm daim ntawv thov mus rau qhov hu ua Stdout / Stderr, uas yog, cov qauv tso tawm ntws ntawm lub operating system, tus qauv yuam kev tso zis. Qhov no yog qhov tseeb tshaj plaws, yooj yim tshaj plaws thiab muaj txiaj ntsig zoo tshaj plaws los tso cov cav hauv cov ntsiab lus hauv Docker thiab tshwj xeeb hauv Kubernetis. Vim tias yog tias koj daim ntawv thov sau cov cav rau Stdout / Stderr, ces nws yog nyob ntawm Docker thiab Kubernetes ntxiv-rau txiav txim siab yuav ua li cas nrog cov cav no. Docker yuav los ntawm lub neej ntawd tsim nws cov ntaub ntawv tshwj xeeb hauv JSON hom.

Ntawm no cov lus nug tshwm sim, koj yuav ua li cas ntxiv nrog cov cav no? Txoj kev yooj yim tshaj plaws yog qhov tseeb, peb muaj peev xwm ua tau kubectl logs thiab saib cov cav ntawm cov "pods" no. Tab sis, tej zaum, qhov no tsis yog ib qho kev xaiv zoo heev - lwm yam yuav tsum tau ua nrog cov cav.

Txog tam sim no, cia peb tham tib lub sijhawm, txij li peb tau kov lub ntsiab lus ntawm cov cav, txog qhov zoo li cov cav yuav tsum zoo li. Ntawd yog, qhov no tsis siv ncaj qha rau Kubernetes, tab sis thaum peb pib xav txog yuav ua li cas nrog cov cav, nws yuav zoo los xav txog qhov no thiab.

Peb xav tau qee yam cuab yeej, hauv txoj kev sib haum xeeb, uas yuav coj cov cav no uas peb tus docker muab tso rau hauv nws cov ntaub ntawv thiab xa mus rau qhov chaw. Los ntawm thiab loj, peb feem ntau tso tawm qee tus neeg sawv cev hauv Kubernetes hauv daim ntawv ntawm DaemonSet - tus sau cav, uas yooj yim qhia qhov twg cov cav uas Docker sau tau nyob. Thiab tus neeg sawv cev khaws cia no tsuas yog siv lawv, tej zaum txawm tias qee qhov parses lawv ntawm txoj kev, tej zaum ua rau lawv ntxiv nrog qee cov ntaub ntawv meta ntxiv thiab, thaum kawg, xa lawv mus rau qhov chaw cia. Variations twb ua tau nyob ntawd. Qhov feem ntau yog tej zaum Elasticsearch, qhov twg koj tuaj yeem khaws cov cav thiab koj tuaj yeem yooj yim muab lawv los ntawm qhov ntawd. Tom qab ntawd, siv qhov kev thov, siv Kibana, piv txwv li, tsim cov duab raws li lawv, tsim cov ntawv ceeb toom raws li lawv, thiab lwm yam.

Lub tswv yim tseem ceeb tshaj plaws, kuv xav rov hais dua, yog tias hauv Docker, tshwj xeeb hauv Kubernetes, khaws koj cov cav hauv cov ntaub ntawv yog lub tswv yim phem heev.

Vim ua ntej, nws yog qhov nyuaj kom tau txais cov cav hauv lub thawv hauv cov ntaub ntawv. Koj yuav tsum xub mus rau hauv lub thawv, exec muaj, thiab ces saib cov cav. Cov ntsiab lus tom ntej no yog tias koj muaj cov ntawv teev cia hauv cov ntaub ntawv, ces cov thawv ntim feem ntau muaj qhov chaw me me thiab tsis muaj cov khoom siv hluav taws xob uas feem ntau xav tau rau kev ua haujlwm nrog cov cav. Hlawv lawv, saib lawv, qhib lawv hauv cov ntawv nyeem. Lub sijhawm tom ntej no yog thaum peb muaj cov ntaub ntawv hauv ib lub thawv, yog tias lub thawv no raug tshem tawm, koj nkag siab, cov cav yuav tuag nrog rau nws. Raws li, ib qho kev rov pib dua ntawm lub thawv txhais tau tias tsis muaj cov cav ntxiv. Ib zaug ntxiv, kev xaiv tsis zoo.

Thiab qhov kawg taw tes yog tias hauv cov thawv koj feem ntau muaj koj daim ntawv thov thiab qhov ntawd yog nws - nws feem ntau yog cov txheej txheem nkaus xwb. Tsis muaj kev sib tham txhua yam txog cov txheej txheem uas yuav tig cov ntaub ntawv nrog koj cov cav. Thaum lub cav pib sau rau hauv cov ntaub ntawv, qhov no txhais tau hais tias, zam txim rau kuv, peb yuav pib poob lub server ntau lawm. Vim tias, ua ntej, lawv nyuaj nrhiav, tsis muaj leej twg taug qab lawv, ntxiv rau tsis muaj leej twg tswj hwm lawv - raws li, cov ntaub ntawv loj hlob mus txog qhov kawg kom txog thaum qhov chaw ntawm lub server tsuas yog khiav tawm. Yog li ntawd, kuv hais dua tias kev nkag rau hauv Docker, tshwj xeeb hauv Kubernetes, rau cov ntaub ntawv yog lub tswv yim phem.

Cov ntsiab lus tom ntej no, ntawm no kuv xav tham txog qhov no dua - txij li thaum peb tau kov lub ntsiab lus ntawm cov cav, nws yuav zoo los tham txog yuav ua li cas cov cav yuav tsum saib thiaj li ua rau nws yooj yim rau kev ua haujlwm nrog lawv. Raws li kuv tau hais, lub ntsiab lus tsis yog cuam tshuam ncaj qha rau Kubernetes, tab sis nws cuam tshuam zoo heev rau lub ntsiab lus ntawm DevOps. Ntawm lub ntsiab lus ntawm kev txhim kho kab lis kev cai thiab kev phooj ywg ntawm ob lub tuam tsev sib txawv - Dev thiab Ops, kom txhua tus neeg nyiam.

Qhov no txhais tau hais tias qhov tseeb, niaj hnub no, cov cav yuav tsum tau sau ua JSON hom. Yog tias koj muaj qee qhov kev nkag siab tsis zoo ntawm koj tus kheej, uas sau cov ntawv teev lus hauv cov ntawv tsis txaus ntseeg vim tias koj ntxig qee yam luam tawm lossis ib yam dab tsi zoo li ntawd, ces nws yog lub sijhawm rau google qee yam ntawm lub moj khaum, qee hom wrapper uas tso cai rau koj los siv qee yam kev nkag; pab kom nkag tsis tau hauv JSON nyob ntawd, vim tias JSON yog hom ntawv yooj yim, parsing nws yooj yim.

Yog tias koj JSON tsis ua haujlwm raws li qee cov qauv, tsis muaj leej twg paub dab tsi, ces tsawg kawg sau cov cav hauv hom uas tuaj yeem txheeb xyuas. Ntawm no, theej, nws tsim nyog xav txog qhov tseeb tias, piv txwv li, yog tias koj tab tom khiav ib pawg ntim lossis tsuas yog cov txheej txheem nrog nginx, thiab txhua tus muaj nws tus kheej nkag mus, ces tej zaum nws yuav zoo li nws yuav tsis yooj yim rau koj. cais lawv. Vim hais tias rau txhua qhov tshiab nginx koj yuav tsum tau sau koj tus kheej parser, vim lawv sau cov cav sib txawv. Ib zaug ntxiv, nws yog qhov tsim nyog xav txog kev ua kom paub tseeb tias tag nrho cov nginx cov xwm txheej no muaj tib qhov kev txiav txim siab thiab sau tag nrho lawv cov cav sib txawv kiag li. Tib yam siv tau rau txhua daim ntawv thov.

Thaum kawg, kuv kuj xav ntxiv roj rau qhov hluav taws kub uas, qhov zoo tshaj plaws, ntau hom kab ntawv yuav tsum zam. Ntawm no yog qhov, yog tias koj tau ua haujlwm nrog cov log tsheb, feem ntau koj yuav pom qhov lawv cog lus rau koj, tias lawv tuaj yeem ua haujlwm nrog ntau kab cav, paub sau lawv, thiab lwm yam. Qhov tseeb, hauv kuv lub tswv yim, tsis yog ib tus neeg sau niaj hnub no tuaj yeem sau cov kab ntau kab ib txwm, tag nrho thiab tsis muaj qhov yuam kev. Nyob rau hauv tib neeg txoj kev, kom nws yooj yim thiab tsis muaj kev ua yuam kev.

Yuav tsum tau tsim ib daim ntawv thov hauv Kubernetes

Tab sis pawg kab yog ib txwm muaj ntau kab cav thiab yuav ua li cas kom tsis txhob lawv. Lo lus nug ntawm no yog tias lub cav yog cov ntaub ntawv ntawm qhov xwm txheej, thiab stactrace tsis yog lub cav. Yog tias peb sau cov cav thiab muab tso rau hauv qhov chaw hauv Elasticsearch thiab tom qab ntawd kos cov duab los ntawm lawv, tsim qee cov lus ceeb toom ntawm cov neeg siv kev ua haujlwm ntawm koj lub xaib, tom qab ntawd thaum koj tau txais ib pawg kab, nws txhais tau hais tias muaj qee yam tsis xav tau tshwm sim hauv koj daim ntawv thov. Thiab nws ua rau kev txiav txim siab yuav cia li upload ib pawg kab nyob rau hauv ib qho system uas tuaj yeem taug qab lawv.

Qhov no yog software (tib yam Sentry) uas tau tsim tshwj xeeb los ua haujlwm nrog pawg kab. Nws tuaj yeem tsim cov haujlwm ua haujlwm tam sim ntawd, muab lawv rau ib tus neeg, ceeb toom thaum muaj xwm txheej tshwm sim, pab pawg cov stacttraces los ntawm ib hom, thiab lwm yam. Hauv txoj ntsiab cai, nws tsis muaj txiaj ntsig ntau los tham txog cov txheej txheem thaum peb tham txog cov cav, vim hais tias cov no yog qhov sib txawv nrog lub hom phiaj sib txawv.

Configuration

Tom ntej no peb tham txog kev teeb tsa hauv Kubernetes: yuav ua li cas nrog nws thiab yuav ua li cas cov ntawv thov hauv Kubernetes yuav tsum tau teeb tsa. Feem ntau, kuv feem ntau hais tias Docker tsis yog hais txog ntim. Txhua tus paub tias Docker yog hais txog ntim, txawm tias cov neeg uas tsis tau ua haujlwm nrog Docker ntau. Kuv rov hais dua, Docker tsis yog hais txog ntim.

Docker, hauv kuv lub tswv yim, yog hais txog cov qauv. Thiab muaj cov qauv rau kev xyaum ua txhua yam: cov qauv tsim koj daim ntawv thov, cov qauv rau kev txhim kho koj daim ntawv thov.

Yuav tsum tau tsim ib daim ntawv thov hauv Kubernetes

Thiab qhov no - peb tau siv nws ua ntej, nws nyuam qhuav dhau los tshwj xeeb tshaj yog nrov nrog kev tshwm sim ntawm cov ntim khoom - qhov no yog hu ua ENV (ib puag ncig) hloov pauv, uas yog, qhov hloov pauv ib puag ncig uas nyob hauv koj qhov kev ua haujlwm. Qhov no feem ntau yog txoj hauv kev zoo tshaj plaws los teeb tsa koj daim ntawv thov, vim tias yog tias koj muaj cov ntawv thov hauv JAVA, Python, Go, Perl, Vajtswv txwv, thiab lawv txhua tus tuaj yeem nyeem tus tswv tsev database, tus neeg siv database, database password variables, ces nws yog qhov zoo tagnrho. Koj muaj cov ntawv thov ua plaub yam lus sib txawv hauv cov phiaj xwm database tib yam. Tsis muaj ntau configs sib txawv.

Txhua yam tuaj yeem teeb tsa siv ENV hloov pauv. Thaum peb tham txog Kubernetes, nws muaj txoj hauv kev zoo tshaj plaws los tshaj tawm ENV qhov sib txawv ntawm txoj cai hauv Kev Tshaj Tawm. Raws li, yog tias peb tab tom tham txog cov ntaub ntawv zais cia, ces peb tuaj yeem thawb cov ntaub ntawv zais cia ntawm ENV hloov pauv tam sim (passwords rau databases, thiab lwm yam) rau hauv qhov zais cia, tsim ib pawg zais cia thiab qhia hauv ENV cov lus piav qhia hauv Kev xa tawm uas peb tsis ncaj qha tshaj tawm. tus nqi ntawm qhov sib txawv no, thiab tus nqi ntawm qhov database password hloov pauv yuav raug nyeem los ntawm qhov zais cia. Qhov no yog tus qauv Kubernetes tus cwj pwm. Thiab qhov no yog qhov kev xaiv zoo tshaj plaws los teeb tsa koj daim ntawv thov. Tsuas yog nyob rau qib code, dua qhov no siv rau cov neeg tsim khoom. Yog tias koj yog DevOps, koj tuaj yeem nug: β€œCov txiv neej, thov qhia koj daim ntawv thov nyeem ib puag ncig hloov pauv. Thiab peb txhua tus yuav zoo siab. "

Yog tias txhua tus neeg hauv lub tuam txhab nyeem tib lub npe ib puag ncig hloov pauv, ces qhov ntawd zoo heev. Yog li ntawd nws tsis tshwm sim hais tias ib txhia tseem tos rau lub postgres database, lwm leej lwm tus yog tos rau lub database lub npe, lwm leej lwm tus yog tos rau lwm yam, lwm tus tos rau ib tug dbn ntawm tej yam, yog li ntawd, raws li, muaj ib tug uniformity.

Qhov teeb meem tuaj thaum koj muaj ntau qhov sib txawv ib puag ncig uas koj nyuam qhuav qhib Kev xa tawm - thiab muaj tsib puas kab ntawm ib puag ncig hloov pauv. Nyob rau hauv cov ntaub ntawv no, koj tsuas muaj outgrown ib puag ncig variables - thiab koj tsis tas yuav tsim txom koj tus kheej. Hauv qhov no, nws yuav ua rau kev nkag siab pib siv configs. Ntawd yog, cob qhia koj daim ntawv thov siv configs.

Tib lo lus nug yog tias configs tsis yog li koj xav. Config.pi tsis yog config uas yooj yim siv. Los yog ib co config nyob rau hauv koj tus kheej hom, hloov khoom plig - qhov no kuj tsis yog lub config kuv txhais tau tias.

Qhov kuv tab tom tham txog yog kev teeb tsa hauv cov qauv siv tau, uas yog, nyob deb ntawm cov qauv nrov tshaj plaws yog tus qauv .yaml. Nws yog qhov tseeb nyeem nws, nws yog tib neeg nyeem tau, nws paub meej tias yuav nyeem nws li cas los ntawm daim ntawv thov.

Raws li, ntxiv rau YAML, koj tuaj yeem, piv txwv li, siv JSON, parsing yog li yooj yim li YAML hais txog kev nyeem daim ntawv thov teeb tsa los ntawm qhov ntawd. Nws yog qhov pom tau tias tsis yooj yim rau tib neeg nyeem. Koj tuaj yeem sim cov hom ntawv, ib lub la ini. Nws yog qhov yooj yim heev los nyeem, los ntawm tib neeg qhov kev xav, tab sis nws yuav tsis yooj yim rau kev ua tiav nws, hauv kev nkag siab tias yog tias koj puas xav tsim koj tus kheej configs, hom ntawv ini yuav tsis yooj yim los tsim.

Tab sis nyob rau hauv txhua rooj plaub, txawm hom ntawv twg koj xaiv, lub ntsiab lus yog tias los ntawm Kubernetes qhov kev pom nws yooj yim heev. Koj tuaj yeem tso koj cov teeb tsa tag nrho hauv Kubernetes, hauv ConfigMap. Thiab tom qab ntawd coj daim ntawv teeb tsa no thiab hais kom nws muab tso rau hauv koj lub pod hauv qee cov npe tshwj xeeb, qhov twg koj daim ntawv thov yuav nyeem qhov teeb tsa los ntawm qhov kev teeb tsa no zoo li nws tsuas yog cov ntaub ntawv xwb. Qhov no, qhov tseeb, yog qhov zoo ua thaum koj muaj ntau txoj kev xaiv hauv koj daim ntawv thov. Los yog nws tsuas yog qee hom kev tsim qauv, muaj zes.

Yog tias koj muaj configmap, ces koj tuaj yeem qhia koj daim ntawv thov tau zoo, piv txwv li, txhawm rau taug qab cov kev hloov pauv hauv cov ntaub ntawv uas lub configmap tau teeb tsa, thiab tseem tuaj yeem rov rub koj daim ntawv thov thaum hloov pauv. Qhov no feem ntau yuav yog qhov kev xaiv zoo tshaj plaws.

Ib zaug ntxiv, kuv twb tau tham txog qhov no - cov ntaub ntawv zais cia tsis nyob rau hauv configmap, cov ntaub ntawv zais cia tsis nyob hauv cov hloov pauv, cov ntaub ntawv zais cia tsis nyob hauv kev zais. Los ntawm qhov ntawd, txuas cov ntaub ntawv zais cia no rau kev diplomacy. Feem ntau peb khaws tag nrho cov lus piav qhia ntawm Kubernetes cov khoom, kev xa tawm, configmaps, cov kev pabcuam hauv git. Raws li, muab tus password rau hauv cov ntaub ntawv hauv git, txawm tias nws yog koj git, uas koj muaj nyob hauv lub tuam txhab, yog lub tswv yim phem. Vim tias qhov tsawg kawg nkaus, git nco ntsoov txhua yam thiab tsuas yog tshem cov passwords los ntawm qhov ntawd tsis yooj yim li.

Kev kuaj mob

Cov ntsiab lus tom ntej yog qhov no hu ua Health check. Feem ntau, kev kuaj mob tsuas yog kuaj xyuas tias koj daim ntawv thov ua haujlwm. Nyob rau tib lub sijhawm, peb feem ntau tham txog qee qhov web applications, uas, raws li, los ntawm qhov pom ntawm kev kuaj mob (nws yog qhov zoo dua tsis txhob txhais ntawm no thiab ntxiv) qhov no yuav yog qee qhov tshwj xeeb URL, uas lawv ua raws li. tus qauv, lawv feem ntau ua /health.

Thaum nkag mus rau qhov URL no, raws li, peb daim ntawv thov hais tias "yog, tsis yog, txhua yam zoo rau kuv, 200" lossis "tsis yog, txhua yam tsis zoo rau kuv, qee qhov 500." Yog li, yog tias peb daim ntawv thov tsis yog http, tsis yog daim ntawv thov web, tam sim no peb tab tom tham txog qee yam ntawm daemon, peb tuaj yeem txiav txim siab seb yuav kuaj mob li cas. Ntawd yog, nws tsis tsim nyog, yog tias daim ntawv thov tsis yog http, ces txhua yam ua haujlwm yam tsis muaj kev kuaj mob thiab qhov no tsis tuaj yeem ua txhua txoj hauv kev. Koj tuaj yeem hloov kho qee cov ntaub ntawv hauv cov ntaub ntawv ib ntus, koj tuaj yeem tuaj nrog qee cov lus txib tshwj xeeb rau koj tus daemon, xws li, daemon status, uas yuav hais tias "yog, txhua yam zoo, tus daemon ua haujlwm, nws tseem muaj sia nyob."

Nws yog dab tsi? Thawj thiab pom tseeb tshaj plaws yog tej zaum yog vim li cas thiaj li yuav tsum tau kuaj xyuas kev noj qab haus huv - kom nkag siab tias daim ntawv thov ua haujlwm. Kuv txhais tau tias, nws yog ruam xwb, thaum nws los txog tam sim no, zoo li nws ua haujlwm, koj tuaj yeem paub tseeb tias nws ua haujlwm. Thiab nws hloov tawm tias daim ntawv thov tau khiav, lub thawv tau khiav, piv txwv yog ua haujlwm, txhua yam zoo - thiab tom qab ntawd cov neeg siv tau txiav tawm tag nrho cov xov tooj los ntawm kev txhawb nqa thiab hais tias "koj yog dab tsi ..., koj pw tsaug zog, tsis muaj dab tsi ua haujlwm. "

Kev kuaj xyuas kev noj qab haus huv tsuas yog ib txoj hauv kev pom los ntawm tus neeg siv qhov kev xav tias nws ua haujlwm. Ib txoj hauv kev. Cia peb muab tso rau hauv no. Los ntawm qhov pom ntawm Kubernetes, qhov no kuj yog ib txoj hauv kev kom nkag siab thaum daim ntawv thov pib, vim peb nkag siab tias muaj qhov sib txawv ntawm lub thawv tau tsim, tsim thiab pib, thiab thaum daim ntawv thov raug tso ncaj qha rau hauv lub thawv no. Vim hais tias yog tias peb siv qee qhov nruab nrab java daim ntawv thov thiab sim tso rau hauv qhov chaw nres nkoj, tom qab ntawd plaub caug vib nas this, lossis ib feeb, lossis kaum, nws tuaj yeem pib zoo. Hauv qhov no, koj tuaj yeem tsawg kawg khob ntawm nws cov chaw nres nkoj, nws yuav tsis teb rau ntawd, uas yog, nws tseem tsis tau npaj kom tau txais tsheb khiav.

Ntxiv dua thiab, nrog kev pab los ntawm kev kuaj xyuas kev noj qab haus huv thiab nrog kev pab los ntawm qhov tseeb tias peb tab tom tig ntawm no, peb tuaj yeem nkag siab hauv Kubernetes tias tsis yog lub thawv tau nce hauv daim ntawv thov xwb, tab sis daim ntawv thov nws tus kheej tau pib, nws twb teb rau cov ntawv thov. kev kuaj mob, uas txhais tau tias peb tuaj yeem xa tsheb mus rau ntawd.

Yuav tsum tau tsim ib daim ntawv thov hauv Kubernetes

Qhov kuv tab tom tham txog tam sim no yog hu ua Readiness / Liveness tests nyob rau hauv Kubernetes; raws li, peb cov kev ntsuam xyuas kev npaj yog lub luag haujlwm rau qhov muaj ntawm daim ntawv thov hauv kev sib npaug. Ntawd yog, yog tias kev sim npaj tau ua tiav hauv daim ntawv thov, ces txhua yam zoo, cov neeg siv khoom yuav mus rau daim ntawv thov. Yog tias tsis tau ua tiav qhov kev npaj ua tiav, daim ntawv thov tsuas yog tsis koom nrog, qhov tshwj xeeb no tsis koom nrog kev sib npaug, nws raug tshem tawm los ntawm kev sib npaug, cov neeg siv khoom tsis txaus. Raws li, Liveness tests nyob rau hauv Kubernetes yog xav tau kom yog tias daim ntawv thov tau daig, nws tuaj yeem rov pib dua. Yog tias qhov kev sim ua neej tsis ua haujlwm rau daim ntawv thov uas tau tshaj tawm hauv Kubernetes, ces daim ntawv thov tsis yog tshem tawm ntawm kev sib npaug, nws rov pib dua.

Thiab ntawm no yog ib qho tseem ceeb uas kuv xav hais txog: los ntawm qhov ua tau zoo ntawm qhov kev pom, qhov kev ntsuam xyuas kev npaj yog feem ntau siv ntau zaus thiab xav tau ntau dua li qhov kev sim ua neej nyob. Ntawd yog, tsuas yog xav tsis thoob tshaj tawm ob qho kev npaj txhij thiab kev sim ua neej nyob, vim Kubernetes tuaj yeem ua qhov ntawd, thiab cia peb siv txhua yam uas nws ua tau, tsis yog lub tswv yim zoo heev. Kuv mam piav vim li cas. Vim tias tus lej thib ob hauv kev sim yog tias nws yuav yog lub tswv yim zoo los kuaj xyuas cov kev pabcuam hauv qab hauv koj qhov kev kuaj mob. Qhov no txhais tau hais tias yog tias koj muaj ib daim ntawv thov web uas muab tawm qee cov ntaub ntawv, uas nyob rau hauv lem nws, ib txwm, yuav tsum coj los ntawm qhov chaw. Piv txwv li hauv database. Zoo, nws txuag cov ntaub ntawv uas tuaj rau hauv REST API no rau hauv tib lub database. Tom qab ntawd, raws li, yog tias koj qhov kev kuaj xyuas kev noj qab haus huv teb yooj yim xws li hu rau slashhealth, daim ntawv thov hais tias "200, ok, txhua yam zoo," thiab tib lub sijhawm koj daim ntawv thov cov ntaub ntawv nkag tsis tau, thiab daim ntawv thov kuaj mob hais tias "200, ok, txhua yam zoo. ” - Qhov no yog kev kuaj mob tsis zoo. Qhov no tsis yog li cas nws yuav tsum ua haujlwm.

Ntawd yog, koj daim ntawv thov, thaum muaj kev thov tuaj rau nws /health, nws tsis yog teb, "200, ok", nws ua ntej mus, piv txwv li, mus rau lub database, sim mus txuas rau nws, ua ib yam dab tsi yooj yim heev nyob rau ntawd, xws li xaiv ib tug, tsuas yog xyuas tias muaj kev twb kev txuas nyob rau hauv lub database thiab koj tuaj yeem nug cov database. Yog tias tag nrho qhov no ua tiav, ces cov lus teb yog "200, ok." Yog tias nws tsis ua tiav, nws hais tias muaj qhov yuam kev, lub database tsis muaj.

Yog li ntawd, nyob rau hauv no hais txog, kuv rov qab mus rau qhov kev xeem Readiness/Liveness - yog vim li cas koj feem ntau yuav xav tau ib tug npaj txhij xeem, tab sis ib tug lifeness test yog nug. Vim tias yog koj piav qhia txog kev kuaj mob raws nraim li kuv nyuam qhuav hais, ces nws yuav pom tias nws tsis muaj nyob rau hauv qhov piv txwvΠ² ΠΈΠ»ΠΈ со всСх instancehauv database, piv txwv li. Thaum koj tshaj tawm qhov kev sim npaj txhij, peb cov kev kuaj mob tau pib ua tsis tiav, thiab raws li tag nrho cov ntawv thov los ntawm cov ntaub ntawv siv tsis tau, lawv tsuas yog muab tawm los ntawm kev sib npaug thiab qhov tseeb "hang" tsuas yog nyob rau hauv lub xeev tsis saib xyuas thiab tos rau lawv cov ntaub ntawv khaws cia. ua haujlwm.

Yog tias peb tau tshaj tawm qhov kev sim ua neej nyob, ces xav txog, peb cov ntaub ntawv tau tawg, thiab hauv koj lub Kubernetes ib nrab ntawm txhua yam pib rov pib dua vim qhov kev sim ua neej tsis ua haujlwm. Qhov no txhais tau tias koj yuav tsum rov pib dua. Qhov no tsis yog txhua yam koj xav tau, Kuv txawm muaj kev paub dhau los hauv kev xyaum. Peb muaj daim ntawv thov sib tham uas tau sau rau hauv JS thiab pub rau hauv Mongo database. Thiab qhov teeb meem yog tias nws yog thaum pib ntawm kuv txoj haujlwm nrog Kubernetes, peb tau piav qhia txog kev npaj txhij, kev ua neej nyob ntawm kev sim ntawm lub hauv paus ntsiab lus uas Kubernetes tuaj yeem ua tau, yog li peb yuav siv nws. Yog li ntawd, qee lub sijhawm Mongo tau dhau los ua "dub" me ntsis thiab cov qauv pib ua tsis tiav. Yog li, raws li kev ntsuam xyuas los nag, cov pods pib "tua".

Raws li koj nkag siab, thaum lawv "tua", qhov no yog kev sib tham, uas yog, muaj ntau qhov kev sib txuas los ntawm cov neeg siv khoom dai ntawm nws. Lawv kuj raug "tua" - tsis yog, tsis yog cov neeg siv khoom, tsuas yog kev sib txuas - tsis yog tag nrho tib lub sijhawm, thiab vim tias lawv tsis raug tua tib lub sijhawm, qee qhov ua ntej, qee qhov tom qab, lawv tsis pib tib lub sijhawm. sij hawm. Ntxiv rau tus qauv random, peb tsis tuaj yeem kwv yees nrog qhov tseeb millisecond lub sijhawm pib ntawm daim ntawv thov txhua lub sijhawm, yog li lawv ua ib qho piv txwv ntawm ib lub sijhawm. Ib qho infospot nce, ntxiv rau qhov ntsuas, txhua tus neeg siv khoom tuaj rau ntawd, nws tsis tuaj yeem tiv taus xws li kev thauj khoom, vim nws nyob ib leeg, thiab, kwv yees hais, muaj kaum ob ntawm lawv ua haujlwm nyob ntawd, thiab nws poob. Tus tom ntej no nce, tag nrho cov load yog nyob rau ntawm nws, nws kuj ntog. Zoo, cov ntog no tsuas yog txuas ntxiv mus rau cascade. Thaum kawg, yuav ua li cas qhov no tau daws - peb tsuas yog yuav tsum nruj me ntsis txwv cov neeg siv tsheb mus rau daim ntawv thov no, cia tag nrho cov xwm txheej nce thiab tom qab ntawd pib tag nrho cov neeg siv tsheb khiav ib zaug kom nws tau faib rau tag nrho kaum zaus.

Yog tias nws tsis yog rau qhov kev sim ua neej nyob tau tshaj tawm, uas yuav yuam kom tag nrho rov pib dua, daim ntawv thov yuav tau ua haujlwm zoo. Tab sis txhua yam los ntawm kev sib npaug yog neeg xiam rau peb, vim tias cov ntaub ntawv siv tsis tau thiab txhua tus neeg siv tau "poob". Tom qab ntawd, thaum cov ntaub ntawv no muaj, txhua yam muaj nyob rau hauv kev sib npaug, tab sis cov ntawv thov tsis tas yuav pib dua, thiab tsis tas yuav nkim sijhawm thiab cov peev txheej ntawm qhov no. Lawv txhua tus twb nyob ntawm no, lawv npaj txhij rau kev khiav tsheb, yog li kev khiav tsheb tsuas yog qhib, txhua yam zoo - daim ntawv thov nyob rau hauv qhov chaw, txhua yam tseem ua haujlwm.

Yog li ntawd, kev npaj txhij thiab kev kuaj lub neej yog txawv, txawm li ntawd los, koj tuaj yeem ua qhov kev kuaj mob sib txawv, ib hom radii, ib hom liv, piv txwv li, thiab kuaj ntau yam. Thaum kuaj kev npaj txhij, xyuas koj cov backends. Thiab ntawm qhov kev sim ua neej nyob, piv txwv li, koj tsis kuaj los ntawm qhov pom tias qhov kev sim ua neej nyob feem ntau tsuas yog daim ntawv thov teb, yog tias nws tuaj yeem teb tau txhua.

Vim tias qhov kev sim ua neej nyob, los ntawm thiab loj, yog thaum peb "tso tseg." Lub voj tsis kawg tau pib lossis lwm yam - thiab tsis muaj kev thov ntxiv lawm. Yog li ntawd, nws ua rau kev txiav txim siab txawm tias cais lawv - thiab siv cov logic sib txawv hauv lawv.

Hais txog yam koj yuav tsum tau teb thaum koj kuaj, thaum koj kuaj mob. Tsuas yog mob xwb. Cov neeg uas paub txog qhov no tej zaum yuav luag - tab sis qhov tseeb, kuv tau pom cov kev pabcuam hauv kuv lub neej uas teb "200" hauv XNUMX% ntawm cov neeg mob. Ntawd yog, leej twg ua tiav. Tab sis tib lub sij hawm nyob rau hauv lub cev ntawm cov lus teb lawv sau "xws li thiab xws li ib tug yuam kev."

Ntawd yog, cov xwm txheej teb tuaj rau koj - txhua yam ua tiav. Tab sis tib lub sijhawm, koj yuav tsum txheeb xyuas lub cev, vim hais tias lub cev hais tias "thov txim, qhov kev thov xaus nrog qhov yuam kev" thiab qhov no tsuas yog qhov tseeb. Kuv pom qhov no hauv lub neej tiag tiag.

Thiab yog li ntawd qee tus neeg tsis pom nws lom zem, thiab lwm tus pom tias nws mob heev, nws tseem tsim nyog ua raws li txoj cai yooj yim. Hauv kev kuaj mob, thiab hauv paus ntsiab lus thaum ua haujlwm nrog cov ntawv thov web.

Yog tias txhua yam mus zoo, ces teb nrog ob puas lo lus teb. Hauv txoj ntsiab cai, ib qho lus teb ob puas yuav haum koj. Yog tias koj nyeem ragsy zoo heev thiab paub tias qee cov lus teb txawv ntawm lwm tus, teb nrog qhov tsim nyog: 204, 5, 10, 15, txawm li cas los xij. Yog tias nws tsis zoo, ces tsuas yog "ob xoom xoom." Yog tias txhua yam mus tsis zoo thiab kev kuaj mob tsis teb, ces teb nrog tsib puas. Ntxiv dua thiab, yog tias koj nkag siab tias yuav teb li cas, cov lus teb txawv li cas txawv ntawm ib leeg. Yog tias koj tsis nkag siab, ces 502 yog koj qhov kev xaiv los teb rau kev kuaj mob yog tias muaj qee yam tsis raug.

Qhov no yog lwm lub ntsiab lus, kuv xav rov qab me ntsis txog kev kuaj xyuas cov kev pabcuam hauv qab. Yog tias koj pib, piv txwv li, txheeb xyuas tag nrho cov kev pabcuam hauv qab uas sawv tom qab koj daim ntawv thov - txhua yam hauv kev. Dab tsi peb tau txais los ntawm qhov pom ntawm microservice architecture, peb muaj lub tswv yim xws li "kev sib txuas qis" - uas yog, thaum koj cov kev pabcuam tsawg tsawg nyob ntawm ib leeg. Yog tias ib qho ntawm lawv ua tsis tiav, tag nrho lwm tus yam tsis muaj qhov haujlwm no tsuas yog ua haujlwm txuas ntxiv mus. Qee qhov kev ua haujlwm tsuas yog tsis ua haujlwm. Yog li ntawd, yog tias koj khi tag nrho cov kev kuaj xyuas kev noj qab haus huv rau ib leeg, ces koj yuav xaus nrog ib qho poob rau hauv kev tsim kho vaj tse, thiab vim tias nws poob, tag nrho cov kev kuaj xyuas kev noj qab haus huv ntawm txhua qhov kev pabcuam kuj tseem pib ua tsis tiav - thiab muaj ntau qhov kev tsim kho vaj tse nyob rau hauv dav dav. tag nrho microservice architecture No. Txhua yam mus tsaus ntuj.

Yog li ntawd, kuv xav rov hais dua qhov no dua uas koj yuav tsum tau kuaj xyuas cov kev pabcuam hauv qab, cov uas tsis muaj koj daim ntawv thov hauv ib puas feem pua ​​ntawm cov ntaub ntawv tsis tuaj yeem ua nws txoj haujlwm. Ntawd yog, nws yog qhov laj thawj uas yog tias koj muaj REST API los ntawm qhov uas tus neeg siv khaws cia rau hauv cov ntaub ntawv lossis rov qab los ntawm cov ntaub ntawv, tom qab ntawd thaum tsis muaj cov ntaub ntawv, koj tsis tuaj yeem lav ua haujlwm nrog koj cov neeg siv.

Tab sis yog tias koj cov neeg siv, thaum koj coj lawv tawm ntawm cov ntaub ntawv, ntxiv rau lwm cov metadata, los ntawm lwm qhov backend, uas koj nkag mus ua ntej xa cov lus teb rau pem hauv ntej - thiab qhov backend no tsis muaj, qhov no txhais tau tias koj muab koj cov ntaub ntawv. teb tsis muaj ib feem ntawm cov metadata.

Tom ntej no, peb kuj muaj ib qho ntawm cov teeb meem mob thaum tso cov ntawv thov.

Qhov tseeb, qhov no tsis yog tsuas yog siv rau Kubernetes los ntawm thiab loj; nws tsuas yog tshwm sim tias kab lis kev cai ntawm qee hom kev loj hlob thiab DevOps tshwj xeeb tau pib nthuav tawm tib lub sijhawm li Kubernetes. Yog li ntawd, los ntawm thiab loj, nws hloov tawm hais tias koj yuav tsum gracefully kaw koj daim ntawv thov yam tsis muaj Kubernetes. Txawm tias ua ntej Kubernetes, tib neeg tau ua qhov no, tab sis nrog kev tshwm sim ntawm Kubernetes, peb pib tham txog nws en masse.

Kev Ua Zoo Zoo

Feem ntau, Graceful Shutdown yog dab tsi thiab vim li cas nws thiaj xav tau? Qhov no yog hais txog thaum koj daim ntawv thov poob rau qee qhov laj thawj, koj yuav tsum ua app stop - los yog koj tau txais, piv txwv li, ib lub teeb liab los ntawm lub operating system, koj daim ntawv thov yuav tsum to taub nws thiab ua ib yam dab tsi txog nws. Qhov xwm txheej phem tshaj plaws, tau kawg, yog thaum koj daim ntawv thov tau txais SIGTERM thiab zoo li "SIGTERM, cia peb dai, ua haujlwm, tsis ua dab tsi." Qhov no yog ib qho kev xaiv tsis zoo.

Yuav tsum tau tsim ib daim ntawv thov hauv Kubernetes

Ib qho kev xaiv yuav luag zoo sib xws yog thaum koj daim ntawv thov tau txais SIGTERM thiab zoo li "lawv hais tias segterm, uas txhais tau tias peb tab tom xaus, kuv tsis tau pom, kuv tsis paub cov neeg siv thov, kuv tsis paub tias hom twg. thov kuv tau ua haujlwm tam sim no, lawv hais tias SIGTERM, uas txhais tau tias peb tab tom xaus " Qhov no kuj yog ib qho kev xaiv tsis zoo.

Qhov kev xaiv twg yog qhov zoo? Thawj qhov taw tes yog coj mus rau hauv tus account ua tiav cov haujlwm. Ib qho kev xaiv zoo yog rau koj tus neeg rau zaub mov tseem yuav tsum coj mus rau hauv tus account nws ua li cas yog tias nws tau txais SIGTERM.

SIGTERM yog qhov muag muag, nws yog tsim tshwj xeeb, nws tuaj yeem cuam tshuam ntawm qib code, nws tuaj yeem ua tiav, hais tias tam sim no, tos, peb yuav ua ntej ua tiav cov haujlwm uas peb muaj, ces peb yuav tawm.

Los ntawm Kubernetes foundations, qhov no yog qhov nws zoo li. Thaum peb hais rau lub plhaub taum uas khiav hauv Kubernetes pawg, "thov nres, tawm mus," lossis peb tau rov pib dua, lossis qhov hloov tshiab tshwm sim thaum Kubernetes rov tsim cov pods, Kubernetes tsuas yog xa tib cov lus SIGTERM rau lub pod, tos rau. Qee lub sij hawm, thiab, qhov no yog lub sijhawm uas nws tos, nws kuj tau teeb tsa, muaj qhov tshwj xeeb zoo li no hauv daim ntawv pov thawj thiab nws hu ua Graceful ShutdownTimeout. Raws li koj nkag siab, nws tsis yog hu ua tsis muaj dab tsi, thiab nws tsis yog rau tsis muaj dab tsi uas peb tab tom tham txog tam sim no.

Nyob ntawd peb tuaj yeem hais meej tias peb yuav tsum tau tos ntev npaum li cas ntawm lub sijhawm peb xa SIGTERM rau daim ntawv thov thiab thaum peb nkag siab tias daim ntawv thov zoo li tau ploj mus rau qee yam lossis "kab" thiab tsis tas yuav xaus - thiab peb yuav tsum tau xa nws SIGKILL, uas yog, nyuaj ua tiav nws txoj haujlwm. Ntawd yog, raws li, peb muaj qee yam ntawm daemon khiav, nws ua haujlwm. Peb nkag siab tias qhov nruab nrab peb cov haujlwm uas cov daemon ua haujlwm tsis pub dhau 30 vib nas this ib zaug. Raws li, thaum SIGTERM tuaj txog, peb nkag siab tias peb tus daemon tuaj yeem ua tiav 30 vib nas this tom qab SIGTERM. Peb sau nws, piv txwv li, 45 vib nas this hauv rooj plaub thiab hais tias SIGTERM. Tom qab ntawd peb tos 45 vib nas this. Hauv txoj kev xav, lub sijhawm no tus dab yuav tsum tau ua tiav nws txoj haujlwm thiab xaus nws tus kheej. Tab sis yog tias tam sim ntawd nws ua tsis tau, nws txhais tau tias nws feem ntau yuav daig - nws tsis ua tiav peb qhov kev thov ib txwm. Thiab hauv 45 vib nas this koj tuaj yeem nyab xeeb, qhov tseeb, ntsia nws.

Thiab ntawm no, qhov tseeb, txawm tias 2 yam tuaj yeem coj mus rau hauv tus account. Ua ntej, nkag siab tias yog tias koj tau txais kev thov, koj pib ua haujlwm nrog nws qee yam thiab tsis tau teb rau tus neeg siv, tab sis koj tau txais SIGTERM, piv txwv li. Nws ua rau kev nkag siab zoo dua nws thiab muab lus teb rau tus neeg siv. Qhov no yog lub ntsiab lus thib ib hauv qhov no. Lub ntsiab lus thib ob ntawm no yog tias yog tias koj sau koj tus kheej daim ntawv thov, feem ntau tsim cov qauv tsim hauv txoj hauv kev uas koj tau txais kev thov rau koj daim ntawv thov, ces koj pib ua haujlwm, pib rub tawm cov ntaub ntawv los ntawm qhov chaw, rub tawm cov ntaub ntawv, thiab dab tsi tsis yog. - Qhov ntawd. Feem ntau, koj tus neeg siv, koj qhov kev thov hangs rau ib nrab ib teev thiab tos koj los teb nws - ces, feem ntau, koj yuav tsum tau ua haujlwm ntawm lub tsev. Ntawd yog, tsuas yog coj mus rau hauv tus account txawm tias muaj kev nkag siab zoo tias yog tias koj cov haujlwm luv luv, ces nws ua rau kev txiav txim siab tsis quav ntsej SIGTERM thiab hloov kho nws. Yog tias koj cov haujlwm ua haujlwm ntev, ces nws tsis muaj kev nkag siab tsis quav ntsej SIGTERM hauv qhov no. Nws ua rau kev txiav txim siab rov tsim dua tshiab kom tsis txhob muaj kev ua haujlwm ntev. Yog li ntawd cov neeg siv tsis yog nyob ib puag ncig thiab tos. Kuv tsis paub, ua qee hom websocket nyob ntawd, ua rov qab hooks uas koj lub server yuav twb xa mus rau tus neeg siv khoom, lwm yam, tab sis tsis txhob yuam tus neeg siv los dai rau ib nrab teev thiab tsuas yog tos rau kev sib kho kom txog thaum koj. teb nws. Vim nws yog unpredictable qhov twg nws yuav tawg.

Thaum koj daim ntawv thov xaus, koj yuav tsum muab qee qhov kev tawm code tsim nyog. Ntawd yog, yog tias koj daim ntawv thov raug kaw, nres, thiab nws tuaj yeem nres nws tus kheej ib txwm, ces koj tsis tas yuav rov qab qee yam kev tawm code 1,5,255 thiab lwm yam. Txhua yam uas tsis yog xoom code, tsawg kawg hauv Linux systems, kuv paub tseeb tias qhov no, suav tias yog ua tsis tiav. Ntawd yog, nws tau txiav txim siab tias koj daim ntawv thov hauv qhov no tau xaus nrog qhov yuam kev. Raws li, hauv txoj kev sib haum xeeb, yog tias koj daim ntawv thov ua tiav yam tsis muaj qhov yuam kev, koj hais 0 ntawm cov zis. Yog tias koj daim ntawv thov ua tsis tiav vim qee yam, koj hais tias tsis yog-0 hauv cov zis. Thiab koj tuaj yeem ua haujlwm nrog cov ntaub ntawv no.

Thiab qhov kev xaiv kawg. Nws tsis zoo thaum koj tus neeg siv xa daim ntawv thov thiab dai rau ib nrab ib teev thaum koj ua nws. Tab sis feem ntau, kuv kuj xav hais txog dab tsi feem ntau tsim nyog los ntawm tus neeg siv khoom sab. Nws tsis muaj teeb meem yog tias koj muaj daim ntawv thov mobile, pem hauv ntej, thiab lwm yam. Nws yog ib qho tsim nyog yuav tsum coj mus rau hauv tus account tias feem ntau tus neeg siv qhov kev sib kho tuaj yeem raug txiav tawm, txhua yam tuaj yeem tshwm sim. Ib qho kev thov yuav raug xa, piv txwv li, ua tsis tiav thiab tsis muaj lus teb rov qab. Koj qhov frontend lossis koj daim ntawv thov mobile - txhua qhov frontend feem ntau, cia peb tso nws li ntawd - yuav tsum coj qhov no rau hauv tus account. Yog tias koj ua haujlwm nrog websockets, qhov no feem ntau yog qhov mob hnyav tshaj plaws uas kuv tau muaj.

Thaum cov neeg tsim tawm ntawm qee qhov kev sib tham tsis tu ncua tsis paub qhov ntawd, nws hloov tawm, lub websocket tuaj yeem tawg. Rau lawv, thaum muaj ib yam dab tsi tshwm sim ntawm lub npe, peb tsuas yog hloov lub config, thiab nws ua reload. Lawm, tag nrho cov sij hawm nyob ntev yog torn nyob rau hauv cov ntaub ntawv no. Cov neeg tsim tawm tuaj rau peb thiab hais tias: "Cov txiv neej, koj ua dab tsi, kev sib tham tau tawg rau tag nrho peb cov neeg siv khoom!" Peb hais rau lawv tias: β€œKoj ua dab tsi? Puas yog koj cov neeg siv khoom tsis tuaj yeem txuas dua? Lawv hais tias: "Tsis yog, peb xav tau cov kev sib tham kom tsis txhob tawg." Hauv luv luv, qhov no yog qhov tsis muaj tseeb. Cov neeg sab nrauv yuav tsum tau coj mus rau hauv tus account. Tshwj xeeb tshaj yog, raws li kuv hais, nrog lub sijhawm ntev ntev xws li websockets, nws tuaj yeem tawg thiab, tsis pom los ntawm tus neeg siv, koj yuav tsum muaj peev xwm rov nruab cov ntu ntawd. Thiab ces txhua yam zoo tag nrho.

Cov kev pab

Qhov tseeb, ntawm no kuv tsuas yog qhia koj ib zaj dab neeg ncaj nraim. Rov los ntawm lub neej tiag tiag. Qhov mob hnyav tshaj plaws uas kuv tau hnov ​​​​txog cov peev txheej.

Cov peev txheej hauv qhov no, kuv txhais tau tias, qee qhov kev thov, txwv uas koj tuaj yeem tso rau hauv cov pods hauv koj pawg Kubernetes. Qhov lom zem tshaj plaws uas kuv tau hnov ​​los ntawm tus tsim tawm ... Ib qho ntawm kuv cov phooj ywg tsim tawm ntawm qhov chaw ua haujlwm dhau los ib zaug hais tias: "Kuv daim ntawv thov yuav tsis pib hauv pawg." Kuv ntsia pom tias nws tsis tau pib, tab sis nws tsis haum rau cov peev txheej, lossis lawv tau teeb tsa me me heev. Hauv luv luv, daim ntawv thov tsis tuaj yeem pib vim muaj peev txheej. Kuv hais tias: "Nws yuav tsis pib vim muaj peev txheej, koj txiav txim siab npaum li cas koj xav tau thiab teeb tsa tus nqi txaus." Nws hais tias: "Cov peev txheej zoo li cas?" Kuv pib piav qhia rau nws tias Kubernetes, txwv kev thov thiab blah, blah, blah yuav tsum tau teeb tsa. Tus txiv neej tau mloog li tsib feeb, tau taub hau thiab hais tias: β€œKuv tuaj ntawm no los ua tus tsim tawm, Kuv tsis xav paub dab tsi txog cov peev txheej. Kuv tuaj ntawm no los sau code thiab qhov ntawd yog nws. " Nws yog kev tu siab. Qhov no yog ib lub tswv yim tu siab heev los ntawm tus tsim tawm qhov kev xav. Tshwj xeeb tshaj yog nyob rau hauv lub ntiaj teb no niaj hnub, yog li hais, ntawm kev vam meej devops.

Vim li cas thiaj xav tau kev pab txhua? Muaj 2 hom kev pab hauv Kubernetes. Qee qhov hu ua kev thov, lwm tus hu ua txwv. Los ntawm cov peev txheej peb yuav nkag siab tias qhov tseem ceeb ib txwm tsuas yog ob qho kev txwv yooj yim xwb. Ntawd yog, CPU sijhawm txwv thiab RAM txwv rau lub thawv khiav hauv Kubernetes.

Ib qho kev txwv tso ib qho kev txwv siab ntawm yuav ua li cas cov peev txheej tuaj yeem siv hauv koj daim ntawv thov. Qhov ntawd yog, raws li, yog tias koj hais 1GB ntawm RAM hauv qhov txwv, ces koj daim ntawv thov yuav tsis tuaj yeem siv ntau dua 1GB ntawm RAM. Thiab yog tias nws dheev xav thiab sim ua qhov no, ces tus txheej txheem hu ua oom killer, tawm ntawm lub cim xeeb, uas yog, yuav los tua koj daim ntawv thov - uas yog, nws tsuas yog rov pib dua. Cov ntawv thov yuav tsis rov pib dua raws li CPU. Hais txog CPU, yog tias daim ntawv thov sim siv ntau, ntau tshaj li teev nyob rau hauv qhov txwv, CPU yuav tsuas yog nruj me ntsis xaiv. Qhov no tsis ua rau rov pib dua. Qhov no yog qhov txwv - qhov no yog qhov txwv sab saud.

Thiab muaj kev thov. Qhov kev thov yog li cas Kubernetes nkag siab tias cov nodes hauv koj pawg Kubernetes li cas muaj nyob nrog cov ntawv thov. Ntawd yog, kev thov yog hom kev cog lus ntawm koj daim ntawv thov. Nws hais tias qhov kuv xav siv: "Kuv xav kom koj khaws CPU ntau thiab nco ntau rau kuv." Xws li ib tug yooj yim analogy. Yuav ua li cas yog tias peb muaj cov node uas muaj, kuv tsis paub, 8 CPUs nyob rau hauv tag nrho. Thiab lub plhaub taum tuaj txog ntawd, nws qhov kev thov hais tias 1 CPU, uas txhais tau hais tias lub pob muaj 7 CPUs sab laug. Qhov ntawd yog, raws li, sai li sai tau thaum 8 pods tuaj txog ntawm node, txhua tus uas muaj 1 CPU hauv lawv qhov kev thov, cov node, zoo li los ntawm qhov pom ntawm Kubernetes, tau khiav tawm ntawm CPU thiab ntau cov pods nrog kev thov tsis tuaj yeem ua. launched ntawm node. Yog tias tag nrho cov nodes khiav tawm ntawm CPU, ces Kubernetes yuav pib hais tias tsis muaj cov nodes haum hauv pawg los khiav koj cov pods vim CPU tau khiav tawm.

Vim li cas thiaj xav tau kev thov thiab vim li cas tsis muaj kev thov, kuv xav tias tsis tas yuav tso ib yam dab tsi hauv Kubernetes? Cia peb xav txog qhov xwm txheej hypothetical. Koj tso koj daim ntawv thov yam tsis tau thov, Kubernetes tsis paub ntau npaum li cas ntawm koj muaj, dab tsi nodes koj tuaj yeem thawb nws mus. Zoo, nws thawb, shoves, shoves mus rau ntawm lub pob. Qee lub sij hawm, koj yuav pib tau tsheb mus rau koj daim ntawv thov. Thiab ib qho ntawm cov ntawv thov tam sim ntawd pib siv cov peev txheej mus txog qhov txwv uas nws muaj raws li qhov txwv. Nws hloov tawm tias muaj lwm daim ntawv thov nyob ze thiab nws kuj xav tau kev pab. Cov node tau pib lub cev khiav tawm ntawm cov peev txheej, piv txwv li, OP. Cov node tau pib lub cev khiav tawm ntawm cov peev txheej, piv txwv li, nkag mus rau qhov nco (RAM). Thaum lub node khiav tawm ntawm lub hwj chim, ua ntej ntawm tag nrho cov docker yuav tsum tsis teb, ces lub cubelet, ces lub OS. Lawv tsuas yuav tsis nco qab thiab txhua yam yuav tsis ua haujlwm rau koj. Ntawd yog, qhov no yuav ua rau koj cov node tau daig thiab koj yuav tsum tau rov pib dua. Hauv luv luv, qhov xwm txheej tsis zoo heev.

Thiab thaum koj muaj kev thov, cov kev txwv tsis sib txawv heev, yam tsawg kawg tsis ntau zaus ntau tshaj li qhov txwv lossis kev thov, ces koj tuaj yeem muaj qhov zoo li qub, muaj nuj nqis sau cov ntawv thov thoob plaws cov pob ntawm Kubernetes pawg. Tib lub sijhawm, Kubernetes yog kwv yees li paub txog ntau npaum li cas nws tso qhov twg, ntau npaum li cas ntawm qhov siv qhov twg. Ntawd yog, nws tsuas yog lub sijhawm ntawd. Nws yog ib qho tseem ceeb kom nkag siab txog nws. Thiab nws yog ib qho tseem ceeb kom tswj tau qhov no yog qhia.

Cov ntaub ntawv cia

Peb lub ntsiab lus tom ntej yog hais txog kev khaws cov ntaub ntawv. Yuav ua li cas nrog lawv thiab feem ntau, yuav ua li cas nrog kev mob siab rau hauv Kubernetes?

Kuv xav, dua, hauv peb Tsev Kawm Ntawv Hmo Ntuj, muaj ib lub ntsiab lus hais txog cov database hauv Kubernetes. Thiab nws zoo li kuv tias kuv txawm paub zoo li cas koj cov npoj yaig tau hais rau koj thaum nug: "Puas muaj peev xwm khiav lub database hauv Kubernetes?" Rau qee qhov laj thawj, nws zoo li kuv tias koj cov npoj yaig yuav tsum tau hais rau koj tias yog koj nug cov lus nug seb puas muaj peev xwm khiav lub database hauv Kubernetes, ces nws tsis yooj yim sua.

Lub logic ntawm no yog qhov yooj yim. Tsuas yog nyob rau hauv rooj plaub, kuv mam li piav qhia ib zaug ntxiv, yog tias koj yog tus txiv neej txias tiag tiag uas tuaj yeem tsim kom muaj kev ua txhaum cai ntawm kev sib faib network cia, nkag siab yuav ua li cas kom haum rau hauv cov ntaub ntawv no, huab cua ib txwm nyob hauv cov thawv yuav tsum ua haujlwm li cas nyob rau hauv ib tug database feem ntau. Feem ntau, koj tsis muaj lus nug txog yuav ua li cas khiav nws. Yog tias koj muaj cov lus nug zoo li no, thiab koj xav kom paub tseeb tias nws tag nrho nthuav tawm thiab sawv txoj cai rau kev tuag hauv kev tsim khoom thiab tsis poob, ces qhov no tsis tshwm sim. Koj tau lees tias tua koj tus kheej hauv ko taw nrog txoj hauv kev no. Yog li nws zoo dua tsis txhob.

Peb yuav ua li cas nrog cov ntaub ntawv uas peb daim ntawv thov xav khaws cia, qee cov duab uas cov neeg siv upload, qee yam uas peb daim ntawv thov tsim tawm thaum lub sijhawm ua haujlwm, piv txwv li? Yuav ua li cas nrog lawv hauv Kubernetes?

Feem ntau, qhov zoo tshaj plaws, yog, tau kawg, Kubernetes tau tsim tau zoo heev thiab feem ntau pib xeeb rau cov ntawv thov tsis muaj neeg nyob. Ntawd yog, rau cov ntawv thov uas tsis khaws cov ntaub ntawv txhua. Qhov no yog qhov zoo tagnrho.

Tab sis, ntawm chav kawm, qhov kev xaiv zoo tshaj plaws tsis yog ib txwm muaj. Yog li cas? Thawj qhov thiab qhov yooj yim tshaj plaws yog coj qee yam ntawm S3, tsuas yog tsis yog lub tsev tsim, uas tseem tsis paub meej tias nws ua haujlwm li cas, tab sis los ntawm qee tus kws kho mob. Ib tug zoo, ib txwm muab kev pab - thiab qhia koj daim ntawv thov siv S3. Ntawd yog, thaum koj tus neeg siv xav xa cov ntaub ntawv, hais tias "ntawm no, thov, upload nws rau S3." Thaum nws xav tau nws, hais tias: "Ntawm no yog qhov txuas rau S3 rov qab thiab nqa los ntawm no." Qhov no yog qhov zoo tagnrho.

Yog tias mam li nco dheev vim qee qhov kev xaiv zoo tshaj plaws no tsis haum, koj muaj daim ntawv thov uas koj tsis tau sau, koj tsis tsim, lossis nws yog qee yam ntawm cov cuab yeej cuab tam txaus ntshai, nws siv tsis tau S3 raws tu qauv, tab sis yuav tsum ua haujlwm nrog cov npe hauv zos hauv cov folders hauv zos. Siv ib yam dab tsi ntau dua lossis tsawg dua yooj yim, xa Kubernetes. Ntawd yog, tam sim ntawd fencing Ceph rau qee yam haujlwm tsawg, nws zoo li kuv, yog lub tswv yim phem. Vim Ceph, ntawm chav kawm, yog qhov zoo thiab zam. Tab sis yog tias koj tsis to taub tiag tiag koj tab tom ua dab tsi, ces thaum koj tso ib yam dab tsi rau Ceph, koj tuaj yeem yooj yim heev thiab tsuas tsis tau tawm ntawm qhov ntawd ntxiv. Vim tias, raws li koj paub, Ceph khaws cov ntaub ntawv hauv nws pawg hauv binary daim ntawv, thiab tsis yog hauv daim ntawv ntawm cov ntaub ntawv yooj yim. Yog li ntawd, yog tias tam sim ntawd lub Ceph pawg tawg, ces muaj qhov ua tiav thiab muaj feem ntau uas koj yuav tsis tau txais koj cov ntaub ntawv los ntawm qhov ntawd dua.

Peb yuav muaj chav kawm ntawm Ceph, koj tuaj yeem ua tau paub koj tus kheej nrog qhov program thiab xa daim ntawv thov.

Yog li ntawd, nws yog qhov zoo dua los ua tej yam yooj yim xws li NFS server. Kubernetes tuaj yeem ua haujlwm nrog lawv, koj tuaj yeem txuas cov npe hauv qab NFS server - koj daim ntawv thov zoo ib yam li cov npe hauv zos. Nyob rau tib lub sijhawm, ib txwm, koj yuav tsum nkag siab tias, dua, koj yuav tsum ua qee yam nrog koj NFS, koj yuav tsum nkag siab tias qee zaum nws yuav dhau los ua tsis tau thiab xav txog cov lus nug ntawm koj yuav ua li cas hauv qhov no. Tej zaum nws yuav tsum tau rov qab rau qhov chaw ntawm lub tshuab cais.

Cov ntsiab lus tom ntej kuv tau tham txog yog yuav ua li cas yog tias koj daim ntawv thov tsim qee cov ntaub ntawv thaum lub sijhawm ua haujlwm. Piv txwv li, thaum nws pib, nws tsim qee cov ntaub ntawv zoo li qub, uas yog raws li qee cov ntaub ntawv uas daim ntawv thov tau txais tsuas yog thaum lub sijhawm tso tawm. Ib pliag. Yog tias tsis muaj ntau cov ntaub ntawv, ces koj tsis tas yuav thab txhua, tsuas yog nruab daim ntawv thov no rau koj tus kheej thiab ua haujlwm. Tib lo lus nug ntawm no yog dab tsi, saib. Feem ntau, txhua yam ntawm cov txheej txheem qub txeeg qub teg, xws li WordPress thiab lwm yam, tshwj xeeb tshaj yog nrog kev hloov kho qee yam kev txawj ntse plugins, tus tsim PHP ntse, lawv feem ntau paub yuav ua li cas thiaj li tsim tau qee yam ntaub ntawv rau lawv tus kheej. Raws li, ib qho tsim ib cov ntaub ntawv, qhov thib ob tsim cov ntaub ntawv thib ob. Lawv txawv. Kev sib npaug tshwm sim hauv cov neeg siv khoom ' Kubernetes pawg tsuas yog caij nyoog. Raws li, nws hloov tawm tias lawv tsis paub yuav ua li cas ua haujlwm ua ke hauv piv txwv. Ib tug muab ib cov ntaub ntawv, lwm tus muab rau cov neeg siv lwm cov ntaub ntawv. Nov yog qee yam koj yuav tsum zam. Ntawd yog, hauv Kubernetes, txhua yam koj tso tawm tau lees tias tuaj yeem ua haujlwm ntau zaus. Vim Kubernetes yog qhov txav mus los. Raws li, nws tuaj yeem txav tau txhua yam, thaum twg nws xav tau, yam tsis tau nug leej twg. Yog li ntawd, koj yuav tsum suav rau qhov no. Txhua yam tsim tawm hauv ib qho piv txwv yuav sai lossis tom qab ua tsis tiav. Qhov ntau reservations koj muaj, qhov zoo. Tab sis dua, kuv hais tias, yog tias koj muaj ob peb cov ntaub ntawv, ces koj tuaj yeem muab tso rau hauv qab koj, lawv hnyav me me. Yog tias muaj me ntsis ntawm lawv, tej zaum koj yuav tsum tsis txhob thawb lawv hauv lub thawv.

Kuv xav qhia tias muaj qhov zoo li no hauv Kubernetes, koj tuaj yeem siv ntim. Hauv particular, muaj ib lub ntim ntawm hom khoob dir. Ntawd yog, nws tsuas yog tias Kubernetes yuav cia li tsim ib daim ntawv teev npe hauv nws cov npe kev pabcuam ntawm tus neeg rau zaub mov uas koj tau pib. Thiab nws yuav muab rau koj kom koj siv tau. Tsuas muaj ib qho tseem ceeb xwb. Ntawd yog, koj cov ntaub ntawv yuav tsis muab cia rau hauv lub thawv, tab sis theej ntawm tus tswv tsev uas koj tab tom khiav. Ntxiv mus, Kubernetes tuaj yeem tswj tau qhov khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob khoob. Tib lub ntsiab lus yog tias qhov koj tau sau rau hauv npliag dir tsis ploj thaum lub pod restarts. Ntawd yog, yog tias koj lub plhaub taum poob los ntawm qhov yuam kev thiab nce ntxiv, cov ntaub ntawv hauv qhov khoob dir yuav tsis mus qhov twg. Nws tuaj yeem siv nws dua thaum pib tshiab - thiab qhov ntawd yog qhov zoo. Yog tias koj lub plhaub taum tawm qhov chaw, ces nws yuav tawm mus yam tsis muaj ntaub ntawv. Ntawd yog, sai li sai tau thaum lub plhaub taum ntawm qhov chaw uas nws tau pib nrog npliag dir ploj, khoob dir raug tshem tawm.

Dab tsi ntxiv yog qhov zoo ntawm khoob dir? Piv txwv li, nws tuaj yeem siv ua lub cache. Cia peb xav txog tias peb daim ntawv thov tsim ib yam dab tsi ntawm ya, muab rau cov neeg siv, thiab ua nws ntev. Yog li ntawd, daim ntawv thov, piv txwv li, generates thiab muab rau cov neeg siv, thiab nyob rau tib lub sij hawm khw muag khoom nws nyob rau hauv ib qho chaw, yog li ntawd lub sij hawm tom ntej no tus neeg siv los rau tib yam, nws yuav sai sai muab nws tam sim ntawd generated. Npliag dir tuaj yeem nug rau Kubernetes los tsim hauv nco. Thiab yog li, koj lub caches feem ntau tuaj yeem ua haujlwm ntawm xob laim - raws li kev nkag mus rau disk ceev. Ntawd yog, koj muaj qhov khoob dir hauv lub cim xeeb, hauv OS nws tau khaws cia hauv lub cim xeeb, tab sis rau koj, rau cov neeg siv hauv lub pod, nws zoo li tsuas yog cov npe hauv zos. Koj tsis xav tau lub app tshwj xeeb qhia tej khawv koob. Koj tsuas yog coj ncaj qha thiab muab koj cov ntaub ntawv tso rau hauv cov npe, tab sis, qhov tseeb, hauv kev nco ntawm OS. Qhov no kuj yog ib qho yooj yim heev feature ntawm Kubernetes.

Minio muaj teeb meem dab tsi? Qhov teeb meem tseem ceeb ntawm Minio yog tias kom qhov khoom no ua haujlwm, nws yuav tsum tau khiav mus rau qhov chaw, thiab yuav tsum muaj qee yam ntaub ntawv kaw lus, uas yog, cia. Thiab ntawm no peb ntsib tib yam teeb meem uas Ceph muaj. Ntawd yog, Minio yuav tsum khaws nws cov ntaub ntawv nyob qhov twg. Nws tsuas yog HTTP interface rau koj cov ntaub ntawv. Ntxiv mus, kev ua haujlwm tau pom meej meej tsis zoo dua li ntawm Amazon's S3. Yav dhau los, nws tsis tuaj yeem tso cai rau tus neeg siv kom raug. Tam sim no, raws li kuv paub, nws tuaj yeem tsim cov thoob nrog kev tso cai sib txawv, tab sis dua, nws zoo li kuv tias qhov teeb meem tseem ceeb yog, yog li hais, hauv qab qhov system cia tsawg kawg nkaus.

Empty dir hauv lub cim xeeb cuam tshuam li cas cov kev txwv? Tsis cuam tshuam rau kev txwv hauv txhua txoj kev. Nws nyob hauv lub cim xeeb ntawm tus tswv tsev, thiab tsis nyob hauv lub cim xeeb ntawm koj lub thawv. Ntawd yog, koj lub thawv tsis pom qhov khoob dir hauv nco ua ib feem ntawm nws lub cim xeeb. Tus tswv tsev pom qhov no. Raws li, yog, los ntawm qhov pom ntawm kubernetes, thaum koj pib siv qhov no, nws yuav zoo kom nkag siab tias koj tau mob siab rau ib feem ntawm koj lub cim xeeb kom npliag dir. Thiab raws li, nkag siab tias lub cim xeeb tuaj yeem khiav tawm tsis yog vim cov ntawv thov, tab sis kuj vim tias ib tus neeg sau rau cov ntawv khoob no.

Cloudnativeness

Thiab qhov kawg subtopic yog dab tsi Cloudnative yog. Vim li cas thiaj xav tau? Cloudnativeness thiab lwm yam.

Ntawd yog, cov ntawv thov uas muaj peev xwm thiab sau tau los ua haujlwm hauv huab cua niaj hnub no. Tab sis, qhov tseeb, Cloudnative muaj lwm yam zoo li no. Hais tias qhov no tsis yog tsuas yog ib daim ntawv thov uas yuav siv sij hawm mus rau hauv tus account tag nrho cov yuav tsum tau ntawm ib tug niaj hnub huab infrastructure, tab sis kuj paub yuav ua li cas ua hauj lwm nrog no niaj hnub huab infrastructure, coj kom zoo dua ntawm qhov zoo thiab qhov tsis zoo ntawm lub fact tias nws ua hauj lwm nyob rau hauv cov huab. Tsis tsuas yog mus hla lub nkoj thiab ua haujlwm hauv huab, tab sis siv cov txiaj ntsig ntawm kev ua haujlwm hauv huab.

Yuav tsum tau tsim ib daim ntawv thov hauv Kubernetes

Cia li coj Kubernetes ua piv txwv. Koj daim ntawv thov tab tom khiav hauv Kubernetes. Koj daim ntawv thov tuaj yeem ib txwm, lossis theej tus tswj hwm rau koj daim ntawv thov, tuaj yeem tsim ib tus account pabcuam. Ntawd yog, tus account rau kev tso cai hauv Kubernetes nws tus kheej hauv nws lub server. Ntxiv qee txoj cai uas peb xav tau. Thiab koj tuaj yeem nkag mus rau Kubernetes los ntawm hauv koj daim ntawv thov. Koj yuav ua li cas li no? Piv txwv li, los ntawm daim ntawv thov, tau txais cov ntaub ntawv hais txog qhov twg koj lwm daim ntawv thov, lwm yam zoo sib xws nyob rau hauv, thiab ua ke ua ke nyob rau sab saum toj ntawm Kubernetes, yog hais tias muaj xws li ib tug xav tau.

Ib zaug ntxiv, peb tau muaj ib rooj plaub tsis ntev los no. Peb muaj ib tug maub los uas saib xyuas cov queue. Thiab thaum qee qhov haujlwm tshiab tshwm sim hauv cov kab no, nws mus rau Kubernetes - thiab hauv Kubernetes nws tsim lub pod tshiab. Muab lub plhaub taum no qee qhov haujlwm tshiab thiab nyob rau hauv lub moj khaum ntawm lub plhaub taum no, lub plhaub taum ua haujlwm, xa cov lus teb rau tus tswj nws tus kheej, thiab tus maub los ua ib yam dab tsi nrog cov ntaub ntawv no. Piv txwv li, nws ntxiv ib lub database. Ntawd yog, dua, qhov no yog qhov ntxiv ntawm qhov tseeb tias peb daim ntawv thov khiav hauv Kubernetes. Peb tuaj yeem siv qhov ua haujlwm Kubernetes built-in nws tus kheej txhawm rau txhawm rau nthuav dav thiab ua haujlwm ntawm peb daim ntawv thov yooj yim dua. Ntawd yog, tsis txhob zais qee yam khawv koob txog yuav ua li cas tso daim ntawv thov, yuav ua li cas tso tus neeg ua haujlwm. Hauv Kubernetes, koj tsuas yog xa daim ntawv thov hauv app yog tias daim ntawv thov raug sau hauv Python.

Tib yam siv yog tias peb mus dhau Kubernetes. Peb muaj peb Kubernetes khiav qhov chaw - nws yog qhov zoo yog tias nws nyob hauv qee hom huab. Ib zaug ntxiv, peb tuaj yeem siv tau, thiab txawm tias yuav tsum, kuv ntseeg, siv lub peev xwm ntawm huab nws tus kheej qhov twg peb tab tom khiav. Los ntawm cov khoom tseem ceeb uas huab muab rau peb. Sib npaug, uas yog, peb tuaj yeem tsim huab sib npaug thiab siv lawv. Qhov no yog qhov txiaj ntsig ncaj qha ntawm qhov peb tuaj yeem siv tau. Vim hais tias huab sib npaug, ua ntej, yooj yim stupidly tshem tawm lub luag haujlwm ntawm peb rau nws ua haujlwm li cas, nws tau teeb tsa li cas. Ntxiv rau nws yooj yim heev, vim Kubernetes li niaj zaus tuaj yeem ua ke nrog huab.

Ib yam mus rau scaling. Kubernetes li niaj zaus tuaj yeem koom ua ke nrog cov chaw muab huab. Paub yuav ua li cas to taub tias yog cov pawg khiav tawm ntawm cov nodes, uas yog, qhov chaw ntawm qhov chaw tau khiav tawm, ces koj yuav tsum tau ntxiv - Kubernetes nws tus kheej yuav ntxiv cov nodes tshiab rau koj pawg thiab pib tso cov pods ntawm lawv. Ntawd yog, thaum koj thauj khoom tuaj, tus naj npawb ntawm cov hearths pib nce. Thaum cov nodes hauv pawg khiav tawm rau cov pods no, Kubernetes tso tawm cov nodes tshiab thiab, raws li, tus naj npawb ntawm cov pods tseem tuaj yeem nce ntxiv. Thiab nws yooj yim heev. Qhov no yog lub sijhawm ncaj qha los ntsuas cov pawg ntawm ya. Tsis ceev heev, nyob rau hauv lub siab hais tias nws tsis yog ib tug thib ob, nws yog ntau zoo li ib feeb nyob rau hauv thiaj li yuav ntxiv nodes tshiab.

Tab sis los ntawm kuv qhov kev paub, dua, nws yog qhov txias tshaj plaws uas kuv tau pom. Thaum Cloudnative pawg tau ntsuas raws sijhawm ntawm hnub. Nws yog ib qho kev pabcuam backend uas tau siv los ntawm cov neeg hauv lub chaw ua haujlwm tom qab. Ntawd yog, lawv tuaj ua haujlwm thaum 9 teev sawv ntxov, pib nkag mus rau hauv lub kaw lus, thiab raws li, Cloudnative pawg, qhov twg nws txhua tus khiav, pib o, tso tawm cov pods tshiab kom txhua tus neeg tuaj yeem ua haujlwm nrog daim ntawv thov. Thaum lawv tawm haujlwm thaum 8 teev tsaus ntuj lossis 6 teev tsaus ntuj, cov pab pawg Kubernetes pom tias tsis muaj leej twg siv daim ntawv thov ntxiv lawm thiab pib ntsws. Txuag txog li 30 feem pua ​​yog lav. Nws ua haujlwm hauv Amazon thaum lub sijhawm ntawd; thaum lub sijhawm ntawd tsis muaj ib tus neeg hauv tebchaws Russia uas tuaj yeem ua tau zoo.

Kuv yuav qhia koj ncaj nraim, qhov kev txuag nyiaj yog 30 feem pua ​​​​ntawm qhov yooj yim vim peb siv Kubernetes thiab ua kom zoo dua ntawm cov peev txheej ntawm huab. Tam sim no qhov no tuaj yeem ua tiav hauv Russia. Kuv yuav tsis tshaj tawm rau leej twg, tau kawg, tab sis cia peb hais tias muaj cov chaw muab kev pabcuam uas tuaj yeem ua qhov no, muab nws tawm ntawm lub thawv nrog lub pob.

Muaj ib lub ntsiab lus kawg uas kuv kuj xav kom koj mloog. Nyob rau hauv thiaj li rau koj daim ntawv thov, koj infrastructure yuav tsum tau Cloudnative, nws ua rau kev nkag siab thaum kawg pib hloov mus rau hauv lub npe hu ua Infrastructure raws li ib tug Code. code Qhia koj daim ntawv thov, koj lub lag luam logic hauv daim ntawv code. Thiab ua haujlwm nrog nws li code, uas yog, sim nws, yob nws tawm, khaws cia hauv git, siv CICD rau nws.

Thiab qhov no yog qhov uas tso cai rau koj, thawj zaug, ib txwm muaj kev tswj hwm koj cov vaj tse, kom nkag siab txhua lub xeev nws nyob hauv. Qhov thib ob, zam kev ua haujlwm ntawm phau ntawv uas ua rau yuam kev. Thib peb, zam qhov yooj yim hu ua turnover, thaum koj tas li yuav tsum tau ua tib yam kev qhia ua haujlwm. Plaub, nws tso cai rau koj rov qab tau sai dua thaum muaj kev ua tsis tiav. Nyob rau hauv Russia, txhua zaus kuv tham txog qhov no, ib txwm muaj coob tus neeg hais tias: "Yog, nws yog qhov tseeb, tab sis koj muaj txoj hauv kev, luv luv, tsis tas yuav kho dab tsi." Tab sis nws muaj tseeb. Yog tias ib yam dab tsi tawg hauv koj qhov kev tsim kho vaj tse, ces los ntawm qhov pom ntawm Cloudnative mus kom ze thiab los ntawm qhov pom ntawm Infrastructure li Code, es tsis kho nws, mus rau lub server, txheeb xyuas qhov tawg thiab kho nws, nws yooj yim dua. tshem tawm cov server thiab tsim nws dua. Thiab kuv yuav muab tag nrho cov no rov qab los.

Tag nrho cov teeb meem no tau tham txog ntau yam ntxiv ntawm Kubernetes cov chav kawm video: Junior, Basic, Mega. Los ntawm kev ua raws li qhov txuas koj tuaj yeem paub koj tus kheej nrog cov kev pab cuam thiab cov xwm txheej. Qhov yooj yim tshaj plaws yog tias koj tuaj yeem ua tus tswv Kubernetes los ntawm kev kawm hauv tsev lossis ua haujlwm 1-2 teev ib hnub.

Tau qhov twg los: www.hab.com

Ntxiv ib saib