Kubernetes yooj yim. Vim li cas cov tsev txhab nyiaj them nyiaj ntau rau kuv los ua haujlwm hauv cheeb tsam no, thaum leej twg tuaj yeem paub txog cov cuab yeej no hauv ob peb teev xwb?
Yog tias koj tsis ntseeg tias Kubernetes tuaj yeem kawm tau sai, kuv xav kom koj sim ua koj tus kheej. Namely, tau paub cov ntaub ntawv no, koj yuav muaj peev xwm khiav ib daim ntawv thov raws li microservices hauv Kubernetes pawg. Kuv tuaj yeem lav qhov no, vim tias nws yog tib txoj hauv kev uas kuv siv ntawm no uas kuv qhia peb cov neeg siv khoom ua haujlwm nrog Kubernetes. Dab tsi ua rau phau ntawv qhia no txawv ntawm lwm tus? Qhov tseeb, ntau yam. Yog li, feem ntau ntawm cov ntaub ntawv no pib nrog kev piav qhia ntawm tej yam yooj yim - cov ntsiab lus ntawm Kubernetes thiab cov yam ntxwv ntawm kubectl hais kom ua. Cov kws sau ntawv ntawm cov ntawv no xav tias lawv cov neeg nyeem paub txog kev txhim kho daim ntawv thov, microservices, thiab Docker ntim. Peb yuav mus rau lwm txoj kev. Ua ntej, cia peb tham txog yuav ua li cas khiav ib daim ntawv thov raws li microservices ntawm lub computer. Tom qab ntawd peb yuav saib lub tsev ntim cov duab rau txhua qhov microservice. Thiab tom qab ntawd, peb yuav paub nrog Kubernetes thiab txheeb xyuas qhov kev xa tawm ntawm daim ntawv thov raws li microservices hauv pawg tswj hwm los ntawm Kubernetes.
Txoj hauv kev no, nrog rau kev maj mam mus rau Kubernetes, yuav muab qhov tob ntawm kev nkag siab txog qhov tshwm sim uas tus neeg nruab nrab xav tau kom nkag siab tias txhua yam yooj yim li cas hauv Kubernetes. Kubernetes yog ib qho cuab yeej yooj yim, yog tias leej twg xav paub nws paub qhov twg thiab siv nws li cas.
Tam sim no, tsis muaj ado ntxiv, cia peb mus ua haujlwm thiab tham txog daim ntawv thov uas peb yuav ua haujlwm nrog.
Kev sim app
Peb daim ntawv thov yuav ua ib qho haujlwm xwb. Nws yuav siv sij hawm, raws li kev nkag siab, ib kab lus, tom qab ntawd, siv cov cuab yeej tsom xam cov ntawv nyeem, nws ua qhov kev xav ntawm kab lus no, tau txais kev ntsuam xyuas ntawm tus cwj pwm ntawm tus neeg sau kab lus rau qee yam khoom.
Qhov no yog dab tsi lub qhov rais tseem ceeb ntawm daim ntawv thov no zoo li.
Sentiment Analysis Web Application
Los ntawm kev pom kev, daim ntawv thov muaj peb lub microservices, txhua qhov kev daws teeb meem qee yam haujlwm:
SA-Frontend yog Nginx web server uas ua haujlwm rau cov ntaub ntawv zoo li qub.
SA-WebApp yog ib daim ntawv thov web sau hauv Java uas tswj kev thov los ntawm frontend.
SA-Logic yog daim ntawv thov Python uas ua cov ntawv nyeem kev xav.
Hauv daim duab saum toj no, koj tuaj yeem pom cov lej lej ntawm qhov system, qhia txog cov ntaub ntawv ntws hauv daim ntawv thov. Cia peb rhuav tshem lawv:
Lub browser thov cov ntaub ntawv los ntawm lub server index.html (uas nyob rau hauv lem loads lub React app pob).
Tus neeg siv cuam tshuam nrog daim ntawv thov, qhov no ua rau hu rau lub vev xaib thov raws li Spring.
Daim ntawv thov lub vev xaib xa mus rau qhov kev thov kom cais cov ntawv mus rau daim ntawv thov Python.
Daim ntawv thov Python txheeb xyuas qhov kev xav ntawm cov ntawv nyeem thiab xa cov txiaj ntsig raws li cov lus teb rau qhov kev thov.
Daim ntawv thov Caij nplooj ntoos hlav xa cov lus teb rau daim ntawv thov React (uas, dhau los, qhia qhov tshwm sim ntawm cov ntawv parsed rau tus neeg siv).
Cov cai rau txhua daim ntawv thov no tuaj yeem pom no. Kuv xav kom koj luam qhov chaw khaws cia rau koj tus kheej tam sim no, vim muaj ntau yam kev sim nrog nws ua ntej peb.
Khiav ib daim ntawv thov raws li microservices ntawm lub tshuab hauv zos
Txhawm rau kom daim ntawv thov ua haujlwm, peb yuav tsum pib tag nrho peb microservices. Cia peb pib nrog qhov zoo tshaj plaws ntawm lawv - daim ntawv thov pem hauv ntej.
β Teeb tsa React rau kev txhim kho hauv zos
Txhawm rau khiav React daim ntawv thov, koj yuav tsum nruab Node.js moj khaum thiab NPM ntawm koj lub computer. Tom qab koj nruab tag nrho cov no, mus siv lub davhlau ya nyob twg mus rau qhov project folder sa-frontend thiab khiav cov lus txib hauv qab no:
npm install
Los ntawm kev ua tiav cov lus txib no hauv daim nplaub tshev node_modules lub dependencies ntawm React daim ntawv thov yuav raug loaded, cov ntaub ntawv uas muaj nyob rau hauv cov ntaub ntawv package.json. Tom qab rub tawm cov kev vam meej hauv tib lub nplaub tshev, khiav cov lus txib hauv qab no:
npm start
Yog tag nrho. Tam sim no React app tab tom khiav thiab tuaj yeem nkag mus tau los ntawm kev mus rau qhov chaw nyob browser localhost:3000. Koj tuaj yeem hloov qee yam hauv nws tus lej. Koj yuav pom tam sim ntawd cov txiaj ntsig ntawm cov kev hloov pauv no hauv browser. Qhov no yog ua tau ua tsaug rau lub thiaj li hu ua "kub" hloov modules. Ua tsaug rau qhov no, kev txhim kho pem hauv ntej hloov mus rau qhov yooj yim thiab kev lom zem.
β Npaj React app rau kev tsim khoom
Rau lub hom phiaj ntawm kev siv React app, peb yuav tsum hloov nws mus rau hauv cov ntaub ntawv zoo li qub thiab ua haujlwm rau cov neeg siv khoom siv lub vev xaib.
Txhawm rau tsim lub React app, rov siv lub davhlau ya nyob twg, mus rau lub nplaub tshev sa-frontend thiab khiav cov lus txib hauv qab no:
npm run build
Qhov no yuav tsim ib daim ntawv teev npe hauv qhov project folder build. Nws yuav muaj tag nrho cov ntaub ntawv zoo li qub uas xav tau rau daim ntawv thov React ua haujlwm.
β Muab cov ntaub ntawv zoo li qub nrog Nginx
Ua ntej koj yuav tsum tau nruab thiab khiav Nginx web server. nws yog koj tuaj yeem rub tawm nws thiab nrhiav cov lus qhia rau kev txhim kho thiab khiav nws. Tom qab ntawd koj yuav tsum luam cov ntsiab lus ntawm cov ntawv tais ceev tseg sa-frontend/build rau nplaub tshev [your_nginx_installation_dir]/html.
Nrog rau txoj hauv kev no, cov ntaub ntawv tsim tawm thaum lub sij hawm sib dhos ntawm React daim ntawv thov index.html yuav muaj nyob rau ntawm [your_nginx_installation_dir]/html/index.html. Qhov no yog cov ntaub ntawv uas, los ntawm lub neej ntawd, Nginx server teeb meem thaum nkag mus rau nws. Lub server raug teeb tsa los mloog ntawm qhov chaw nres nkoj 80, tab sis koj tuaj yeem kho nws txoj kev koj xav tau los ntawm kev kho cov ntaub ntawv [your_nginx_installation_dir]/conf/nginx.conf.
Tam sim no qhib koj tus browser thiab mus rau localhost:80. Koj yuav pom nplooj ntawv React app.
React app tau txais los ntawm Nginx server
Yog tias koj tam sim no nkag ib yam dab tsi hauv daim teb Type your sentence thiab nias lub pob Send - tsis muaj dab tsi yuav tshwm sim. Tab sis, yog tias koj saib ntawm lub console, koj tuaj yeem pom cov lus yuam kev nyob ntawd. Txhawm rau kom nkag siab qhov tseeb qhov twg cov kev ua yuam kev no tshwm sim, cia peb txheeb xyuas daim ntawv thov code.
β Kev tshuaj xyuas cov cai ntawm daim ntawv thov pem hauv ntej
Saib ntawm cov ntaub ntawv tus lej App.js, peb tuaj yeem pom tias nyem rau ntawm lub pob Send hu ib txoj kev analyzeSentence(). Txoj cai rau txoj kev no yog qhia hauv qab no. Nyob rau tib lub sijhawm, xyuam xim rau qhov tseeb tias rau txhua kab uas muaj cov lus pom ntawm daim ntawv # ΠΠΎΠΌΠ΅Ρ, muaj cov lus piav qhia hauv qab no cov cai. Nyob rau hauv tib txoj kev, peb yuav parse lwm code fragments.
Cov cai zoo li ua haujlwm zoo heev. Dab tsi yog qhov tsis ncaj ncees lawm ntawm no? Yog tias koj xav tias ntawm qhov chaw nyob uas daim ntawv thov tab tom sim xa daim ntawv thov POST, tseem tsis tau muaj ib yam dab tsi uas tuaj yeem lees txais thiab ua tiav qhov kev thov no, ces koj yuav yog qhov tseeb. Namely, kom ua cov lus thov tuaj rau qhov chaw nyob http://localhost:8080/sentiment, peb yuav tsum tau khiav ib daim ntawv thov web raws caij nplooj ntoos hlav.
Peb xav tau daim ntawv thov Caij nplooj ntoos hlav uas tuaj yeem lees txais POST thov
β Kev teeb tsa lub vev xaib raws li Spring
Txhawm rau xa daim ntawv thov caij nplooj ntoos hlav, koj xav tau JDK8 thiab Maven thiab teeb tsa ib puag ncig hloov pauv tau zoo. Tom qab koj nruab tag nrho cov no, koj tuaj yeem ua haujlwm txuas ntxiv ntawm peb qhov project.
β Ntim daim ntawv thov mus rau hauv ib lub thawv ntawv
Nkag mus, siv lub davhlau ya nyob twg, mus rau daim nplaub tshev sa-webapp thiab sau cov lus txib hauv qab no:
mvn install
Tom qab ua tiav cov lus txib no hauv daim nplaub tshev sa-webapp directory yuav raug tsim target. Qhov no yog qhov uas Java daim ntawv thov yuav nyob, ntim rau hauv ib lub thawv ntawv, sawv cev los ntawm cov ntaub ntawv sentiment-analysis-web-0.0.1-SNAPSHOT.jar.
β Launching Java Application
Mus rau ntawm daim nplaub tshev target thiab khiav daim ntawv thov nrog cov lus txib hauv qab no:
Error creating bean with name 'sentimentController': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'sa.logic.api.url' in value "${sa.logic.api.url}"
Retrieving ib qho cuab yeej sentence los ntawm lub cev thov.
Anonymous object initialization TextBlob thiab tau txais tus nqi polarity rau thawj lub tswv yim tau txais nyob rau hauv lub cev ntawm qhov kev thov (nyob rau hauv peb cov ntaub ntawv, qhov no tsuas yog lub tswv yim xa mus rau kev soj ntsuam).
Rov qab cov lus teb, lub cev uas muaj cov ntawv nyeem ntawm qhov kev thov thiab qhov ntsuas tau suav rau nws polarity.
Tua tawm daim ntawv thov Flask, uas yuav muaj nyob rau ntawm 0.0.0.0:5000 (koj tuaj yeem nkag mus rau nws los ntawm kev tsim kho ntawm daim ntawv localhost:5000).
Tam sim no cov microservices uas ua rau daim ntawv thov tau ua haujlwm. Lawv raug teem kom muaj kev sib raug zoo nrog ib leeg. Ntawm no yog daim duab daim ntawv thov zoo li nyob rau theem ntawm kev ua haujlwm no.
Txhua microservices uas tsim daim ntawv thov raug coj mus rau lub xeev noj qab haus huv
Tam sim no, ua ntej peb txuas ntxiv, qhib React app hauv browser thiab sim ntsuas qee kab lus nrog nws. Yog tias txhua yam ua tiav kom raug - tom qab nias lub pob Send koj yuav pom cov txiaj ntsig kev txheeb xyuas hauv qab lub thawv ntawv.
Hauv ntu tom ntej, peb yuav tham txog yuav ua li cas khiav peb cov microservices hauv Docker ntim. Qhov no yog qhov tsim nyog txhawm rau npaj daim ntawv thov kom khiav hauv Kubernetes pawg.
Docker ntim
Kubernetes yog ib qho system rau automating kev xa tawm, scaling thiab tswj cov ntawv ntim khoom. Nws tseem hu ua "container orchestrator". Yog tias Kubernetes ua haujlwm nrog cov thawv ntim khoom, tom qab ntawd ua ntej siv cov txheej txheem no, peb yuav tsum xub tau txais cov thawv no. Tab sis ua ntej, cia peb tham txog dab tsi ntim khoom. Tej zaum qhov zoo tshaj plaws teb rau lo lus nug ntawm dab tsi nws yog nyob rau hauv cov ntaub ntawv rau Docker:
Ib lub thawv duab yog lub teeb yuag, muaj tus kheej, ua tiav pob uas muaj cov ntawv thov, uas suav nrog txhua yam tsim nyog los khiav nws: daim ntawv thov code, lub sijhawm ua haujlwm, cov cuab yeej siv thiab cov tsev qiv ntawv, chaw. Cov kev pabcuam ntim tau tuaj yeem siv rau hauv ob qho tib si Linux thiab Windows ib puag ncig thiab yuav ua haujlwm ib yam tsis hais txog kev tsim kho vaj tse.
Nginx web server pabcuam cov ntaub ntawv zoo li qub uas khiav hauv lub tshuab virtual
Yog tias cov thawv ntim tau siv los daws qhov teeb meem zoo sib xws, tom qab ntawd, piv nrog cov tshuab virtual, cov hauv qab no tuaj yeem raug sau tseg:
Kev siv cov peev txheej zoo: ua haujlwm nrog kev ua haujlwm siv Docker.
Platform kev ywj pheej. Ib lub thawv uas tus tsim tawm tuaj yeem khiav ntawm lawv tus kheej lub computer yuav khiav txhua qhov chaw.
Kev xa tawm yooj yim los ntawm kev siv cov duab txheej.
Nginx lub vev xaib server pabcuam cov ntaub ntawv zoo li qub khiav hauv lub thawv
Peb tsuas yog muab piv cov tshuab virtual thiab ntim rau ntawm ob peb lub ntsiab lus, tab sis txawm tias txaus kom tau txais kev xav rau lub zog ntawm cov ntim khoom. nws yog Koj tuaj yeem pom cov ntsiab lus ntawm Docker ntim.
β Tsim lub thawv duab rau React app
Lub hauv paus tsev thaiv ntawm Docker thawv yog cov ntaub ntawv Dockerfile. Thaum pib ntawm cov ntaub ntawv no, lub hauv paus duab ntawm lub thawv raug kaw, tom qab ntawd cov lus qhia ib ntus suav nrog qhia txog yuav ua li cas los tsim lub thawv uas yuav ua tau raws li qhov xav tau ntawm daim ntawv thov.
Ua ntej peb pib ua haujlwm nrog cov ntaub ntawv Dockerfile, nco ntsoov tias peb tau ua dab tsi los npaj cov ntaub ntawv ntawm React daim ntawv thov rau upload rau Nginx server:
Tsim ib pob React app (npm run build).
Pib Nginx server.
Luam cov ntsiab lus ntawm phau ntawv teev npe build los ntawm qhov project folder sa-frontend mus rau lub server folder nginx/html.
Hauv qab no koj tuaj yeem pom qhov sib piv ntawm kev tsim lub thawv thiab cov haujlwm saum toj no tau ua hauv lub computer hauv zos.
β Npaj Dockerfile rau daim ntawv thov SA-Frontend
Cov lus qhia kom suav nrog Dockerfile rau daim ntawv thov SA-Frontend, muaj tsuas yog ob lo lus txib. Qhov tseeb yog tias pab pawg txhim kho Nginx tau npaj qhov pib duab rau Nginx, uas peb yuav siv los tsim peb cov duab. Nov yog ob kauj ruam peb yuav tsum piav qhia:
Koj yuav tsum ua tus duab Nginx lub hauv paus ntawm daim duab.
Folder cov ntsiab lus sa-frontend/build yuav tsum tau luam rau daim duab folder nginx/html.
Yog tias peb mus ntawm qhov kev piav qhia no mus rau cov ntaub ntawv Dockerfile, ces nws yuav zoo li no:
FROM nginx
COPY build /usr/share/nginx/html
Raws li koj tuaj yeem pom, txhua yam ntawm no yog qhov yooj yim heev, thaum cov ntsiab lus ntawm cov ntaub ntawv txawm tig los ua tau zoo nyeem thiab nkag siab. Cov ntaub ntawv no qhia lub kaw lus kom nqa cov duab nginx nrog txhua yam uas nws twb muaj, thiab luam cov ntsiab lus ntawm phau ntawv teev npe build mus rau daim ntawv teev npe nginx/html.
Ntawm no koj tuaj yeem muaj lus nug txog yuav ua li cas kuv paub qhov twg kom luam cov ntaub ntawv los ntawm cov ntawv tais ceev tseg build, i.e. txoj kev los qhov twg los /usr/share/nginx/html. Qhov tseeb, tsis muaj dab tsi nyuab ntawm no thiab. Qhov tseeb yog tias cov ntaub ntawv cuam tshuam tuaj yeem pom hauv piav qhia duab.
β Sib sau cov duab thiab muab tso rau hauv qhov chaw cia khoom
Ua ntej peb tuaj yeem ua haujlwm nrog cov duab tiav, peb yuav tsum xa nws mus rau qhov chaw khaws duab. Txhawm rau ua qhov no, peb yuav siv huab dawb-raws li duab hosting platform Docker Hub. Hauv kev ua haujlwm no, koj yuav tsum ua cov hauv qab no:
Ntawm no thiab hauv qab no hauv cov lus txib zoo sib xws $DOCKER_USER_ID yuav tsum tau hloov nrog koj tus username ntawm Docker Hub. Piv txwv li, ib feem ntawm cov lus txib no yuav zoo li no: rinormaloku/sentiment-analysis-frontend.
Hauv qhov no, cov lus txib no tuaj yeem ua luv luv los ntawm kev tshem tawm ntawm nws -f Dockerfile, txij li lub nplaub tshev uas peb ua cov lus txib no twb muaj cov ntaub ntawv no.
Txhawm rau xa cov duab tiav mus rau qhov chaw cia khoom, peb xav tau cov lus txib hauv qab no:
Tom qab ua tiav nws, xyuas koj cov npe ntawm cov chaw khaws cia ntawm Docker Hub kom pom tias cov duab tau raug thawb mus rau huab cia.
β Pib lub thawv
Tam sim no leej twg tuaj yeem rub tawm thiab khiav cov duab hu ua $DOCKER_USER_ID/sentiment-analysis-frontend. Txhawm rau ua qhov no, koj yuav tsum khiav cov lus txib hauv qab no:
docker pull $DOCKER_USER_ID/sentiment-analysis-frontend
docker run -d -p 80:80 $DOCKER_USER_ID/sentiment-analysis-frontend
Tam sim no lub thawv tau khiav, thiab peb tuaj yeem ua haujlwm txuas ntxiv los ntawm kev tsim lwm cov duab peb xav tau. Tab sis ua ntej peb mus ntxiv, cia peb nkag siab txog tus qauv tsim 80:80, uas pom nyob rau hauv cov lus txib kom khiav cov duab thiab tej zaum yuav zoo li tsis meej pem.
Thawj tus lej 80 yog tus naj npawb chaw nres nkoj ntawm tus tswv tsev (uas yog, lub computer hauv zos).
Tus lej thib ob 80 yog qhov chaw nres nkoj ntawm lub thawv uas qhov kev thov yuav tsum raug xa rov qab.
Xav txog cov lus piv txwv hauv qab no.
Port Forwarding
Lub kaw lus xa mus thov los ntawm qhov chaw nres nkoj <hostPort> mus rau qhov chaw nres nkoj <containerPort>. Ntawd yog, nkag mus rau qhov chaw nres nkoj 80 lub computer raug xa mus rau qhov chaw nres nkoj 80 thawv.
Txij li qhov chaw nres nkoj 80 qhib rau hauv lub computer hauv zos, koj tuaj yeem nkag mus rau daim ntawv thov los ntawm lub khoos phis tawj no ntawm localhost:80. Yog tias koj lub kaw lus tsis txhawb Docker, koj tuaj yeem khiav daim ntawv thov ntawm Docker virtual tshuab, qhov chaw nyob yuav zoo li <docker-machine ip>:80. Txhawm rau nrhiav qhov chaw nyob IP ntawm Docker virtual tshuab, koj tuaj yeem siv cov lus txib docker-machine ip.
Txij ntawm no mus, thaum lub thawv app pem hauv ntej tau ua tiav tiav, koj yuav tsum tuaj yeem qhib nws nplooj ntawv hauv browser.
β.dockerignore cov ntaub ntawv
Tsim daim duab thov SA-Frontend, peb tuaj yeem pom tias cov txheej txheem no qeeb heev. Qhov no yog vim cov duab tsim cov ntsiab lus yuav tsum raug xa mus rau Docker daemon. Cov npe uas sawv cev rau cov ntsiab lus tsim yog muab los ua qhov kev sib cav zaum kawg rau cov lus txib docker build. Nyob rau hauv peb rooj plaub, muaj ib tug dot nyob rau hauv lub kawg ntawm cov lus txib no. Qhov no ua rau cov qauv hauv qab no suav nrog hauv cov ntsiab lus sib dhos:
Tab sis ntawm tag nrho cov folders tam sim no, peb tsuas xav tau ib daim nplaub tshev build. Downloading lwm yam yog nkim sij hawm. Koj tuaj yeem txhim kho qhov tsim los ntawm kev qhia Docker uas cov npe yuav tsis quav ntsej. Txhawm rau ua qhov no, peb xav tau ib daim ntawv .dockerignore. Koj, yog koj paub cov ntaub ntawv .gitignore, cov qauv ntawm cov ntaub ntawv no tej zaum yuav zoo li paub. Nws teev cov npe uas cov duab tsim system tuaj yeem tsis quav ntsej. Hauv peb cov ntaub ntawv, cov ntsiab lus ntawm cov ntaub ntawv no zoo li no:
node_modules
src
public
cov ntaub ntawv .dockerignore yuav tsum nyob rau hauv tib lub nplaub tshev raws li cov ntaub ntawv Dockerfile. Tam sim no lub rooj sib txoos ntawm daim duab yuav siv li ob peb feeb.
Cia peb tam sim no nrog cov duab rau ib daim ntawv thov Java.
β Tsim lub thawv duab rau daim ntawv thov Java
Koj paub dab tsi, thiab koj twb kawm txhua yam koj xav tau los tsim cov duab thawv. Yog vim li cas ntu no yuav luv heev.
Koj puas ntseeg tej yam uas koj tsis tau sim? Kuv ua tsis tau thiab. Cia peb sim peb lub thawv.
Cia peb pib lub thawv ntawv thov sa-logic thiab teeb tsa nws kom mloog ntawm qhov chaw nres nkoj 5050:
docker run -d -p 5050:5000 $DOCKER_USER_ID/sentiment-analysis-logic
Cia peb pib lub thawv ntawv thov sa-webapp thiab teeb tsa nws kom mloog ntawm qhov chaw nres nkoj 8080. Tsis tas li ntawd, peb yuav tsum tau teeb tsa qhov chaw nres nkoj uas daim ntawv thov Python yuav mloog rau kev thov los ntawm Java daim ntawv thov los ntawm kev rov muab cov kev hloov pauv ib puag ncig SA_LOGIC_API_URL:
$ docker run -d -p 8080:8080 -e SA_LOGIC_API_URL='http://<container_ip or docker machine ip>:5000' $DOCKER_USER_ID/sentiment-analysis-web-app
Txhawm rau kawm paub yuav ua li cas thiaj nrhiav tau tus IP chaw nyob ntawm lub thawv lossis Docker VM, xa mus rau cov ntaub ntawv NYEEM.
Cia peb pib lub thawv ntawv thov sa-frontend:
docker run -d -p 80:80 $DOCKER_USER_ID/sentiment-analysis-frontend
Tam sim no txhua yam yog npaj txhij mus rau hauv qhov browser mus rau qhov chaw nyob localhost:80 thiab sim lub app.
Thov nco ntsoov tias yog koj hloov chaw nres nkoj rau sa-webapp, lossis yog tias koj tab tom khiav Docker VM, koj yuav tau hloov cov ntaub ntawv App.js los ntawm ib daim ntawv tais ceev tseg sa-frontendlos ntawm kev hloov tus IP chaw nyob lossis tus lej chaw nres nkoj hauv txoj kev analyzeSentence()los ntawm kev hloov cov ntaub ntawv tam sim no es tsis txhob cov ntaub ntawv siv tsis tau. Tom qab ntawd, koj yuav tsum rov ua cov duab thiab siv nws.
Nov yog qhov peb daim ntawv thov daim duab zoo li tam sim no.
Microservices khiav hauv ntim
Summary: Vim li cas peb thiaj xav tau Kubernetes pawg?
Peb nyuam qhuav tshuaj xyuas cov ntaub ntawv Dockerfile, tham txog yuav ua li cas tsim cov duab thiab thawb lawv mus rau Docker repository. Tsis tas li ntawd, peb tau kawm yuav ua li cas kom ceev lub rooj sib txoos ntawm cov duab siv cov ntaub ntawv .dockerignore. Yog li ntawd, peb cov microservices tam sim no tau khiav hauv Docker ntim. Ntawm no koj tuaj yeem muaj cov lus nug tseeb txog vim li cas peb xav tau Kubernetes. Cov lus teb rau lo lus nug no yuav mob siab rau qhov thib ob ntawm cov khoom siv no. Lub sijhawm no, xav txog cov lus nug hauv qab no:
Cia peb xav tias peb cov ntawv txheeb xyuas lub vev xaib tau dhau los ua neeg nyiam thoob ntiaj teb. Ntau lab qhov kev thov tuaj rau nws txhua feeb. Qhov no txhais tau tias microservices sa-webapp ΠΈ sa-logic yuav raug kev nyuaj siab loj. Yuav ua li cas ntsuas cov thawv uas khiav microservices?