Puas yog qhov no txaus los tsim kev daws teeb meem rau Bitrix hauv Kubernetes?
Tsis muaj. Muaj ntau yam teeb meem uas yuav tsum tau daws.
Dab tsi yog teeb meem nrog Bitrix hauv Kubernetes?
Ua ntej, npaj cov duab los ntawm Dockerhub tsis haum rau Kubernetes
Yog hais tias peb xav tsim ib lub microservices architecture (thiab hauv Kubernetes peb feem ntau ua), peb yuav tsum cais peb cov ntawv thov Kubernetes rau hauv ntim thiab kom txhua lub thawv ua ib qho haujlwm me me (thiab ua nws zoo). Vim li cas ib leeg xwb? Hauv luv, qhov yooj yim dua qhov txhim khu kev qha.
Yuav kom paub meej ntxiv, saib kab lus no thiab video, thov: https://habr.com/ru/company/southbridge/blog/426637/
Docker dluab hauv Dockerhub yog tsim los ntawm tag nrho-hauv-ib txoj cai, yog li peb tseem yuav tsum tau ua peb tus kheej lub tsheb kauj vab thiab txawm tsim cov duab los ntawm kos.
Thib ob - lub vev xaib code raug kho los ntawm admin vaj huam sib luag
Peb tsim ib ntu tshiab ntawm lub xaib - cov cai tau hloov kho (cov npe nrog lub npe ntawm ntu tshiab tau ntxiv).
Yog tias koj hloov cov khoom ntawm ib feem ntawm lub vaj huam sib luag admin, tus lej hloov.
Yog vim li cas: Txhua lub thawv (pob tawb) hauv pawg txheej txheem tsuas yog ib feem ntawm kev khiav tsheb. Yog tias koj hloov cov cai hauv ib lub thawv nkaus xwb (pob ntseg), ces tus lej yuav txawv ntawm cov pods sib txawv, lub xaib yuav ua haujlwm sib txawv, thiab cov qauv sib txawv ntawm lub xaib yuav qhia rau cov neeg siv sib txawv. Koj ua tsis tau li ntawd.
Thib peb - koj yuav tsum daws qhov teeb meem nrog kev xa tawm
Yog hais tias peb muaj ib tug monolith thiab ib tug "classic" server, txhua yam yog heev yooj yim: peb deploy ib tug tshiab code puag, migrate lub database, hloov tsheb mus rau lub tshiab version ntawm code. Switching tshwm sim tam sim ntawd.
Yog tias peb muaj qhov chaw hauv Kubernetes, txiav rau hauv microservices, muaj ntau lub ntim nrog cov lej - huag. Koj yuav tsum tau sau cov thawv nrog cov qauv tshiab ntawm cov cai, yob lawv tawm ntawm cov qub, hloov cov ntaub ntawv kom raug, thiab ua qhov zoo tshaj plaws los ntawm cov neeg tuaj saib. Hmoov zoo, Kubernetes pab peb nrog qhov no, txhawb nqa ntau pawg ntawm ntau hom kev xa tawm.
Plaub - koj yuav tsum tau daws qhov teeb meem ntawm kev khaws cov statics
Yog tias koj lub vev xaib tsuas yog "tsuas yog" 10 gigabyte thiab koj siv nws tag nrho hauv cov thawv, koj yuav xaus nrog 10 gigabyte ntim uas yuav siv mus ib txhis.
Koj yuav tsum khaws cov "hnyav tshaj plaws" ntawm qhov chaw sab nraum lub thawv, thiab cov lus nug tshwm sim ntawm yuav ua li cas kom raug.
Dab tsi ploj ntawm peb qhov kev daws teeb meem?
Tag nrho cov cai Bitrix tsis muab faib ua microfunctions/microservices (yog li ntawd, kev sau npe yog cais, lub khw hauv online module yog cais, thiab lwm yam). Peb khaws tag nrho cov cai hauv paus hauv txhua lub thawv.
Nws tseem yuav pom tseeb rau cov thawj coj ntawm lub xaib uas lub vev xaib khiav ntawm Kubernetes. Lub "system check" muaj nuj nqi tsis ua hauj lwm kom raug; los kho qhov chaw code los ntawm lub admin vaj huam sib luag, koj yuav tsum xub nias lub khawm "Kuv xav hloov cov code".
Cov teeb meem tau raug txheeb xyuas, qhov xav tau los siv microservices tau txiav txim siab, lub hom phiaj yog qhov tseeb - kom tau txais cov txheej txheem ua haujlwm rau kev khiav haujlwm ntawm Bitrix hauv Kubernetes, khaws cia ob lub peev xwm ntawm Bitrix thiab qhov zoo ntawm Kubernetes. Cia peb pib siv.
architecture
Muaj ntau "ua haujlwm" pods nrog lub web server (cov neeg ua haujlwm).
Ib qho hauv qab nrog cron cov haujlwm (tsuas yog ib qho yuav tsum tau ua).
Ib qho kev hloov kho rau kev kho qhov chaw code los ntawm lub vaj huam sib luag admin (tseem tsuas yog yuav tsum muaj ib qho).
Thaum sib sau ua ke cov duab, tag nrho cov cai hauv paus ntawm lub xaib tau theej rau /app directory (nrog rau qhov tshwj xeeb ntawm cov khoom uas peb yuav txav mus rau ib qho kev sib koom ua ke).
Microservices, kev pabcuam
cov neeg ua hauj lwm pods:
Thawv nrog nginx + thawv apache/php-fpm + msmtp
Nws tsis ua haujlwm kom txav msmtp mus rau hauv microservice cais, Bitrix tab tom pib npau taws tias nws tsis tuaj yeem xa ntawv ncaj qha
Peb tab tom tham txog kev txhim kho hauv qab?
Yuav ua li cas coj tsheb mus rau qhov ntawd?
Hurray, peb tau sau ib qho module rau qhov no hauv PHP :) Qhov no yog ib qho me me classic module rau Bitrix. Nws tseem tsis tau muaj kev tshaj tawm rau pej xeem, tab sis peb npaj yuav qhib nws.
Lub module yog ntsia zoo li ib txwm module hauv Bitrix:
Thiab nws zoo li no:
Nws tso cai rau koj los teeb tsa lub ncuav qab zib uas txheeb xyuas tus thawj coj ntawm lub xaib thiab tso cai rau Kubernetes xa cov tsheb mus rau qhov hloov kho pod.
Thaum cov kev hloov pauv tiav, koj yuav tsum nyem git thawb, cov lej hloov pauv yuav raug xa mus rau git, tom qab ntawd lub kaw lus yuav tsim cov duab nrog tus lej tshiab thiab "yuav tawm" nws hla cov pawg, hloov cov qub pods. .
Yog lawm, nws yog me ntsis ntawm tus ntoo khaub lig, tab sis tib lub sijhawm peb tswj hwm microservice architecture thiab tsis txhob tshem tawm ntawm cov neeg siv Bitrix lawv nyiam lub sijhawm los kho cov cai los ntawm pawg tswj hwm. Thaum kawg, qhov no yog ib qho kev xaiv; koj tuaj yeem daws qhov teeb meem ntawm kev kho cov cai hauv ib txoj kev sib txawv.
Helm daim duab
Txhawm rau tsim cov ntawv thov ntawm Kubernetes, peb feem ntau siv Helm pob tus thawj tswj hwm.
Rau peb cov kev daws teeb meem Bitrix hauv Kubernetes, Sergey Bondarev, peb tus thawj coj tswj hwm, tau sau ib daim ntawv tshwj xeeb Helm.