{"id":83787,"date":"2020-06-03T07:42:26","date_gmt":"2020-06-03T05:42:26","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/devoxx-uk-kubernetes-v-prodakshene-blue-green-deployment-avtomasshtabirovanie-i-avtomatizacziya-razvertyvaniya-chast-2"},"modified":"2020-06-03T07:42:26","modified_gmt":"2020-06-03T05:42:26","slug":"devoxx-uk-kubernetes-v-prodakshene-blue-green-deployment-avtomasshtabirovanie-i-avtomatizacziya-razvertyvaniya-chast-2","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/devoxx-uk-kubernetes-v-prodakshene-blue-green-deployment-avtomasshtabirovanie-i-avtomatizacziya-razvertyvaniya-chast-2","title":{"rendered":"DEVOXX UK. Kubernetes tootmises: Blue\/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Kubernetes on suurep\u00e4rane t\u00f6\u00f6riist Docker konteinerite k\u00e4itamiseks klastris. Siiski on \u00fclesandeid, mida Kubernetes ei suuda lahendada. T\u00f6\u00f6protsessis, kus toimub sagedane juurutamine, vajame t\u00e4ielikult automatiseeritud Blue\/Green juurutamist, et v\u00e4ltida seisakuid, kus tuleb samuti hallata v\u00e4liseid HTTP-p\u00e4ringuid ja teostada SSL-i \u00fctlemist. See n\u00f5uab integreerimist koormuse tasakaalustajaga, nagu ha-proxy. Teine probleem on Kubernetes klastrite osaline automaatne skaleerimine pilves, n\u00e4iteks klastrite osaline v\u00e4hendamine \u00f6\u00f6sel.<\/p>\n<p>Kuigi Kubernetes ei oma neid funktsioone otse \u201ekarbist\u201d, pakub see API-d, mida saab kasutada sarnaste \u00fclesannete lahendamiseks. Automaatsete Blue\/Green juurutus- ja skaleerimist\u00f6\u00f6riistad Kubernetes klastris on arendatud Cloud RTI projekti raames, mis loodi open-source tehnoloogia alusel.<\/p>\n<p>Selles artiklis, videote selgitamisel, r\u00e4\u00e4gitakse, kuidas seadistada Kubernetes koos muude avatud l\u00e4htekoodiga komponente tootmiskeskkonna loomiseks, mis talub koodi git commit muudatustest ilma seisakuteta tootmises.<\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes tootmises: Blue\/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2\" src=\"\/wp-content\/uploads\/2020\/06\/43a4ba56526a91b6f3d1fb16c159cc1b.jpg\" style=\"display:block;margin: 0 auto;\" \/><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/504666\/\">DEVOXX UK. Kubernetes tootmises: Blue\/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 1<\/a><\/noindex><\/p>\n<p>Niipea kui olete saanud oma rakendustele v\u00e4ljastpoolt juurdep\u00e4\u00e4su, saab alustada automatiseerimise t\u00e4ielikku seadistamist, viies selle staadiumisse, kus saab teha git commit ja veenduda, et see git commit j\u00f5uab tootmisse. Loomulikult ei soovi me, et nendest sammudest, juurutamisest, tekiks seisakuid. Seega algab kogu automatiseerimine Kubernetesis API-st. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes tootmises: Blue\/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2\" src=\"\/wp-content\/uploads\/2020\/06\/aa470c1562e49d98a164e0485196426e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKubernetes ei ole t\u00f6\u00f6riist, mida saaks produktiivselt kasutada \u00abotsem\u00fc\u00fcgist\u00bb. Loomulikult v\u00f5id sa seda nii teha, kasutada kubectl jms, kuid API on selle platvormi k\u00f5ige huvitavam ja kasulikum osa. Kasutades API-d funktsioonide komplektina, saad ligip\u00e4\u00e4su peaaegu k\u00f5igile asjadele, mida soovid Kuberneteses teha. Kubectl kasutab ka ise REST API-d. <\/p>\n<p>See on REST, seega v\u00f5id kasutada selle API-ga t\u00f6\u00f6tamiseks mistahes programmeerimiskeeli ja t\u00f6\u00f6riistu, kuid kasutajate raamatukogud muudavad su elu m\u00e4rkimisv\u00e4\u00e4rselt lihtsamaks. Minu meeskond on kirjutanud kaks sellist raamatukogu: \u00fche Java \/ OSGi jaoks ja teise Go jaoks. Teist kasutatakse mittetihti, kuid igal juhul on need kasulikud asjad sinu k\u00e4sutuses. Need on osaliselt litsentseeritud avatud l\u00e4htekoodiga projekt. Erinevatele keeledele on olemas palju selliseid raamatukogusid, et saaksid valida endale sobivad. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes tootmises: Blue\/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2\" src=\"\/wp-content\/uploads\/2020\/06\/808865e4cda6023c6775ec9e581fc46e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEnne juurutamise automatiseerimisega alustamist on oluline veenduda, et see protsess ei p\u00f5hjustaks mingeid seiskamisi. N\u00e4iteks meie meeskond viib tootmisjuurutuse l\u00e4bi keskp\u00e4eval, kui inimesed kasutavad rakendusi enim, seet\u00f5ttu on \u00e4\u00e4rmiselt oluline v\u00e4ltida protsessi viivitusi. Seiskamiste v\u00e4ltimiseks kasutatakse kahte meetodit: blue\/green juurutamine v\u00f5i skaleeritav v\u00e4rskendus (rolling update). Viimasel juhul, kui teil on t\u00f6\u00f6tamas 5 rakenduse koopiat, uuendatakse neid j\u00e4rjestikku \u00fcks p\u00e4rast teist. See meetod t\u00f6\u00f6tab suurep\u00e4raselt, kuid see ei sobi, kui juurutamise k\u00e4igus on teil samaaegselt k\u00e4imas erinevad rakenduse versioonid. Sellisel juhul v\u00f5ite kasutajaliidese v\u00e4rskendada samal ajal, kui tagumise poole t\u00f6\u00f6tavad vanema versiooniga, ja rakenduse t\u00f6\u00f6 katkeb. Seega on sellistes tingimustes programmeerimine \u00fcsna keeruline. <\/p>\n<p>See on \u00fcks p\u00f5hjusi, miks eelistame kasutada blue\/green juurutamist oma rakenduste juurutamise automatiseerimiseks. Sellise l\u00e4henemise puhul tuleb teil veenduda, et antud hetkel on aktiivne ainult \u00fcks rakenduse versioon. <\/p>\n<p>Blue\/green juurutamise mehhanism t\u00f6\u00f6tab j\u00e4rgmiselt. Suuname oma rakendustele liikluse l\u00e4bi ha-proxy, mis suunab selle sama versiooni k\u00e4ivitatud replikatele. <\/p>\n<p>Kui toimub uus juurutamine, kasutame Deployerit, millele antakse uued komponendid, ja see viib ellu uue versiooni juurutamise. Uue versiooni rakenduse juurutamine t\u00e4hendab, et \u201et\u00f5useb\u201d uus replikate komplekt, seej\u00e4rel k\u00e4ivitatakse need uue versiooni replikad eraldi, uues podis. Kuid ha-proxy ei tea neist midagi ja ei suuna neile veel mingit t\u00f6\u00f6koormust.<\/p>\n<p>Seet\u00f5ttu on esmane samm uute versioonide t\u00f6\u00f6 kontrollimiseks health checking, et veenduda, et replikad on valmis koormust teenindama.<\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes tootmises: Blue\/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2\" src=\"\/wp-content\/uploads\/2020\/06\/6134f89567ac3627197883b2f4c768d4.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nK\u00d5IK rakenduste komponentide juurutamised peavad toetama mingit vormi tervise kontrolli. See v\u00f5ib olla \u00fcsna lihtne HTTP p\u00e4ring, millega saadakse 200 staatuse kood, v\u00f5i p\u00f5hjalikum kontroll, kus kontrollitakse koopiate \u00fchendust andmebaasi ja teiste teenustega, d\u00fcnaamilise keskkonna \u00fchenduste usaldusv\u00e4\u00e4rsust ning kas k\u00f5ik t\u00f6\u00f6tab ja t\u00f6\u00f6tab korralikult. See protsess v\u00f5ib olla \u00fcsna keeruline. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes tootmises: Blue\/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2\" src=\"\/wp-content\/uploads\/2020\/06\/fdc537599187b32ab97bc00970283e1a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00e4rast seda, kui s\u00fcsteem on veendunud, et k\u00f5ik uuendatud koopiad t\u00f6\u00f6tavad, uuendab Deployer konfiguratsiooni ja edastab \u00f5ige confd, mis konfigureerib uuesti ha-proxy. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes tootmises: Blue\/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2\" src=\"\/wp-content\/uploads\/2020\/06\/099240482096c2ac4aafe7e803409511.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAinult p\u00e4rast seda suunatakse liiklus uue versiooni koopiatega alla ja vana all kaob. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes tootmises: Blue\/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2\" src=\"\/wp-content\/uploads\/2020\/06\/f656b3a3adfc27e782e5d9785b8b615e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSee mehhanism ei ole Kubernetes'e erip\u00e4ra. Blue\/green juurutamise kontseptsioon on eksisteerinud juba pikka aega ja see on alati kasutanud koormuse tasandajat. Esmalt suunate kogu liikluse vanemale versioonile ja p\u00e4rast uuendamist suunate selle t\u00e4ielikult uuele versioonile. Seda p\u00f5him\u00f5tet kasutatakse mitte ainult Kubernetes'es.<\/p>\n<p>Tutvustan teile uut juurutuse komponenti - Deployer, mis viib l\u00e4bi t\u00f6\u00f6kindluse kontrolli, konfigureerib \u00fcmber proksi jne. See on kontseptsioon, mis ei ole seotud v\u00e4lismaailma ja eksisteerib Kuberneteses. N\u00e4itan, kuidas luua omaenda Deployer kontseptsioon avatud l\u00e4htekoodiga t\u00f6\u00f6riistade abil. <\/p>\n<p>Nii et esimene asi, mida Deployer teeb - loob replikatsiooni kontrolleri RC, kasutades Kubernetes API-d. See API loob pod'id ja teenused edasiseks juurutamiseks, st loob t\u00e4iesti uue klastri meie rakenduste jaoks. Kui RC veendub, et replikad on k\u00e4ivitatud, siis viib ta l\u00e4bi nende t\u00f6\u00f6kindluse kontrolli. Selleks kasutatakse Deployeris k\u00e4sku GET \/health. See k\u00e4ivitab vastavad kontrollkomponendid ja kontrollib k\u00f5iki elemente, mis tagavad klastri t\u00f6\u00f6. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes tootmises: Blue\/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2\" src=\"\/wp-content\/uploads\/2020\/06\/f2ef0232e17bc69f0b70ea9eabc2f456.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKui k\u00f5ik podid on oma \"tervise\" kohta teatanud, loob Deployer uue konfiguratsiooni elemendi \u2013 jaotatud etcd-salvestuse, mida kasutatakse Kubernetes'i sees, sealhulgas koormuse tasakaalustaja konfiguratsiooni salvestamiseks. Me salvestame andmeid etcd-sse ning v\u00e4ike t\u00f6\u00f6riist confd j\u00e4lgib etcd-d, et tuvastada uusi andmeid. <\/p>\n<p>Kui see tuvastab mingeid muudatusi algses konfiguratsioonis, genereerib see uue seadistust faili ja edastab selle ha-proxy'le. Sel juhul taask\u00e4ivitab ha-proxy oma \u00fchendusi kaotamata ja suunab koormuse uutele teenustele, mis tagavad meie rakenduste uue versiooni toimimise. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes tootmises: Blue\/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2\" src=\"\/wp-content\/uploads\/2020\/06\/bef1536c2b8dee6b0da710fc6c6fda99.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNagu n\u00e4ete, ei ole siin, hoolimata komponentide rohkusest, midagi keerulist. Peate lihtsalt rohkem t\u00e4helepanu p\u00f6\u00f6rama API-le ja etcd-le. Soovin r\u00e4\u00e4kida teile avatud l\u00e4htekoodiga deployerist, mida me ise kasutame - see on Amdatu Kubernetes Deployer.<\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes tootmises: Blue\/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2\" src=\"\/wp-content\/uploads\/2020\/06\/34124e093d2e16fcbb80fd112c7d223f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSee on t\u00f6\u00f6riist Kubernetes'i juurutuste orkestreerimiseks, millel on j\u00e4rgmised funktsioonid: <\/p>\n<ul>\n<li>Blue\/Green deployment juurutamine;<\/li>\n<li>v\u00e4list koormuse tasakaalustaja seadistamine;<\/li>\n<li>juurutuste descriptoride haldamine;<\/li>\n<li>t\u00f5elise juurutuse haldamine;<\/li>\n<li>Terviklikkuse kontrollimine Health checks juurutamise ajal;<\/li>\n<li>Keskkonnaparameetrite sissetoomine podidesse.<\/li>\n<\/ul>\n<p>\nSee Deployer on loodud Kubernetes API \u00fcle ja pakub REST API-d descriptorite ja juurutuste haldamiseks ning Websocket API-d juurutamise ajal voogedastamiseks logides.<\/p>\n<p>See paneb koormuse tasakaalustaja konfiguratsiooni andmed etcd-sse, seega ei pea te kasutama ha-proxy-d 'kastist v\u00e4lja', vaid saate lihtsalt kasutada oma koormuse tasakaalustaja konfiguratsiooni faili. Amdatu Deployer on kirjutatud Go-s, nagu ka Kubernetes ise, ja litsentseeritud Apache all.<\/p>\n<p>Enne selle versiooni rakendamise alustamist kasutasin j\u00e4rgmist juurutuse deskriptorit, kus on m\u00e4\u00e4ratud vajalikud parameetrid. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes tootmises: Blue\/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2\" src=\"\/wp-content\/uploads\/2020\/06\/14e9ecca6ad772a43afcf95a4950fad8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00dcks selle koodi olulisi parameetreid on lipu \u201euseHealthCheck\u201c lubamine. Peame n\u00e4itama, et juurutamise k\u00e4igus tuleb teostada t\u00f6\u00f6kindluse kontroll. Seda parameetrit v\u00f5ib v\u00e4lja l\u00fclitada, kui juurutamisel kasutatakse kolmandate osapoolte konteine, mida ei ole vaja kontrollida. Sellel descriptoril on samuti m\u00e4\u00e4ratud replikaarv ja ha-proxy vajaliku eesmine URL. L\u00f5pus on podspec'i spetsiifikalipp, mis suunab Kubernetes'i sadamate, pildi jne seadistamise teabe saamiseks. See on \u00fcsna lihtne descriptor JSON formaadis. <\/p>\n<p>Veel \u00fcks t\u00f6\u00f6riist, mis on osa avatud l\u00e4htekoodiga projektist Amdatu, on Deploymentctl. Sellel on kasutajaliides (UI) juurutamise seadistamiseks, see salvestab juurutamise ajaloo ning sisaldab veebi konksu tagasikutsumiste jaoks kolmandate osapoolte kasutajatelt ja arendajatelt. Te ei pruugi kasutada UI-d, kuna Amdatu Deployer ise on REST API, kuid see liides v\u00f5ib juurutamist oluliselt lihtsustada ilma igasuguse API kaasamiseta. Deploymentctl on kirjutatud OSGi\/Vertx koos Angular 2-ga. <\/p>\n<p>N\u00fc\u00fcd demonstreerin \u00f6eldut ekraanil, kasutades eelnevalt salvestatud videot, nii et teil ei pea ootama. Me seadistame lihtsat rakendust Go-s. \u00c4rge muretsege, kui te pole varem Go-t kasutanud; see on v\u00e4ga lihtne rakendus, nii et k\u00f5ik peaks olema arusaadav. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes tootmises: Blue\/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2\" src=\"\/wp-content\/uploads\/2020\/06\/ab61ada396143e980d73a0bb8ff95076.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSiin loome HTTP-serveri, mis vastab ainult \/health, nii et see rakendus kontrollib ainult t\u00f6\u00f6valmidust ja mitte midagi muud. Kui kontroll l\u00e4heb l\u00e4bi, kuvatakse allpool n\u00e4idatud JSON-struktuur. See sisaldab versiooni rakendusest, mida juurutatakse, s\u00f5numit, mida n\u00e4ete faili \u00fclaosas, ja loogilist andmet\u00fc\u00fcpi boolean \u2014 kas meie rakendus on t\u00f6\u00f6tav v\u00f5i mitte.<\/p>\n<p>Viimase rea juures ma pisut petasin, sest panin faili \u00fclaossa fikseeritud boolean v\u00e4\u00e4rtuse, mis aitab mul hiljem isegi \"haige\" rakenduse juurutada. Hiljem saame sellega tegelema hakata. <\/p>\n<p>Nii et alustame. Esiteks kontrollime, kas on aktiveeritud mingeid pod'e, kasutades k\u00e4sku ~ kubectl get pods, ja kui esiosa URL-st vastust ei tule, veendume, et praegu ei toimu mingeid juurutamisi. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes tootmises: Blue\/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2\" src=\"\/wp-content\/uploads\/2020\/06\/4da1ae467993d6e60ec539ae5ff136ff.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEdasi n\u00e4ete ekraanil Deploymentctl'i liidest, kus m\u00e4\u00e4ratakse juurutamise parameetrid: nimekiri, rakenduse nimi, juurutamise versioon, replikaid, front-end URL, konteineri nimi, pilt, ressursi piirangud, tervisekontrolli port jne. Ressursi piirangud on v\u00e4ga olulised, kuna need v\u00f5imaldavad maksimaalselt kasutada olemasolevat riistvara. Siin saab ka vaadata juurutamislogi.<\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes tootmises: Blue\/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2\" src=\"\/wp-content\/uploads\/2020\/06\/edf6a02b336f1abce61f0a323edeee9d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKui n\u00fc\u00fcd korrata k\u00e4sku ~ kubectl get pods, on n\u00e4ha, et s\u00fcsteem \u00abpeatub\u00bb 20 sekundiks, mille jooksul toimub ha-proxy rekonstruktsioon. P\u00e4rast seda k\u00e4ivitatakse pod ja meie replika on n\u00e4ha juurutamislogis. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes tootmises: Blue\/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2\" src=\"\/wp-content\/uploads\/2020\/06\/c6c8f6335e00d3a9cfcf4d4792ecf795.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOlen videost v\u00e4lja l\u00f5igatud 20-sekundilise ootamise, ja n\u00fc\u00fcd n\u00e4ete ekraanil, et rakenduse esimene versioon on juurutatud. K\u00f5ik see tehti ainult UI abil. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes tootmises: Blue\/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2\" src=\"\/wp-content\/uploads\/2020\/06\/d21fa9ad71e22b2bb9efdfc7bc9c8771.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00fc\u00fcd proovime teist versiooni. Selleks muudan rakenduse s\u00f5numi \"Tere, Kubernetes!\" muutumisel \"Tere, Deployer!\", s\u00fcsteem loob selle pildi ja paigutab selle Docker registrisse, p\u00e4rast mida vajutame lihtsalt veel kord nupule \"Deploy\" aknas Deploymentctl. Sellega algab automaatselt juurutamise logi, just nagu see toimus esmakordse rakenduse juurutamise ajal. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes tootmises: Blue\/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2\" src=\"\/wp-content\/uploads\/2020\/06\/e4ef784649fd18b1580d2562b318ac0f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nK\u00e4sk ~ kubectl get pods n\u00e4itab, et hetkel on k\u00e4imas 2 versiooni rakendusest, kuid front-end n\u00e4itab, et meil t\u00f6\u00f6tab ikka veel versioon 1. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes tootmises: Blue\/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2\" src=\"\/wp-content\/uploads\/2020\/06\/1d4a9c91f836007325a2a2c833da8eff.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTasakaalustaja ootab, kuni tervisekontroll toimub, p\u00e4rast mida suunab ta liikluse uue versiooni poole. 20 sekundi p\u00e4rast vahetame curlile ja n\u00e4eme, et n\u00fc\u00fcd on meil juurutatud 2. versioon rakendusest, samas kui esimene on eemaldatud. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes tootmises: Blue\/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2\" src=\"\/wp-content\/uploads\/2020\/06\/e123618251e9fcb1c14829772634b6e8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSee oli \"terve\" rakenduse juurutamine. Vaadakem, mis juhtub, kui muudan rakenduse uue versiooni puhul parameetri Healthy v\u00e4\u00e4rtuse true-st false-ks, st \u00fcritan juurutada mittefunktsionaalset rakendust, mis ei ole l\u00e4binud t\u00f6\u00f6kindluse kontrolli. See v\u00f5ib juhtuda, kui arendusetapis on rakenduses tehtud mingid konfiguratsiooni vead ja see saadeti sellisena tootmisesse. <\/p>\n<p>Nagu n\u00e4ete, l\u00e4bib juurutamine k\u00f5ik \u00fclaltoodud etapid ja ~ kubectl get pods n\u00e4itab, et m\u00f5lemad podid on k\u00e4imas. Kuid erinevalt eelmisest juurutamisest n\u00e4itab logi timeout'i seisundit. See t\u00e4hendab, et kuna health check'i kontroll eba\u00f5nnestus, ei saa rakenduse uus versioon juurutada. Tulemusena n\u00e4ete, et s\u00fcsteem naases vana rakenduse versiooni kasutamise juurde ja uus versioon eemaldati lihtsalt. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes tootmises: Blue\/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2\" src=\"\/wp-content\/uploads\/2020\/06\/4542761328603596704f21cef4c9d4a3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHea on see, et isegi kui teie rakendusse j\u00f5uab suur hulk samaaegseid p\u00e4ringuid, ei m\u00e4rka nad isegi seisakut rakendamise protsessi ajal. Kui testite seda rakendust Gatlingi raamistikuga, mis saadab sellele maksimaalselt v\u00f5imaliku hulga p\u00e4ringuid, ei l\u00fckka \u00fckski neist p\u00e4ringutest tagasi. See t\u00e4hendab, et meie kasutajad ei m\u00e4rkagi versioonide ajakohastamist reaalajas. Kui see eba\u00f5nnestub, j\u00e4tkatakse vana versiooniga; kui see \u00f5nnestub, liikuvad kasutajad uuele versioonile. <\/p>\n<p>Ainult \u00fcks asi v\u00f5ib viia eba\u00f5nnestumiseni \u2013 kui health check on l\u00e4bitud ja rakendus peatub kohe, kui koormus sellele laekub, siis kokkuvarisemine toimub alles p\u00e4rast juurutamise l\u00f5petamist. Sel juhul peate k\u00e4sitsi tagasi minema vanemale versioonile. Nii et oleme arutanud, kuidas kasutada Kubernetesit koos sellele m\u00f5eldud avatud l\u00e4htekoodiga t\u00f6\u00f6riistadega. Juurutamisprotsess kulgeb palju sujuvamalt, kui integreerite need t\u00f6\u00f6riistad oma Build\/Deploy torudesse. Sellega v\u00f5ite kasutada juurutamise k\u00e4ivitamiseks nii kasutajaliidest kui ka t\u00e4ielikult automatiseerida protsesse, rakendades n\u00e4iteks commit to master. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes tootmises: Blue\/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2\" src=\"\/wp-content\/uploads\/2020\/06\/43b638be9d334c6c4f8e9f4fc00ce2f9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMeie Build Server loob Docker pildi, laadib selle Docker Hubi v\u00f5i m\u00f5nda muusse teie kasutatavasse registrisse. Docker Hub toetab webhook'e, seega saame k\u00e4ivitada kaugjuurutamise kaudu Deployer eespool n\u00e4idatud viisil. Nii saab rakenduse juurutamise t\u00e4iesti automatiseerida potentsiaalsesse tootmisse. <\/p>\n<p>Liigume j\u00e4rgmise teema \u2013 Kubernetes klastrite skaleerimise \u2013 juurde. T\u00f5in v\u00e4lja, et kubectl k\u00e4sk on skaleerimise k\u00e4sk. Selle abil on lihtne suurendada olemasolevate replikate arvu meie klastris. Praktikas tahame me siiski suurendada mitte podide, vaid nootide arvu. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes tootmises: Blue\/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2\" src=\"\/wp-content\/uploads\/2020\/06\/890f436b4bc52c81f5db5b35e64e7e18.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nT\u00f6\u00f6tamise ajal v\u00f5ib vaja minna suurendamist, samas kui \u00f6\u00f6sel, et v\u00e4hendada Amazon'i teenuste kulusid, tuleb v\u00e4hendada k\u00e4imasolevate rakenduste koopiaid. See ei t\u00e4henda, et piisab ainult podide arvu skaleerimisest, sest isegi kui \u00fcks noot ei ole h\u00f5ivatud, peate ikkagi selle eest Amazonile maksma. See t\u00e4hendab, et podide skaleerimise k\u00f5rval peate skaleerima ka kasutatavate masinate arvu. <\/p>\n<p>See v\u00f5ib tekitada raskusi, sest s\u00f5ltumata sellest, kas kasutame Amazoni v\u00f5i m\u00f5nda muud pilveteenust, ei tea Kubernetes midagi kasutatavate masinate arvust. Tal ei ole t\u00f6\u00f6riista, mis v\u00f5imaldaks s\u00fcsteemi skaleerida nootide tasemel. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes tootmises: Blue\/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2\" src=\"\/wp-content\/uploads\/2020\/06\/2f00b19f1cb665d8e7bd896fa419554c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSeega peame hoolitsema nii s\u00f5lmede kui ka podide eest. Uute s\u00f5lmede k\u00e4ivitamise suurendamine on lihtne AWS API ja skaleerimisgrupi (Scaling group) masinate abil, et seadistada Kubernetes'e t\u00f6\u00f6tlusettev\u00f5tete arv. Samuti saab kasutada cloud-init v\u00f5i sarnast skripti, et registreerida s\u00f5lmed Kubernetes'e klastri. <\/p>\n<p>Uus masin k\u00e4ivitub Scaling group'is, algatab end s\u00f5lmena, registreerib end \u00f5hhis ja alustab t\u00f6\u00f6d. P\u00e4rast seda saab suurendada replikate arvu, et kasutada moodustunud s\u00f5lmedes. Skaala v\u00e4hendamine n\u00f5uab suuremaid pingutusi, kuna on vajalik tagada, et seesugune samm ei viiks juba t\u00f6\u00f6tavate rakenduste h\u00e4vitamiseni p\u00e4rast \"mittevajalike\" masinate v\u00e4ljal\u00fclitamist. Sellise stsenaariumi v\u00e4ltimiseks tuleb viia s\u00f5lmed 'unschedulable' olekusse. See t\u00e4hendab, et planeerija ignoreerib neid s\u00f5lmi DaemonSet'i pod'ide plaanimisel. Planeerija ei eemalda midagi nende serverite pealt, kuid ei hakka sinna ka uusi konteineri k\u00e4ivitama. J\u00e4rgmine samm on s\u00f5lme drena\u017e, s.t. t\u00f6\u00f6tavate pod'ide \u00fcleviimine teisele masinale v\u00f5i teistele s\u00f5lmedele, mis omavad sellele piisavat mahtu. Kui on veendunud, et nendel s\u00f5lmedel ei ole enam kontaine, saab need Kubernetesest eemaldada. P\u00e4rast seda lakkavad nad Kuberneteses olemast. Edasi tuleb kasutada AWS API-d, et v\u00e4ljal\u00fclitada mittevajalikke s\u00f5lmi v\u00f5i masinaid. <br \/>\nTe saate kasutada Amdatu Scalerd - veel \u00fcht avatud l\u00e4htekoodiga t\u00f6\u00f6riista skaleerimiseks, mis sarnaneb AWS API-le. See pakub CLI-d klastrisse s\u00f5lmede lisamiseks v\u00f5i eemaldamiseks. Selle huvitavaks omaduseks on v\u00f5imalus seadistada ajakava j\u00e4rgmise json-failiga. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes tootmises: Blue\/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2\" src=\"\/wp-content\/uploads\/2020\/06\/f70c7c722cacb4792c316e9f80a7500a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKood, mis on n\u00e4idatud, v\u00e4hendab klastriv\u00f5imsust \u00f6\u00f6siti poole v\u00f5rra. See on seadistatud nii olemasolevate replikate arvu kui ka soovitud Amazon'i klastriv\u00f5imsuse jaoks. Selle ajakava kasutamine v\u00e4hendab automaatselt s\u00f5lmede arvu \u00f6\u00f6sel ja suurendab seda hommikul, v\u00f5imaldades kokku hoida kulusid s\u00f5lmede kasutamisel sellises pilveteenuses nagu Amazon. See funktsioon ei ole Kubernetes'e sisse ehitatud, kuid Scalerd'i kasutamine v\u00f5imaldab teil seda platvormi skaleerida meelep\u00e4rasel viisil. <\/p>\n<p>Soovin juhtida t\u00e4helepanu sellele, et paljud inimesed \u00fctlevad mulle: \"See k\u00f5ik on hea, aga mis saab minu andmebaasist, mis tavaliselt on staatilises olekus?\" Kuidas on v\u00f5imalik midagi sellist k\u00e4ivitada d\u00fcnaamilises keskkonnas nagu Kubernetes? Minu arvates ei peaks te seda tegema, ei peaks proovima korraldada andmehoidla toimimist Kuberneteses. Tehniliselt on see v\u00f5imalik, ja internetis on selle kohta juhiseid, kuid see raskendab t\u00f5siselt teie elu. <\/p>\n<p>Jah, Kuberneteses on olemas p\u00fcsivate andmehoidlate m\u00f5isted, ja v\u00f5ite proovida k\u00e4ivitada andmehoidlaid nagu Mongo v\u00f5i MySQL, kuid see on \u00fcsna aegan\u00f5udev \u00fclesanne. See on seotud sellega, et andmehoidlad ei toeta t\u00e4ielikult suhtlemist d\u00fcnaamilises keskkonnas. Enamik andmebaase n\u00f5uab olulist seadistamist, sealhulgas k\u00e4sitsi klastrite seadistamist ning ei armasta automaatset skaleerimist ja muid sarnaseid asju. <br \/>\nSeet\u00f5ttu ei tasu endale elu keeruliseks teha, p\u00fc\u00fcdes andmesalvestust Kuberneteses k\u00e4ivitada. korraldage nende t\u00f6\u00f6 traditsiooniliselt tuttavate teenuste abil ja laske Kubernetesel neid kasutada.<\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes tootmises: Blue\/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2\" src=\"\/wp-content\/uploads\/2020\/06\/129e8d403f42b7aa6fb022b386955e9e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKokkuv\u00f5tteks tahaksin teid tutvustada Cloud RTI platvormiga, mis p\u00f5hineb Kubernetesel ja mille kallal t\u00f6\u00f6tab minu meeskond. See pakub keskset logide haldamist, rakenduste ja klastrite monitooringut ning omab palju teisi kasulikke funktsioone, mis v\u00f5ivad teile kasuks tulla. Platvormil kasutatakse erinevaid avatud l\u00e4htekoodiga t\u00f6\u00f6riistu, nagu Grafana monitooringu kuvamiseks.<\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes tootmises: Blue\/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2\" src=\"\/wp-content\/uploads\/2020\/06\/a0e79033dbc0a2683e3567934c9ba014.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes tootmises: Blue\/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2\" src=\"\/wp-content\/uploads\/2020\/06\/2b1b7ba139053fc492c7ad25e96f362f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nK\u00fcsimus kerkis, miks kasutada Kubernetesega koos koormuse jaotajat ha-proxy. H\u00e4sti esitatud k\u00fcsimus, kuna praegu on olemas 2 koormuse jaotustasandit. Kubernetes teenused asuvad endiselt virtuaalsetel IP-aadressidel. Te ei saa neid kasutada v\u00e4liste host-masinate portidele, kuna kui Amazon \u00fcle koormab oma pilvema, muutub aadress. Sellep\u00e4rast asetame ha-proxy teenuste ette \u2014 et luua stabiilsem struktuur, et liiklus saaks sujuvalt suhelda Kubernetesega. <\/p>\n<p>Veel hea k\u00fcsimus \u2013 kuidas hoolitseda andmebaasi skeemi muutmise eest blue\/green deployment'i puhul? Tegelikult on andmebaasi skeemi muutmine keeruline \u00fclesanne, s\u00f5ltumata Kubernetes'i kasutamisest. Peate tagama vana ja uue skeemi \u00fchilduvuse, seej\u00e4rel saate andmebaasi uuendada ja seej\u00e4rel rakendusi. Saate teostada \u201ekuuma vahetuse\u201c andmebaasi, seej\u00e4rel uuendada rakendusi. Tunnen inimesi, kes on laadinud t\u00e4iesti uue andmebaasi klastri uue skeemiga, see on variant, kui teil on schemeless andmebaas nagu Mongo, kuid igal juhul ei ole see lihtne \u00fclesanne. Kui k\u00fcsimusi rohkem ei ole, t\u00e4nan t\u00e4helepanu eest!<\/p>\n<p><center><div class=\"youtube-placeholder\" data-id=\"-Ci4vd4rh4M\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/-Ci4vd4rh4M\/hqdefault.jpg\" alt=\"Vaata videot\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><\/p>\n<h3>Veidi reklaami \ud83d\ude42<\/h3>\n<p>\nAit\u00e4h, et olete meiega. Kas teile meeldivad meie artiklid? Kas soovite n\u00e4ha rohkem huvitavaid materjale? Toetage meid, tehes tellimuse v\u00f5i soovitades meid tuttavatele. <noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/cloudvps\/nl\">pilve VPS arendajatele alates $4,99<\/a><\/noindex>, <b>ainulaadne sisenemise taseme serverite analoog, mille oleme teie jaoks v\u00e4lja m\u00f5elnud:<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/347386\/\">Kogu t\u00f5de VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps alates $19 v\u00f5i kuidas \u00f5ieti serverit jagada?<\/a><\/noindex> (saadaval on RAID1 ja RAID10 variandid, kuni 24 s\u00fcdamikku ja kuni 40GB DDR4).<\/p>\n<p><b>Kas Dell R730xd on kaks korda odavam Equinixi Tier IV andmete keskuses Amsterdamis?<\/b> Ainult meie juures <b><noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/serversnl\">2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TB alates $199<\/a><\/noindex> Hollandi turul! <b>Dell R420 \u2014 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB \u2014 alates $99!<\/b><\/b> Lugege, kuidas <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/329618\/\">Luua ettev\u00f5tte tasemel infrastruktuur Dell R730xd E5-2650 v4 serveritega, mille hind on 9000 eurot, madala hinnaga?<\/a><\/noindex><br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/504672\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>Kubernetes \u2014 \u044d\u0442\u043e \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 Docker \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435. \u041e\u0434\u043d\u0430\u043a\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0437\u0430\u0434\u0430\u0447\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 Kubernetes \u0440\u0435\u0448\u0438\u0442\u044c \u043d\u0435 \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438. \u041f\u0440\u0438 \u0447\u0430\u0441\u0442\u043e\u043c \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0438 \u0432 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u0441\u0440\u0435\u0434\u0435 \u043c\u044b \u043d\u0443\u0436\u0434\u0430\u0435\u043c\u0441\u044f \u0432 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c Blue\/Green deployment, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0435\u0432 \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435, \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0442\u0430\u043a\u0436\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0432\u043d\u0435\u0448\u043d\u0438\u0435 HTTP-\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0443 SSL. \u042d\u0442\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":83788,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-83787","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"Kubernetes \u2014 \u044d\u0442\u043e \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 Docker \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435. \u041e\u0434\u043d\u0430\u043a\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0437\u0430\u0434\u0430\u0447\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 Kubernetes \u0440\u0435\u0448\u0438\u0442\u044c \u043d\u0435 \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438. \u041f\u0440\u0438 \u0447\u0430\u0441\u0442\u043e\u043c \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0438 \u0432 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u0441\u0440\u0435\u0434\u0435 \u043c\u044b \u043d\u0443\u0436\u0434\u0430\u0435\u043c\u0441\u044f \u0432 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c Blue\/Green deployment, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0435\u0432 \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435, \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0442\u0430\u043a\u0436\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0432\u043d\u0435\u0448\u043d\u0438\u0435 HTTP-\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0443 SSL. \u042d\u0442\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/devoxx-uk-kubernetes-v-prodakshene-blue-green-deployment-avtomasshtabirovanie-i-avtomatizacziya-razvertyvaniya-chast-2\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47DEVOXX UK. Kubernetes \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0435: Blue\/Green deployment, \u0430\u0432\u0442\u043e\u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f. \u0427\u0430\u0441\u0442\u044c 2 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"Kubernetes \u2014 \u044d\u0442\u043e \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 Docker \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435. \u041e\u0434\u043d\u0430\u043a\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0437\u0430\u0434\u0430\u0447\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 Kubernetes \u0440\u0435\u0448\u0438\u0442\u044c \u043d\u0435 \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438. \u041f\u0440\u0438 \u0447\u0430\u0441\u0442\u043e\u043c \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0438 \u0432 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u0441\u0440\u0435\u0434\u0435 \u043c\u044b \u043d\u0443\u0436\u0434\u0430\u0435\u043c\u0441\u044f \u0432 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c Blue\/Green deployment, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0435\u0432 \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435, \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0442\u0430\u043a\u0436\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0432\u043d\u0435\u0448\u043d\u0438\u0435 HTTP-\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0443 SSL. \u042d\u0442\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/devoxx-uk-kubernetes-v-prodakshene-blue-green-deployment-avtomasshtabirovanie-i-avtomatizacziya-razvertyvaniya-chast-2\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-06-03T05:42:26+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-06-03T05:42:26+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47DEVOXX UK. Kubernetes tootmises: Blue\/Green juurutamine, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2 | ProHoster","description":"Kubernetes on suurep\u00e4rane t\u00f6\u00f6riist Docker konteinerite k\u00e4ivitamiseks klastriseeritud tootmis keskkonnas. Kuid on \u00fclesandeid, mida Kubernetes ei suuda lahendada. Tiheda juurutamise korral t\u00f6\u00f6keskkonnas vajame t\u00e4ielikult automatiseeritud Blue\/Green juurutust, et v\u00e4ltida selle protsessi seisakuid, kus peame samuti t\u00f6\u00f6tlema v\u00e4liseid HTTP-palveid ja korraldama SSL-i eksportimist. See n\u00f5uab integreerimist.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/devoxx-uk-kubernetes-v-prodakshene-blue-green-deployment-avtomasshtabirovanie-i-avtomatizacziya-razvertyvaniya-chast-2","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47DEVOXX UK. Kubernetes \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0435: Blue\/Green deployment, \u0430\u0432\u0442\u043e\u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f. \u0427\u0430\u0441\u0442\u044c 2 | ProHoster","og:description":"Kubernetes \u2014 \u044d\u0442\u043e \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 Docker \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435. \u041e\u0434\u043d\u0430\u043a\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0437\u0430\u0434\u0430\u0447\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 Kubernetes \u0440\u0435\u0448\u0438\u0442\u044c \u043d\u0435 \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438. \u041f\u0440\u0438 \u0447\u0430\u0441\u0442\u043e\u043c \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0438 \u0432 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u0441\u0440\u0435\u0434\u0435 \u043c\u044b \u043d\u0443\u0436\u0434\u0430\u0435\u043c\u0441\u044f \u0432 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c Blue\/Green deployment, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0435\u0432 \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435, \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0442\u0430\u043a\u0436\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0432\u043d\u0435\u0448\u043d\u0438\u0435 HTTP-\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0443 SSL. \u042d\u0442\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/devoxx-uk-kubernetes-v-prodakshene-blue-green-deployment-avtomasshtabirovanie-i-avtomatizacziya-razvertyvaniya-chast-2","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-06-03T05:42:26+00:00","article:modified_time":"2020-06-03T05:42:26+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"83787","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 15:11:01","updated":"2022-09-28 11:45:41"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/83787","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=83787"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/83787\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/83788"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=83787"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=83787"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=83787"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}