DEVOXX UK. Kubernetes tootmises: Blue/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2

Kubernetes on suurepĂ€rane tööriist Docker-konteinerite kĂ€itamiseks klastris töötamise keskkonnas. Siiski on olemas ĂŒlesandeid, mida Kubernetes ei suuda lahendada. Tiheda juurutamise korral töötavas keskkonnas vajame tĂ€ielikult automatiseeritud Blue/Green juurutamist, et vĂ€ltida seisakuid, millega tuleb samuti tegeleda vĂ€liste HTTP-pĂ€ringutega ja hallata SSL-i eksporti. See nĂ”uab integreerimist koormustaseme jagajaga, nagu ha-proxy. Teine ĂŒlesanne on klastrite pooleautomaatne skaleerimine Kubernetes, kui töötame pilves, nĂ€iteks klastrite osaline vĂ€hendamine öösel.

Kuigi Kubernetes ei paku neid funktsioone otse "karbist", on see varustanud API-ga, mille abil saab sarnaseid ĂŒlesandeid lahendada. Automatiseeritud Blue/Green juurutamise ja Kubernetes klastrite skaleerimise tööriidud on vĂ€lja töötatud Cloud RTI projekti raames, mis loodi open-source'i pĂ”hjal.

Selles artiklis, video tÔlgenduses, rÀÀgitakse, kuidas seadistada Kubernetes koos teiste avatud lÀhtekoodiga komponentidega tootmisvalmis keskkonna loomiseks, mis ilma seisakuteta kÀsitleb koodi git commit muutustest.

DEVOXX UK. Kubernetes tootmises: Blue/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2

DEVOXX UK. Kubernetes tootmises: Blue/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 1

Niipea kui olete oma rakendustele vÀljastpoolt juurdepÀÀsu saanud, saate alustada automatiseerimise tÀielikku seadistamist, viies selle etappi, kus saab teha git commit ja veenduda, et see git commit jÔuab tootmisse. Loomulikult ei soovi me nende sammude rakendamisel, juurutamisel, silmitsi seista seisakutega. Seega algab igasugune automatiseerimine Kuberneteses API-st.

DEVOXX UK. Kubernetes tootmises: Blue/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2

Kubernetes ei ole tööriist, mida saaks produktiivselt kasutada "otsekoheselt karbist". Loomulikult vÔite seda nii teha, kasutada kubectl-i ja nii edasi, kuid API on siiski selle platvormi kÔige huvitavam ja kasulik element. Kasutades API-d funktsioonide kogumina, pÀÀsete ligi praktiliselt kÔigile asjadele, mida soovite Kuberneteses teha. Ka kubectl kasutab endal REST API-d.

See on REST, nii et saate selle API-ga töötamiseks kasutada mistahes keeli ja tööriistu, kuid kasutajate raamatukogud muudavad teie elu oluliselt lihtsamaks. Minu meeskond on kirjutanud kaks sellist raamatukogu: ĂŒhe Java / OSGi jaoks ja ĂŒhe Go jaoks. Teist kasutatakse harva, kuid igal juhul on need kasulikud tööriistad teie kĂ€sutuses. Need on osaliselt litsentseeritud avatud lĂ€htekoodiga projekt. Erinevatele keeltele on olemas palju selliseid raamatukogusid, nii et vĂ”ite valida kĂ”ige sobivama.

DEVOXX UK. Kubernetes tootmises: Blue/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2

Nii et enne automaatse juurutamise alustamist on oluline veenduda, et see protsess ei oleks mĂ€rgitud mingite seisakutega. NĂ€iteks meie meeskond viib tootmisjuurutuse lĂ€bi keset pĂ€eva, kui inimesed kasutavad rakendusi oma maksimaalses mahus, seega on vĂ€ga oluline vĂ€ltida viivitusi. Seisakute vĂ€ltimiseks kasutatakse kahte meetodit: blue/green juurutamine vĂ”i libisev vĂ€rskendus rolling update. Viimasel juhul, kui teie rakendusel on 5 koopiat, uuendatakse neid jĂ€rjestikku. See meetod töötab vĂ€ga hĂ€sti, kuid ei sobi, kui juurutamise ajal on teil samaaegselt erinevad versioonid rakendusest. Sellisel juhul saate kasutajaliidese vĂ€rskendada, samal ajal kui tagaplaat töötab vanema versiooniga, ja rakenduse töö katkeb. SeetĂ”ttu on programmeerimise seisukohalt sellistes tingimustes töö tegemine ĂŒsna keeruline.

See on ĂŒks pĂ”hjuseid, miks me eelistame kasutada blue/green juurutamist oma rakenduste automaatseks juurutamiseks. Selle meetodi puhul peate veenduma, et teatud hetkel on aktiivne ainult ĂŒks rakenduse versioon.

Blue/green juurutamise mehhanism on jÀrgmine. Saame oma rakenduste liikluse lÀbi ha-proxy, mis suunab selle samade versioonide jooksvale koopiale.

Uue juurutuse teostamisel kasutame Deployer'i, millele antakse uued komponendid, ning see viib lÀbi uue versiooni juurutamise. Uue versiooni rakenduse juurutamine tÀhendab, et "tÔstetakse" uus replika kogum, seejÀrel kÀivitatakse need uue versiooniga eraldi, uues konteineris. Siiski ei ole ha-proxy sellest teadlik ning ei suuna neile veel mingit koormust.

SeetÔttu on esmajÀrjekorras vajalik teostada uue versiooni terviklikkuse kontroll, et veenduda replikate valmisolekus koormust teenindama.

DEVOXX UK. Kubernetes tootmises: Blue/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2

KĂ”ik juurutamise komponendid peavad toetama mingit vormi terviklikkuse kontrolli. See vĂ”ib olla tĂ€iesti lihtne HTTP pĂ€ring, kus saate 200 staatusekoode, vĂ”i sĂŒgavam kontroll, kus kontrollite replikate ĂŒhendust andmebaasi ja teiste teenustega, dĂŒnaamilise keskkonna sidemete stabiilsust, ja kas kĂ”ik kĂ€ivitub ja töötab Ă”igesti. See protsess vĂ”ib olla ĂŒsna keeruline.

DEVOXX UK. Kubernetes tootmises: Blue/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2

PĂ€rast seda, kui sĂŒsteem on veendunud, et kĂ”ik vĂ€rskendatud replikad töötavad, uuendab Deployer konfiguratsiooni ja edastab Ă”ige confd, mis konfigureerib ha-proxy ĂŒmber.

DEVOXX UK. Kubernetes tootmises: Blue/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2

Ainult pÀrast seda suunatakse liiklus konteinerrisse uue versiooni replikatega ning vana konteiner kaob.

DEVOXX UK. Kubernetes tootmises: Blue/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2

See mehhanism ei ole Kubernetes'e spetsiifiline. Blue/green juurutamise kontseptsioon on olemas olnud juba pikka aega ja on alati kasutanud koormuse tasakaalustajat. Esmalt suuname kogu liikluse vana rakenduse versiooni, seejÀrel pÀrast vÀrskendust suuname selle tÀielikult uue versiooni suunas. Seda pÔhimÔtet kasutatakse mitte ainult Kubernetes'e puhul.

Praegu tutvustan ma teile uut juurutuskomponenti - Deployer, mis viib lÀbi terviklikkuse kontrolli, rekonfigureerib proxy jne. See on kontseptsioon, mis ei puuduta vÀlist maailma ja eksisteerib Kubernetes'e sees. NÀitan, kuidas luua omaenda Deployer'i kontseptsioon avatud lÀhtekoodiga tööriistade abil.

Nii et, esimene asi, mida Deployer teeb, on replikatsiooni kontrollija RC loomine, kasutades Kubernetes API-d. See API loob podid ja teenused edasiseks juurutamiseks, ehk loob tÀiesti uue klastrite meie rakendustele. Kui RC on kindel, et koopiad on kÀivitatud, viib ta lÀbi tervisekontrolli. Selleks kasutatakse Deployeris kÀsku GET /health. See kÀivitab vastavad kontrollkomponendid ja kontrollib kÔiki elemente, mis tagavad klastrite töö.

DEVOXX UK. Kubernetes tootmises: Blue/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2

Kui kĂ”ik podid on teatanud oma 'terves' seisundist, loob Deployer uue konfiguratsioonielemendi – jaotatud andmehoidla etcd, mida kasutatakse Kuberneteses, sealhulgas koormuse tasandaja konfiguratsiooni salvestamiseks. Me salvestame andmed etcd-sse ja vĂ€ike tööriist confd jĂ€lgib etcd-d uute andmete ilmumise osas.

Kui ta tuvastab algse konfiguratsiooni muudatused, genereerib ta uue seadistust faili ja edastab selle ha-proxyle. Sel juhul taaskĂ€ivitub ha-proxy, kaotamata mingeid ĂŒhendusi, ja suunab koormuse uutele teenustele, mis tagavad meie uute rakenduste versioonide toimimise.

DEVOXX UK. Kubernetes tootmises: Blue/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2

Nagu nĂ€ete, ei ole siin, vaatamata komponentide arvule, midagi keerulist. Te peate lihtsalt rohkem tĂ€helepanu pöörama API-le ja etcd-le. Ma tahan rÀÀkida teile avatud koodiga juutisest, mida me ise kasutame – Amdatu Kubernetes Deployer.

DEVOXX UK. Kubernetes tootmises: Blue/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2

See on tööriist Kubernetes'i juurutuste orkestreerimiseks, millel on jÀrgmised funktsioonid:

  • Blue/Green juurutamine;
  • vĂ€list koormuse tasandaja seadistamine;
  • juurutuste descriptorite haldamine;
  • tegeliku juurutuse haldamine;
  • tervenemisvĂ”ime tervisekontrollid juurutamise ajal;
  • keskkonnamuutujate sisestamine podidesse.

See Deployer on loodud Kubernetes API tipul ja esindab REST API-d descriptorite ja juurutuste haldamiseks ning Websocket API-d juurutamise ajal logide voogedastamiseks.

Ta paneb koormuse tasandaja konfiguratsiooni andmed etcd-sse, seega ei pea te kasutama ha-proxy't 'karbist vÀlja', vaid saate hÔlpsasti kasutada oma koormuse tasandaja konfiguratsiooni faili. Amdatu Deployer on kirjutatud Go keeles, nagu ka Kubernetes ise, ja on litsentseeritud Apache.

Enne selle versiooni kasutusele vÔtmist kasutasin jÀrgmist juurutuse deskriptorit, mis sisaldab mulle vajalikke parameetreid.

DEVOXX UK. Kubernetes tootmises: Blue/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2

Üks selle koodi olulisi parameetreid on lipu „useHealthCheck“ aktiveerimine. Me peame nĂ€itama, et juurutamise kĂ€igus tuleb teostada töökontrolli kontroll. See parameeter vĂ”ib olla vĂ€lja lĂŒlitatud, kui juurutuses kasutatakse kolmandate osapoolte konteinerid, mida ei pea kontrollima. Selles deskriptoris on ka mÀÀratud replikate arv ja ha-proxy jaoks vajalik esiplaanide URL. LĂ”pus on mÀÀratud podi spefikatsiooni lipp „podspec“, mis pöördub Kubernetes'i poole portsade, pildi jne seadistamise teabe saamiseks. See on suhteliselt lihtne deskriptor JSON formaadis.

Veel ĂŒks tööriist, mis on osa avatud lĂ€htekoodiga projektist Amdatu, on Deploymentctl. Sellel on kasutajaliides juurutamise seadistamiseks, see sĂ€ilitab juurutamise ajalugu ja sisaldab veebikutseid kolmandate kasutajate ja arendajate jaoks. Te ei pea kasutama kasutajaliidest, kuna Amdatu Deployer on REST API, kuid see liides vĂ”ib oluliselt lihtsustada juurutamist ilma ĂŒhegi API kaasamiseta. Deploymentctl on kirjutatud OSGi/Vertx koos Angular 2 kasutamisega.

NĂŒĂŒd demonstreerin eelnevat ekraanil, kasutades ettevalmistatud salvestust, nii et te ei pea ootama. Juurutame lihtsa rakenduse Go-s. Ärge muretsege, kui te pole Go-s varem kokku puutunud, see on vĂ€ga lihtne rakendus, nii et kĂ”ik peaks olema arusaadav.

DEVOXX UK. Kubernetes tootmises: Blue/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2

Siin loome HTTP-serveri, mis vastab ainult /health, nii et see rakendus kontrollib ainult töökontrolli, mitte midagi enamat. Kui kontroll lĂ€bib, aktiveeritakse allpool esitatud JSON-struktuur. See sisaldab rakenduse versiooni, mis juurutatakse deploieriga, sĂ”numit, mida nĂ€ete faili ĂŒlaosas, ja boolean-tĂŒĂŒpi, mis nĂ€itab, kas meie rakendus on töökorras vĂ”i mitte.

Viimase rea osas olin ma natuke petlik, sest panin faili ĂŒlaossa fikseeritud boolean vÀÀrtuse, mis aitab mul hiljem juurutada isegi "haige" rakenduse. Hiljem kĂ€sitleme seda.

Nii, alustame. Esiteks kontrollime, kas mÔni pod on juba kÀimas kÀsu abil ~ kubectl get pods ja kui frontendi URL-i vastust ei tule, siis veendume, et praegu ei toimu mingit juurutamist.

DEVOXX UK. Kubernetes tootmises: Blue/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2

Edasi nĂ€ete ekraanil Deploymentctl’i liidest, kus mÀÀratakse juurutamise parameetrid: nimekiri, rakenduse nimi, juurutamise versioon, replikate arv, frontendi URL, konteineri nimi, pilt, ressursipiirangud, kontrollimise pordi number jne. Ressursipiirangud on ÀÀrmiselt olulised, kuna need vĂ”imaldavad kasutada maksimaalset vĂ”imalikku riistvara. Siin saate ka vaadata juurutamise ajalugu Deployment log.

DEVOXX UK. Kubernetes tootmises: Blue/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2

Kui praegu jĂ€rgida kĂ€sku ~ kubectl get pods, siis on nĂ€ha, et sĂŒsteem "seisab paigal" 20 sekundit, mille jooksul toimub ha-proxy rekodeerimine. PĂ€rast seda kĂ€ivitatakse pod ja meie replikat on vĂ”imalik nĂ€ha juurutamise logis.

DEVOXX UK. Kubernetes tootmises: Blue/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2

Olen videost vĂ€lja lĂ”iganud 20-sekundilise ooteaja ja nĂŒĂŒd nĂ€ete ekraanil, et rakenduse esimene versioon on juurutatud. KĂ”ik see tehti ainult UI abil.

DEVOXX UK. Kubernetes tootmises: Blue/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2

NĂŒĂŒd proovime teist versiooni. Selleks muudan rakenduse sĂ”numi "Hello, Kubernetes!" asemel "Hello, Deployer!", sĂŒsteem loob selle pildi ja ĂŒles laeb selle Docker registerisse, seejĂ€rel vajutame lihtsalt veel kord Deploymentctl’i aknas nupule "Deploy". Sellega kĂ€ivitatakse automaatselt juurutamise log, just nagu see toimus esimese rakenduse versiooni juurutamisel.

DEVOXX UK. Kubernetes tootmises: Blue/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2

KÀsku ~ kubectl get pods nÀitab, et praegu on kÀimas 2 versiooni rakendusest, kuid frontendi poolt nÀidatakse, et meil on endiselt töötamas versioon 1.

DEVOXX UK. Kubernetes tootmises: Blue/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2

Koormuse tasakaalustaja ootab, kuni toimub tervisekontroll, pĂ€rast mida suunatakse liiklus uuele versioonile. 20 sekundi pĂ€rast lĂŒlitume curlile ja nĂ€eme, et nĂŒĂŒd on juurutatud 2. versioon rakendusest, samas esimene on eemaldatud.

DEVOXX UK. Kubernetes tootmises: Blue/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2

See oli "tervise" - healthy - rakenduse juurutamine. Vaadakem, mis juhtub, kui muudan uue versiooni rakenduse terviseparameetri vÀÀrtuse true'lt false'le, st ĂŒritan juurutada mitteterved rakendust, mis ei lĂ€binud töökindluse kontrolli. See vĂ”ib juhtuda, kui arenduse etapis on rakenduses tehtud mingisuguseid konfiguratsioonivigu ja see saadeti sellisel kujul tootmisse.

Nagu nĂ€ete, lĂ€bib juurutamine kĂ”ik ĂŒlalkirjeldatud etapid ja ~ kubectl get pods nĂ€itab, et mĂ”lemad podid on kĂ€ivitatud. Kuid erinevalt eelmisest juurutamisest nĂ€itab logi olek timeout. See tĂ€hendab, et kuna health check‘i kontroll ebaĂ”nnestus, ei saa uut rakenduse versiooni juurutada. Tulemuseks on see, et sĂŒsteem naaseb vana rakenduse versiooni kasutamisele ning uus versioon eemaldatakse lihtsalt.

DEVOXX UK. Kubernetes tootmises: Blue/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2

Hea on see, et isegi kui teil on suur hulk samaaegseid pĂ€ringuid, mis rakendusse jĂ”uavad, ei mĂ€rka nad juurutamisprotseduuri ajal katkestusi. Kui testida seda rakendust Gatlingi raamistiku abil, mis edastab sellele maksimaalselt vĂ”imalikke pĂ€ringuid, siis ei jĂ€eta ĂŒhtegi neist pĂ€ringutest kĂ”rvale. See tĂ€hendab, et meie kasutajad ei mĂ€rka isegi versioonide uuendust reaalajas. Kui see ebaĂ”nnestub, jĂ€tkab töö vana versiooni kasutamist, kui see Ă”nnestub – kasutajad liiguvad uuele versioonile.

On ainult ĂŒks asi, mis vĂ”ib ebaĂ”nnestuda – kui health check lĂ€bis eduka kontrolli, aga rakendus ebaĂ”nnestus kohe, kui sellele koormus tuli, st kokkuvarisemine toimub alles pĂ€rast juurutamise lĂ”ppemist. Sellisel juhul peate kĂ€sitsi naasma vana versiooni juurde. Nii et oleme vaadanud, kuidas kasutada Kubernetes't sellele mĂ”eldud avatud lĂ€htekoodiga tööriistadega. Juurutamisprotseduur lĂ€heb palju sujuvamalt, kui integreerite need tööriistad Build/Deploy torustikesse. Samuti saate juurutamise kĂ€ivitamiseks kasutada nii kasutajaliidest kui ka tĂ€ielikult automatiseerida selle protsessi, rakendades nĂ€iteks commit to master.

DEVOXX UK. Kubernetes tootmises: Blue/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2

Meie Build Server loob Docker-pildi, laadib selle Docker Hubi vÔi mis tahes muu kasutatava registri sisse. Docker Hub toetab webhooke, seega saame kÀivitada kaugjuurutamise vaikimisi eespool nÀidatud viisil. Nii saab rakenduse juurutamise tÀielikult automatiseerida potentsiaalsesse tootmisse.

Liigume jĂ€rgmise teema – Kubernetes klastrite skaleerimise – juurde. Tahan mĂ€rkida, et kubectl kĂ€sk on skaleerimise kĂ€sk. Selle abil on lihtne suurendada meie klastris olevate replikate arvu. Siiski soovime praktikas tavaliselt suurendada mitte podide, vaid node'ide arvu.

DEVOXX UK. Kubernetes tootmises: Blue/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2

Töötamise ajal vĂ”ib teil vaja minna skaleerimist ja öösiti, et vĂ€hendada Amazon'i teenuste kulusid, tuleks rakenduse kĂ€ivitatud nĂ€idiste arvu vĂ€hendada. See ei tĂ€henda, et piisab ainult podide skaleerimisest, sest isegi kui ĂŒks node on tĂŒhi, peate ikkagi selle eest Amazon'ile maksma. Seega tuleb lisaks podide skaleerimisele ka masinate arvu suurendada.

See vĂ”ib tekitada raskusi, kuna hoolimata sellest, kas kasutame Amazon'i vĂ”i mĂ”nda teist pilveteenust, ei tea Kubernetes midagi kasutatavate masinate arvust. Sellest puudub tööriist sĂŒsteemi skaleerimiseks node'ite tasemel.

DEVOXX UK. Kubernetes tootmises: Blue/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2

Seega peame hoolitsema nii node'ite kui ka podide eest. Me saame hÔlpsasti kÀivitada uusi node'e AWS API ja skaleerimisgrupi masinate abil, et seadistada Kubernetes'e töötavate sÔlmede arvu. Samuti on vÔimalik kasutada cloud-init vÔi sarnast skripti node'ite registreerimiseks Kubernetes klastris.

Uus masin kĂ€ivitub Scaling group'is, registreerib end sĂ”lmena, kirjutatakse meistri registrisse ja alustab tööd. PĂ€rast seda saab suurendada koopiaid, et kasutada loodud sĂ”lmedes. Skaalamise vĂ€hendamine nĂ”uab suuremaid jĂ”upingutusi, kuna tuleb veenduda, et selline samm ei tooks kaasa juba aktiivsete rakenduste hĂ€vitamist pĂ€rast "mittevajalike" masinate vĂ€ljalĂŒlitamist. Sellise stsenaariumi vĂ€ltimiseks tuleb viia sĂ”lmed „unschedulable” staatuse. See tĂ€hendab, et vaikeplaneerija ignoreerib neid sĂ”lmi, kui ta planeerib DaemonSet-i pude. Planeerija ei eemalda sealt midagi, kuid ei alusta seal uusi mahuteid. JĂ€rgmine samm on sĂ”lme tĂŒhjendamine, see tĂ€hendab tööpudede ĂŒlekandmine teisele masinale vĂ”i teistele sĂ”lmedele, millel on selleks piisavalt mahutavust. Kui veenduda, et nendel sĂ”lmedel pole enam mahuteid, saab need Kubernetesest eemaldada. PĂ€rast seda lĂ”petavad nad Kuberneteses lihtsalt olemise. Edasi tuleb kasutada AWS API-d tarbetute sĂ”lmede, vĂ”i masinate, vĂ€ljalĂŒlitamiseks.
Saate kasutada Amdatu Scalerd'i — veel ĂŒhte open-source tööriista, mis sarnaneb AWS API-le. See pakub CLI-d sĂ”lmede lisamiseks vĂ”i eemaldamiseks klastrist. Selle huvitav omadus on vĂ”imalus seadistada planeerijat jĂ€rgmise json-faili abil.

DEVOXX UK. Kubernetes tootmises: Blue/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2

Kood, mida on kujutatud, vÀhendab klastrite mahutavust öösel poole vÔrra. See on seadistatud nii olemasolevate koopiaide arvu kui ka soovitud Amazon'i klastrite mahutavuse jaoks. Selle planeerija kasutamine vÀhendab automaatselt sÔlmede arvu öösel ja suurendab neid hommikul, vÔimaldades sÀÀsta kulusid selliste pilveteenuste, nagu Amazon, sÔlmede kasutamisel. See funktsioon ei ole Kubernetesesse sisse ehitatud, kuid Scalerd'i kasutamine vÔimaldab teil seda platvormi igal viisil skaleerida.

Tahan juhtida teie tĂ€helepanu sellele, et paljud inimesed ĂŒtlevad mulle: „See kĂ”ik on tore, aga mis toimub minu andmebaasiga, mis tavaliselt on staatilises olekus?” Kuidas saaks midagi sellist kĂ€ivitada nii dĂŒnaamilises keskkonnas nagu Kubernetes? Minu arvates ei tohiks te seda teha, te ei peaks proovima korraldada andmehoidla tööd Kuberneteses. Tehniliselt on see vĂ”imalik ja internetis on selle kohta juhiseid, kuid see keerab teie elu tĂ”siselt keeruliseks.

Jah, Kuberneteses eksisteerib pĂŒsihoiustamise mĂ”isted ja vĂ”ite proovida kĂ€itada selliseid andmehoidlaid nagu Mongo vĂ”i MySQL, kuid see on ĂŒsna töömahukas ĂŒlesanne. See on seotud sellega, et andmehoidlad ei toeta tĂ€ielikult koostööd dĂŒnaamilise keskkonnaga. Enamik andmebaase vajab olulist seadistamist, sealhulgas klastrite kĂ€sitsi seadistamist, nad ei meeldi automaatse skaleerimisele ja muudele sarnastele asjadele.
SeetÔttu pole mÔtet endale elu keeruliseks teha, proovides kÀitada andmehoidlat Kuberneteses. Korraldage nende töö traditsioonilise meetodi abil, kasutades tuttavaid teenuseid, ja laske Kubernetesel neid kasutada.

DEVOXX UK. Kubernetes tootmises: Blue/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2

KokkuvÔtteks soovin tutvustada teile Cloud RTI platvormi Kubernetesel, mille kallal töötab minu meeskond. See pakub tsentraliseeritud logimist, rakenduste ja klastrite jÀlgimist ning omab palju muid kasulikke funktsioone, mis teile kasuks tulevad. Platvorm kasutab erinevaid avatud lÀhtekoodiga tööriistu, nagu Grafana, jÀlgimise kuvamiseks.

DEVOXX UK. Kubernetes tootmises: Blue/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2

DEVOXX UK. Kubernetes tootmises: Blue/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2

KĂŒsimus, miks kasutada Kubernetesega koos koormuse tasandajat ha-proxy. Hea kĂŒsimus, sest praegu on olemas kaks taset koormuse tasandamisel. Kubernetes teenused on endiselt virtuaalsetel IP-aadressidel. Te ei saa neid kasutada vĂ€liste hostmasinate portide jaoks, kuna kui Amazon oma pilveteenuseid ĂŒle koormab, muutub aadress. SeetĂ”ttu paigutame ha-proxy teenuste ette — et luua stabiilsem struktuur sujuvaks liiklustihedust Kubernetesega.

Veel hea kĂŒsimus – kuidas saab andmebaasi skeemi muutmisega tegeleda blue/green deployment'i ajal? Asi on selles, et olenemata Kubernetesest on andmebaasi skeemi muutmine keeruline ĂŒlesanne. Peate tagama vana ja uue skeemi ĂŒhilduvuse, seejĂ€rel saate andmebaasi uuendada ja seejĂ€rel rakendused uuendada. Saate teha andmebaasi "kuuma vahetuse" (hot swapping) ja seejĂ€rel rakendused uuendada. Mul on tuttavaid, kes on laadinud tĂ€iesti uue andmebaasi klastrisse koos uue skeemiga; see on valik, kui teil on schemeless andmebaas nagu Mongo, kuid igal juhul pole see lihtne ĂŒlesanne. Kui rohkem kĂŒsimusi pole, tĂ€nan tĂ€helepanu eest!

MĂ€ngi videot

Veidi reklaami 🙂

AitÀh, et olete meiega. Kas teile meeldivad meie artiklid? Kas soovite nÀha rohkem huvitavat sisu? Toetage meid, tellides teenuse vÔi soovitades meid tuttavatele. Pilve VPS arendajatele alates $4.99, ainulaadne entry-level serverite analoog, mille oleme teie jaoks vÀlja mÔelnud: Kogu tÔde VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps alates $19 vÔi kuidas jagada serverit Ôigesti? (saadaval RAID1 ja RAID10 variandid, kuni 24 tuuma ja kuni 40GB DDR4).

Dell R730xd on Equinixi Tier IV andmekeskuses Amsterdamis kaks korda odavam? Ainult meie juures 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TB alates $199 Hollandis! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — alates $99! Lugege sellest Kuidas luua ettevĂ”tte tasemel infrastruktuuri, kasutades Dell R730xd E5-2650 v4 servereid, mille hind on 9000 eurot, taskukohase hinna eest?

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster