DEVOXX UK. Kubernetes hauv kev tsim khoom: Xiav / Ntsuab xa tawm, autoscaling thiab xa tawm automation. Ntu 2

Kubernetes yog lub cuab yeej zoo rau kev khiav Docker ntim hauv ib puag ncig tsim khoom. Txawm li cas los xij, muaj teeb meem uas Kubernetes daws tsis tau. Rau kev xa tawm ntau zaus, peb xav tau kev xa mus rau Blue/Green tag nrho kom tsis txhob muaj sijhawm poob hauv cov txheej txheem, uas tseem yuav tsum tau tswj hwm HTTP thov sab nraud thiab ua SSL offloads. Qhov no yuav tsum muaj kev koom ua ke nrog lub load balancer xws li ha-proxy. Lwm qhov kev sib tw yog semi-automatic scaling ntawm Kubernetes pawg nws tus kheej thaum khiav hauv huab ib puag ncig, piv txwv li qee qhov scaling hauv pawg thaum hmo ntuj.

Thaum Kubernetes tsis muaj cov yam ntxwv no tawm ntawm lub thawv, nws muab API uas koj tuaj yeem siv los daws cov teeb meem zoo sib xws. Cov cuab yeej rau automated Blue/Green deployment and scaling of a Kubernetes cluster was developed as part of the Cloud RTI project, which was created based on open-source.

Tsab ntawv xov xwm no, cov ntawv teev lus video, qhia koj yuav ua li cas teeb Kubernetes nrog rau lwm qhov chaw qhib los tsim kom muaj ib puag ncig npaj txhij uas lees txais cov cai los ntawm git cog lus yam tsis muaj sijhawm poob hauv kev tsim khoom.

DEVOXX UK. Kubernetes hauv kev tsim khoom: Xiav / Ntsuab xa tawm, autoscaling thiab xa tawm automation. Ntu 2

DEVOXX UK. Kubernetes hauv kev tsim khoom: Xiav / Ntsuab xa tawm, autoscaling thiab xa tawm automation. Ntu 1

Yog li, thaum koj tau nkag mus rau koj daim ntawv thov los ntawm lub ntiaj teb sab nraud, koj tuaj yeem pib teeb tsa automation tag nrho, uas yog, coj nws mus rau theem uas koj tuaj yeem ua qhov kev cog lus git thiab xyuas kom meej tias qhov kev cog lus git no xaus rau hauv kev tsim khoom. Lawm, thaum siv cov kauj ruam no, thaum siv kev xa tawm, peb tsis xav ntsib kev poob qis. Yog li, txhua qhov automation hauv Kubernetes pib nrog API.

DEVOXX UK. Kubernetes hauv kev tsim khoom: Xiav / Ntsuab xa tawm, autoscaling thiab xa tawm automation. Ntu 2

Kubernetes tsis yog ib qho cuab yeej uas tuaj yeem siv tau tawm ntawm lub thawv. Tau kawg, koj tuaj yeem ua li ntawd, siv kubectl thiab lwm yam, tab sis tseem API yog qhov nthuav thiab muaj txiaj ntsig zoo tshaj plaws ntawm lub platform no. Los ntawm kev siv API ua cov haujlwm ua haujlwm, koj tuaj yeem nkag mus yuav luag txhua yam koj xav ua hauv Kubernetes. kubectl nws tus kheej kuj siv REST API.

Qhov no yog REST, yog li koj tuaj yeem siv txhua yam lus lossis cuab yeej ua haujlwm nrog API no, tab sis koj lub neej yuav yooj yim dua los ntawm cov tsev qiv ntawv kev cai. Kuv pab neeg tau sau 2 lub tsev qiv ntawv: ib qho rau Java / OSGi thiab ib qho rau Mus. Qhov thib ob tsis yog siv ntau zaus, tab sis nyob rau hauv txhua rooj plaub koj muaj cov khoom tseem ceeb ntawm koj pov tseg. Lawv yog ib feem muaj ntawv tso cai qhib qhov project. Muaj ntau lub tsev qiv ntawv zoo li no rau ntau hom lus, yog li koj tuaj yeem xaiv cov uas haum koj zoo tshaj plaws.

DEVOXX UK. Kubernetes hauv kev tsim khoom: Xiav / Ntsuab xa tawm, autoscaling thiab xa tawm automation. Ntu 2

Yog li ntawd, ua ntej koj pib automating koj deployment, koj yuav tsum xyuas kom meej tias cov txheej txheem yuav tsis raug rau tej downtime. Piv txwv li, peb pab neeg ua cov khoom xa tawm thaum nruab nrab hnub thaum tib neeg siv cov ntawv thov ntawm lawv feem ntau, yog li nws yog ib qho tseem ceeb kom tsis txhob ncua sij hawm ntawm cov txheej txheem no. Txhawm rau kom tsis txhob poob qis, 2 txoj hauv kev siv: xiav / ntsuab xa tawm lossis hloov tshiab dov. Nyob rau hauv rooj plaub tom kawg, yog tias koj muaj 5 replicas ntawm daim ntawv thov khiav, lawv tau hloov kho ua ntu zus ib tom qab. Txoj kev no ua haujlwm zoo, tab sis nws tsis haum yog tias koj muaj cov ntawv sib txawv ntawm daim ntawv thov khiav ib txhij thaum lub sijhawm xa mus. Hauv qhov no, koj tuaj yeem hloov kho tus neeg siv interface thaum lub backend tab tom khiav lub qub version, thiab daim ntawv thov yuav tsis ua haujlwm. Yog li ntawd, los ntawm qhov kev xav ntawm qhov programming, kev ua haujlwm hauv cov xwm txheej zoo li no nyuaj heev.

Qhov no yog ib qho ntawm cov laj thawj vim li cas peb nyiam siv xiav / ntsuab xa mus rau automate kev xa tawm ntawm peb daim ntawv thov. Nrog rau txoj kev no, koj yuav tsum xyuas kom meej tias tsuas yog ib qho version ntawm daim ntawv thov ua haujlwm ntawm ib lub sijhawm.

Qhov kev xa tawm xiav / ntsuab zoo li no. Peb tau txais kev khiav tsheb rau peb daim ntawv thov los ntawm ha-proxy, uas xa nws mus rau kev ua haujlwm replicas ntawm daim ntawv thov ntawm tib version.

Thaum muaj kev xa tawm tshiab, peb siv Deployer, uas tau muab cov khoom tshiab thiab xa tawm cov ntawv tshiab. Kev xa tawm ib qho tshiab ntawm daim ntawv thov txhais tau hais tias cov txheej txheem tshiab yog "tso", tom qab ntawd cov qauv tshiab ntawm cov ntawv tshiab no tau nthuav tawm nyob rau hauv ib qho cais, tshiab pod. Txawm li cas los xij, ha-proxy tsis paub dab tsi txog lawv thiab tseem tsis tau xa ib qho haujlwm rau lawv.

Yog li ntawd, ua ntej ntawm tag nrho cov, nws yog ib qho tsim nyog yuav tau ua ib qho kev ntsuam xyuas ntawm cov tshiab versions ntawm kev kuaj xyuas kev noj qab haus huv los xyuas kom meej tias cov replicas yog npaj txhij los pab lub load.

DEVOXX UK. Kubernetes hauv kev tsim khoom: Xiav / Ntsuab xa tawm, autoscaling thiab xa tawm automation. Ntu 2

Tag nrho cov khoom xa tawm yuav tsum txhawb nqa qee hom kev kuaj mob. Qhov no tuaj yeem yog HTTP hu yooj yim heev, thaum koj tau txais tus lej nrog cov xwm txheej 200, lossis kev txheeb xyuas qhov tob dua, uas koj txheeb xyuas qhov kev sib txuas ntawm cov khoom sib txuas nrog cov ntaub ntawv thiab lwm yam kev pabcuam, kev ruaj ntseg ntawm kev sib txuas ib puag ncig. , thiab seb txhua yam pib thiab ua haujlwm raug. Cov txheej txheem no tuaj yeem yog qhov nyuaj heev.

DEVOXX UK. Kubernetes hauv kev tsim khoom: Xiav / Ntsuab xa tawm, autoscaling thiab xa tawm automation. Ntu 2

Tom qab lub kaw lus paub tseeb tias txhua qhov hloov kho tshiab ua haujlwm, Deployer yuav hloov kho qhov teeb tsa thiab dhau qhov tseeb confd, uas yuav rov kho dua ha-proxy.

DEVOXX UK. Kubernetes hauv kev tsim khoom: Xiav / Ntsuab xa tawm, autoscaling thiab xa tawm automation. Ntu 2

Tsuas yog tom qab qhov no yuav khiav mus rau lub pod nrog replicas ntawm lub tshiab version, thiab lub qub pod yuav ploj mus.

DEVOXX UK. Kubernetes hauv kev tsim khoom: Xiav / Ntsuab xa tawm, autoscaling thiab xa tawm automation. Ntu 2

Qhov no mechanism tsis yog ib tug feature ntawm Kubernetes. Lub tswv yim ntawm Blue / ntsuab xa tawm tau nyob ib puag ncig ntev heev thiab nws yeej ib txwm siv lub load balancer. Ua ntej, koj coj tag nrho cov tsheb mus rau lub qub version ntawm daim ntawv thov, thiab tom qab hloov tshiab, koj kiag li hloov nws mus rau lub tshiab version. Txoj cai no siv tsis yog hauv Kubernetes xwb.

Tam sim no kuv yuav qhia koj txog qhov kev xa tawm tshiab - Deployer, uas ua haujlwm kuaj xyuas kev noj qab haus huv, teeb tsa tus neeg sawv cev, thiab lwm yam. Qhov no yog lub tswvyim uas tsis siv rau lub ntiaj teb sab nraud thiab muaj nyob hauv Kubernetes. Kuv mam li qhia koj seb koj tuaj yeem tsim koj tus kheej lub tswv yim Deployer siv cov cuab yeej qhib.

Yog li, thawj qhov Deployer ua yog tsim RC replication controller siv Kubernetes API. Qhov API no tsim cov pods thiab cov kev pabcuam rau kev xa mus ntxiv, uas yog, nws tsim ib pawg tshiab rau peb cov ntawv thov. Sai li RC ntseeg tau tias cov kev hloov pauv tau pib, nws yuav ua qhov kev kuaj mob rau lawv txoj haujlwm. Txhawm rau ua qhov no, Deployer siv GET / Health hais kom ua. Nws khiav qhov tsim nyog scan Cheebtsam thiab xyuas tag nrho cov ntsiab lus uas txhawb kev ua haujlwm ntawm pawg.

DEVOXX UK. Kubernetes hauv kev tsim khoom: Xiav / Ntsuab xa tawm, autoscaling thiab xa tawm automation. Ntu 2

Tom qab tag nrho cov pods tau tshaj tawm lawv txoj kev noj qab haus huv, Deployer tsim ib qho kev teeb tsa tshiab - thiab lwm yam kev faib khoom cia, uas yog siv sab hauv los ntawm Kubernetes, suav nrog kev khaws cia cov khoom sib npaug. Peb sau cov ntaub ntawv rau etcd, thiab ib lub cuab yeej me me hu ua confd monitor etcd rau cov ntaub ntawv tshiab.

Yog tias nws pom muaj kev hloov pauv rau qhov kev teeb tsa thawj zaug, nws tsim cov ntaub ntawv teeb tsa tshiab thiab hloov mus rau ha-proxy. Nyob rau hauv cov ntaub ntawv no, ha-proxy reboots yam tsis tau poob ib qho kev sib txuas thiab hais txog lub load rau cov kev pab cuam tshiab uas pab kom cov tshiab version ntawm peb daim ntawv thov ua hauj lwm.

DEVOXX UK. Kubernetes hauv kev tsim khoom: Xiav / Ntsuab xa tawm, autoscaling thiab xa tawm automation. Ntu 2

Raws li koj tuaj yeem pom, txawm tias muaj ntau ntawm cov khoom, tsis muaj dab tsi nyuaj ntawm no. Koj tsuas yog yuav tsum tau them nyiaj ntau rau API thiab lwm yam. Kuv xav qhia koj txog qhov qhib qhov chaw xa tawm uas peb tus kheej siv - Amdatu Kubernetes Deployer.

DEVOXX UK. Kubernetes hauv kev tsim khoom: Xiav / Ntsuab xa tawm, autoscaling thiab xa tawm automation. Ntu 2

Nws yog ib qho cuab yeej rau orchestrating Kubernetes deployments thiab muaj cov nram qab no nta:

  • Xiav / Ntsuab xa mus;
  • teeb tsa cov khoom sib npaug sab nraud;
  • deployment descriptor tswj;
  • tswj qhov kev xa tawm tiag tiag;
  • tshawb xyuas cov haujlwm ntawm Kev Tshawb Fawb Kev Noj Qab Haus Huv thaum xa mus;
  • kev siv ntawm ib puag ncig variables rau hauv pods.

Tus Deployer no tau tsim nyob rau sab saum toj ntawm Kubernetes API thiab muab REST API rau kev tswj hwm thiab xa tawm, nrog rau Websocket API rau streaming cav thaum lub sijhawm xa tawm.

Nws tso cov ntaub ntawv teeb tsa cov khoom sib npaug rau hauv lwm yam, yog li koj tsis tas yuav siv ha-proxy nrog kev txhawb nqa tawm ntawm lub thawv, tab sis yooj yim siv koj tus kheej cov ntaub ntawv teeb tsa load balancer. Amdatu Deployer yog sau rau hauv Go, zoo li Kubernetes nws tus kheej, thiab tau ntawv tso cai los ntawm Apache.

Ua ntej kuv pib siv tus deployer version no, kuv siv tus deployment descriptor hauv qab no, uas qhia txog qhov kuv xav tau.

DEVOXX UK. Kubernetes hauv kev tsim khoom: Xiav / Ntsuab xa tawm, autoscaling thiab xa tawm automation. Ntu 2

Ib qho tseem ceeb ntawm cov cai no yog txhawm rau ua kom "useHealthCheck" chij. Peb yuav tsum tau hais kom meej tias yuav tsum tau ua qhov kev kuaj xyuas tsis zoo thaum lub sij hawm xa mus. Qhov kev teeb tsa no tuaj yeem cuam tshuam tau thaum kev xa tawm siv cov thawv thib peb uas tsis tas yuav tsum tau kuaj xyuas. Cov lus piav qhia no tseem qhia txog tus lej ntawm cov replicas thiab lub frontend URL uas ha-proxy xav tau. Thaum kawg yog lub pod specification chij "podspec", uas hu rau Kubernetes rau cov ntaub ntawv ntawm chaw nres nkoj configuration, duab, thiab lwm yam. Qhov no yog qhov yooj yim JSON piav qhia.

Lwm lub cuab yeej uas yog ib feem ntawm qhov qhib Amdatu qhov project yog Deploymentctl. Nws muaj UI rau kev teeb tsa kev xa tawm, khaws cov keeb kwm xa mus, thiab muaj cov webhooks rau kev hu rov qab los ntawm cov neeg siv thib peb thiab cov tsim tawm. Tej zaum koj yuav tsis siv UI txij li Amdatu Deployer nws tus kheej yog REST API, tab sis qhov kev sib txuas no tuaj yeem ua rau kev xa tawm yooj yim dua rau koj yam tsis muaj API. Deploymentctl yog sau rau hauv OSGi/Vertx siv Angular 2.

Tam sim no kuv yuav ua qauv qhia saum toj no ntawm kev tshuaj ntsuam siv cov ntaub ntawv sau ua ntej kom koj tsis tas yuav tos. Peb yuav xa ib daim ntawv thov Go yooj yim. Tsis txhob txhawj xeeb yog tias koj tsis tau sim mus ua ntej, nws yog ib daim ntawv thov yooj yim heev yog li koj yuav tsum paub txog nws.

DEVOXX UK. Kubernetes hauv kev tsim khoom: Xiav / Ntsuab xa tawm, autoscaling thiab xa tawm automation. Ntu 2

Ntawm no peb tab tom tsim HTTP server uas tsuas yog teb / noj qab haus huv, yog li daim ntawv thov no tsuas yog kuaj xyuas kev noj qab haus huv thiab tsis muaj dab tsi ntxiv. Yog tias daim tshev hla dhau, JSON qauv qhia hauv qab no yog siv. Nws muaj cov version ntawm daim ntawv thov uas yuav raug xa tawm los ntawm tus xa khoom, cov lus uas koj pom nyob rau saum cov ntaub ntawv, thiab cov ntaub ntawv boolean - seb peb daim ntawv thov ua haujlwm lossis tsis ua haujlwm.

Kuv dag me ntsis nrog rau kab kawg, vim tias kuv tso tus nqi boolean ruaj khov rau saum cov ntaub ntawv, uas yav tom ntej yuav pab kuv siv txawm tias "tsis zoo" daim ntawv thov. Peb mam li daws qhov no tom qab.

Yog li cia peb pib. Ua ntej, peb tshawb xyuas qhov muaj cov pods khiav uas siv cov lus txib ~ kubectl tau txais pods thiab, raws li qhov tsis muaj lus teb los ntawm qhov URL pem hauv ntej, peb paub tseeb tias tsis muaj kev xa tawm tam sim no.

DEVOXX UK. Kubernetes hauv kev tsim khoom: Xiav / Ntsuab xa tawm, autoscaling thiab xa tawm automation. Ntu 2

Tom ntej no ntawm lub vijtsam koj pom qhov Deploymentctl interface kuv tau hais, nyob rau hauv qhov kev xa tawm tsis tau teeb tsa: namespace, daim ntawv thov npe, xa tawm version, tus lej ntawm cov ntawv luam tawm, URL pem hauv ntej kawg, lub npe ntim, cov duab, cov peev txheej txwv, chaw nres nkoj naj npawb rau kev kuaj mob, lwm.. Kev txwv cov peev txheej tseem ceeb heev, vim tias lawv tso cai rau koj siv cov khoom siv ntau tshaj plaws. Ntawm no koj tuaj yeem saib daim ntawv xa mus.

DEVOXX UK. Kubernetes hauv kev tsim khoom: Xiav / Ntsuab xa tawm, autoscaling thiab xa tawm automation. Ntu 2

Yog tias koj tam sim no rov hais dua cov lus txib ~ kubectl tau txais pods, koj tuaj yeem pom tias lub kaw lus "khov" rau 20 vib nas this, thaum lub sijhawm ha-proxy tau teeb tsa. Tom qab no, lub pod pib, thiab peb replica yuav pom nyob rau hauv lub deploy log log.

DEVOXX UK. Kubernetes hauv kev tsim khoom: Xiav / Ntsuab xa tawm, autoscaling thiab xa tawm automation. Ntu 2

Kuv txiav tawm 20 thib ob tos los ntawm cov yees duab, thiab tam sim no koj tuaj yeem pom ntawm qhov screen tias thawj version ntawm daim ntawv thov tau raug xa mus. Tag nrho cov no tau ua tiav siv tsuas yog UI.

DEVOXX UK. Kubernetes hauv kev tsim khoom: Xiav / Ntsuab xa tawm, autoscaling thiab xa tawm automation. Ntu 2

Tam sim no cia sim ua qhov thib ob version. Ua li no, kuv hloov daim ntawv thov cov lus los ntawm "Nyob zoo, Kubernetes!" ntawm "Nyob zoo, Deployer!", lub kaw lus tsim cov duab no thiab muab tso rau hauv Docker npe, tom qab ntawd peb tsuas yog nyem rau ntawm "Deploy" khawm dua hauv Deploymentctl qhov rais. Nyob rau hauv cov ntaub ntawv no, lub deployment log yog cia li launched nyob rau hauv tib txoj kev raws li nws tshwm sim thaum deploy thawj version ntawm daim ntawv thov.

DEVOXX UK. Kubernetes hauv kev tsim khoom: Xiav / Ntsuab xa tawm, autoscaling thiab xa tawm automation. Ntu 2

Cov lus txib ~ kubectl tau txais pods qhia tias tam sim no muaj 2 versions ntawm daim ntawv thov khiav, tab sis lub frontend qhia tau hais tias peb tseem tab tom khiav version 1.

DEVOXX UK. Kubernetes hauv kev tsim khoom: Xiav / Ntsuab xa tawm, autoscaling thiab xa tawm automation. Ntu 2

Lub load balancer tos rau kev kuaj xyuas kev noj qab haus huv kom tiav ua ntej hloov tsheb mus rau qhov tshiab. Tom qab 20 vib nas this, peb hloov mus rau curl thiab pom tias peb tam sim no muaj version 2 ntawm daim ntawv thov siv, thiab thawj tus tau raug tshem tawm.

DEVOXX UK. Kubernetes hauv kev tsim khoom: Xiav / Ntsuab xa tawm, autoscaling thiab xa tawm automation. Ntu 2

Qhov no yog qhov kev xa tawm ntawm "kev noj qab haus huv" daim ntawv thov. Cia peb pom tias yuav ua li cas yog tias rau ib qho tshiab ntawm daim ntawv thov kuv hloov qhov Healthy parameter los ntawm qhov tseeb mus rau qhov tsis tseeb, uas yog, kuv sim siv ib daim ntawv thov tsis zoo uas tau ua tsis tiav kev kuaj mob. Qhov no tuaj yeem tshwm sim yog tias qee qhov kev teeb tsa yuam kev tau ua hauv daim ntawv thov ntawm theem kev txhim kho, thiab nws raug xa mus rau ntau lawm hauv daim ntawv no.

Raws li koj tuaj yeem pom, kev xa mus los ntawm txhua kauj ruam saum toj no thiab ~kubectl tau txais pods qhia tias ob lub pods tau khiav. Tab sis tsis zoo li qhov kev xa tawm yav dhau los, lub cav qhia txog lub sijhawm sijhawm. Ntawd yog, vim qhov tseeb tias kev kuaj mob ua tsis tiav, cov ntawv thov tshiab tsis tuaj yeem siv tau. Raws li qhov tshwm sim, koj pom tias lub kaw lus tau rov qab los siv lub qub version ntawm daim ntawv thov, thiab cov tshiab version tau yooj yim tau uninstalled.

DEVOXX UK. Kubernetes hauv kev tsim khoom: Xiav / Ntsuab xa tawm, autoscaling thiab xa tawm automation. Ntu 2

Qhov zoo ntawm qhov no yog tias txawm tias koj muaj ntau qhov kev thov ib txhij tuaj rau hauv daim ntawv thov, lawv yuav tsis pom lub sijhawm poob thaum siv cov txheej txheem xa tawm. Yog tias koj sim daim ntawv thov no siv Gatling lub moj khaum, uas xa nws ntau li ntau tau, ces tsis muaj qhov kev thov no yuav raug muab tso tseg. Qhov no txhais tau hais tias peb cov neeg siv yuav tsis pom qhov hloov tshiab ntawm lub sijhawm. Yog tias nws ua tsis tiav, kev ua haujlwm yuav txuas ntxiv mus rau qhov qub version; yog tias nws ua tiav, cov neeg siv yuav hloov mus rau qhov tshiab.

Tsuas muaj ib yam uas tuaj yeem ua tsis tau - yog tias kev kuaj mob ua tiav, tab sis daim ntawv thov ua tsis tiav sai li sai tau raws li kev ua haujlwm rau nws, uas yog, lub cev qhuav dej yuav tshwm sim tsuas yog tom qab kev xa tawm tiav. Nyob rau hauv cov ntaub ntawv no, koj yuav tau manually yob rov qab mus rau lub qub version. Yog li, peb tau saib yuav ua li cas siv Kubernetes nrog cov cuab yeej qhib tsim los rau nws. Cov txheej txheem xa tawm yuav yooj yim dua yog tias koj tsim cov cuab yeej no rau hauv koj cov Build/Deploy pipelines. Nyob rau tib lub sijhawm, txhawm rau pib xa tawm, koj tuaj yeem siv tus neeg siv interface lossis tag nrho cov txheej txheem no los ntawm kev siv, piv txwv li, cog lus rau tus tswv.

DEVOXX UK. Kubernetes hauv kev tsim khoom: Xiav / Ntsuab xa tawm, autoscaling thiab xa tawm automation. Ntu 2

Peb Lub Tuam Txhab Tsim Tsim yuav tsim cov duab Docker, thawb nws mus rau Docker Hub lossis txawm tias koj siv npe. Docker Hub txhawb nqa webhook, yog li peb tuaj yeem ua rau muaj kev xa mus rau thaj chaw deb ntawm Deployer raws li qhia saum toj no. Txoj kev no koj tuaj yeem ua tiav qhov kev xa tawm ntawm koj daim ntawv thov mus rau kev tsim khoom.

Cia wb mus rau lub ntsiab lus tom ntej - scaling lub Kubernetes pawg. Nco ntsoov tias kubectl hais kom ua yog scaling hais kom ua. Nrog kev pab ntxiv, peb tuaj yeem yooj yim nce tus naj npawb ntawm cov replicas hauv peb pawg uas twb muaj lawm. Txawm li cas los xij, hauv kev xyaum, peb feem ntau xav kom cov nodes ntau dua li cov pods.

DEVOXX UK. Kubernetes hauv kev tsim khoom: Xiav / Ntsuab xa tawm, autoscaling thiab xa tawm automation. Ntu 2

Nyob rau tib lub sijhawm, thaum lub sijhawm ua haujlwm koj yuav tsum tau nce ntxiv, thiab thaum hmo ntuj, txhawm rau txo tus nqi ntawm Amazon cov kev pabcuam, koj yuav tsum tau txo cov sijhawm ua haujlwm. Qhov no tsis tau txhais hais tias kev ntsuas tsuas yog tus naj npawb ntawm cov pods yuav txaus, vim tias txawm tias ib qho ntawm cov nodes tsis ua haujlwm, koj tseem yuav tau them Amazon rau nws. Ntawd yog, nrog rau kev ntsuas cov pods, koj yuav tsum ntsuas tus naj npawb ntawm cov tshuab siv.

Qhov no tuaj yeem nyuaj vim tias txawm peb siv Amazon lossis lwm qhov kev pabcuam huab, Kubernetes tsis paub dab tsi txog cov tshuab siv. Nws tsis muaj ib qho cuab yeej uas tso cai rau koj los ntsuas qhov system ntawm qib node.

DEVOXX UK. Kubernetes hauv kev tsim khoom: Xiav / Ntsuab xa tawm, autoscaling thiab xa tawm automation. Ntu 2

Yog li ntawd, peb yuav tsum tau saib xyuas ob leeg nodes thiab pods. Peb tuaj yeem yooj yim ntsuas qhov tso tawm ntawm cov nodes tshiab siv AWS API thiab Scaling pab pawg tshuab los teeb tsa tus lej ntawm Kubernetes cov neeg ua haujlwm nodes. Koj tuaj yeem siv huab-init lossis ib tsab ntawv zoo sib xws los sau npe ntawm cov pawg Kubernetes.

Lub tshuab tshiab pib nyob rau hauv pab pawg Scaling, pib nws tus kheej raws li ib tug ntawm, sau npe nyob rau hauv tus tswv lub npe thiab pib ua hauj lwm. Tom qab ntawd, koj tuaj yeem nce tus naj npawb ntawm replicas rau kev siv ntawm qhov tshwm sim nodes. Scaling down yuav tsum tau siv zog ntau dua, raws li koj yuav tsum ua kom paub tseeb tias cov kauj ruam no tsis ua rau kev puas tsuaj ntawm cov ntawv thov uas twb tau ua lawm tom qab kaw cov tshuab "tsis tsim nyog". Txhawm rau tiv thaiv qhov xwm txheej zoo li no, koj yuav tsum teeb tsa cov nodes rau "tsis tuaj yeem teem sijhawm". Qhov no txhais tau hais tias lub sijhawm teem sijhawm yuav tsis quav ntsej cov nodes thaum teem caij DaemonSet pods. Tus teem sijhawm yuav tsis rho tawm ib yam dab tsi los ntawm cov servers no, tab sis tseem yuav tso tsis muaj cov thawv tshiab nyob ntawd. Cov kauj ruam tom ntej yog tshem tawm cov dej ntws, uas yog, hloov cov pods khiav ntawm nws mus rau lwm lub tshuab, lossis lwm cov nodes uas muaj peev xwm txaus rau qhov no. Thaum koj tau ua kom ntseeg tau tias tsis muaj cov thawv ntim ntawm cov nodes lawm, koj tuaj yeem tshem tawm ntawm Kubernetes. Tom qab no, lawv tsuas yog tso tseg rau Kubernetes. Tom ntej no, koj yuav tsum siv AWS API los lov tes taw tsis tsim nyog nodes lossis tshuab.
Koj tuaj yeem siv Amdatu Scalerd, lwm qhov chaw qhib qhov ntsuas qhov zoo ib yam li AWS API. Nws muab CLI los ntxiv lossis tshem cov nodes hauv pawg. Nws qhov nthuav dav yog lub peev xwm los teeb tsa lub sijhawm siv cov ntaub ntawv json hauv qab no.

DEVOXX UK. Kubernetes hauv kev tsim khoom: Xiav / Ntsuab xa tawm, autoscaling thiab xa tawm automation. Ntu 2

Cov cai qhia txo cov peev txheej los ntawm ib nrab thaum hmo ntuj. Nws configures ob tus naj npawb ntawm replicas muaj thiab lub peev xwm xav tau ntawm Amazon pawg. Siv lub sijhawm teem sijhawm no yuav cia li txo tus naj npawb ntawm cov nodes thaum hmo ntuj thiab nce lawv thaum sawv ntxov, txuag tus nqi ntawm kev siv cov nodes los ntawm kev pabcuam huab zoo li Amazon. Cov yam ntxwv no tsis yog tsim rau hauv Kubernetes, tab sis siv Scalerd yuav tso cai rau koj los ntsuas lub platform no txawm li cas los xij koj xav tau.

Kuv xav taw qhia tias ntau tus neeg qhia kuv, "Qhov ntawd yog txhua yam zoo thiab zoo, tab sis li cas txog kuv cov ntaub ntawv, uas feem ntau zoo li qub?" Koj tuaj yeem khiav ib yam dab tsi zoo li no hauv ib puag ncig zoo li Kubernetes? Hauv kuv lub tswv yim, koj yuav tsum tsis txhob ua qhov no, koj yuav tsum tsis txhob sim khiav lub tsev khaws ntaub ntawv hauv Kubernetes. Qhov no yog technically ua tau, thiab muaj kev qhia hauv Is Taws Nem ntawm cov ncauj lus no, tab sis nws yuav nyuaj rau koj lub neej.

Yog lawm, muaj lub tswv yim ntawm cov khw muag khoom pheej yig hauv Kubernetes, thiab koj tuaj yeem sim khiav cov khw muag khoom xws li Mongo lossis MySQL, tab sis qhov no yog ib txoj haujlwm hnyav heev. Qhov no yog vim lub fact tias cov ntaub ntawv warehouses tsis txhawb kev sib raug zoo nrog ib tug dynamic ib puag ncig. Feem ntau cov ntaub ntawv xav tau kev teeb tsa tseem ceeb, suav nrog kev teeb tsa ntawm cov pawg, tsis nyiam autoscaling thiab lwm yam zoo sib xws.
Yog li, koj yuav tsum tsis txhob ua rau koj lub neej nyuaj los ntawm kev sim khiav lub tsev khaws ntaub ntawv hauv Kubernetes. Npaj lawv txoj haujlwm ua ib txwm siv cov kev pabcuam paub thiab tsuas yog muab Kubernetes muaj peev xwm siv lawv.

DEVOXX UK. Kubernetes hauv kev tsim khoom: Xiav / Ntsuab xa tawm, autoscaling thiab xa tawm automation. Ntu 2

Txhawm rau xaus lub ntsiab lus, kuv xav qhia koj txog Huab RTI platform raws li Kubernetes, uas kuv pab neeg ua haujlwm. Nws muab kev nkag mus rau hauv nruab nrab, daim ntawv thov thiab kev saib xyuas pawg, thiab ntau lwm yam tseem ceeb uas yuav los ua ke. Nws siv ntau yam cuab yeej qhib xws li Grafana los saib xyuas.

DEVOXX UK. Kubernetes hauv kev tsim khoom: Xiav / Ntsuab xa tawm, autoscaling thiab xa tawm automation. Ntu 2

DEVOXX UK. Kubernetes hauv kev tsim khoom: Xiav / Ntsuab xa tawm, autoscaling thiab xa tawm automation. Ntu 2

Muaj lus nug txog vim li cas thiaj siv ha-proxy load balancer nrog Kubernetes. Cov lus nug zoo vim tias tam sim no muaj 2 theem ntawm kev sib npaug. Kubernetes cov kev pabcuam tseem nyob ntawm virtual IP chaw nyob. Koj tsis tuaj yeem siv lawv rau cov chaw nres nkoj ntawm cov tshuab sab nraud vim tias yog Amazon overloads nws tus tswv huab, qhov chaw nyob yuav hloov. Qhov no yog vim li cas peb tso ha-proxy nyob rau hauv pem hauv ntej ntawm cov kev pabcuam - los tsim cov qauv zoo li qub rau kev sib txuas lus nrog Kubernetes.

Lwm lo lus nug zoo yog koj tuaj yeem saib xyuas cov ntaub ntawv hloov pauv li cas thaum ua xiav / ntsuab xa tawm? Qhov tseeb yog tias tsis hais txog kev siv Kubernetes, hloov cov txheej txheem database yog ib txoj haujlwm nyuaj. Koj yuav tsum xyuas kom meej tias cov qub thiab tshiab schema tau sib xws, tom qab ntawd koj tuaj yeem hloov kho cov ntaub ntawv thiab tom qab ntawd hloov kho cov ntawv thov lawv tus kheej. Koj tuaj yeem kub pauv cov ntaub ntawv thiab tom qab ntawd hloov kho cov ntawv thov. Kuv paub cov neeg uas tau booted ib tug tshiab database tag nrog ib tug tshiab schema, qhov no yog ib qho kev xaiv yog hais tias koj muaj ib tug schemeless database zoo li Mongo, tab sis nws tsis yog ib tug yooj yim txoj hauj lwm lawm. Yog tias koj tsis muaj lus nug ntxiv, ua tsaug rau koj qhov kev mloog!

Ib co ads πŸ™‚

Ua tsaug uas koj tau nyob nrog peb. Koj puas nyiam peb cov ntawv? Xav pom cov ntsiab lus nthuav ntxiv? Txhawb nqa peb los ntawm kev tso ib qho kev txiav txim lossis qhia rau cov phooj ywg, huab VPS rau cov tsim tawm los ntawm $ 4.99, ib qho tshwj xeeb analogue ntawm nkag-theem servers, uas tau tsim los ntawm peb rau koj: Qhov tseeb tag nrho txog VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps los ntawm $ 19 los yog yuav ua li cas faib cov server? (muaj nrog RAID1 thiab RAID10, mus txog 24 cores thiab mus txog 40GB DDR4).

Dell R730xd 2x pheej yig dua hauv Equinix Tier IV data center hauv Amsterdam? Tsuas yog nyob ntawm no 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV los ntawm $ 199 hauv Netherlands! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - los ntawm $ 99! Nyeem txog Yuav ua li cas tsim infrastructure Corp. chav kawm nrog kev siv Dell R730xd E5-2650 v4 servers muaj nqis 9000 euros rau ib lub nyiaj?

Tau qhov twg los: www.hab.com

Ntxiv ib saib