{"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 t\u00f6\u00f6tamise keskkonnas. Siiski on olemas \u00fclesandeid, mida Kubernetes ei suuda lahendada. Tiheda juurutamise korral t\u00f6\u00f6tavas keskkonnas vajame t\u00e4ielikult automatiseeritud Blue\/Green juurutamist, et v\u00e4ltida seisakuid, millega tuleb samuti tegeleda v\u00e4liste HTTP-p\u00e4ringutega ja hallata SSL-i eksporti. See n\u00f5uab integreerimist koormustaseme jagajaga, nagu ha-proxy. Teine \u00fclesanne on klastrite pooleautomaatne skaleerimine Kubernetes, kui t\u00f6\u00f6tame pilves, n\u00e4iteks klastrite osaline v\u00e4hendamine \u00f6\u00f6sel.<\/p>\n<p>Kuigi Kubernetes ei paku neid funktsioone otse \"karbist\", on see varustanud API-ga, mille abil saab sarnaseid \u00fclesandeid lahendada. Automatiseeritud Blue\/Green juurutamise ja Kubernetes klastrite skaleerimise t\u00f6\u00f6riidud on v\u00e4lja t\u00f6\u00f6tatud Cloud RTI projekti raames, mis loodi open-source'i p\u00f5hjal.<\/p>\n<p>Selles artiklis, video t\u00f5lgenduses, r\u00e4\u00e4gitakse, kuidas seadistada Kubernetes koos teiste avatud l\u00e4htekoodiga komponentidega tootmisvalmis keskkonna loomiseks, mis ilma seisakuteta k\u00e4sitleb koodi git commit muutustest.<\/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 oma rakendustele v\u00e4ljastpoolt juurdep\u00e4\u00e4su saanud, saate alustada automatiseerimise t\u00e4ielikku seadistamist, viies selle etappi, kus saab teha git commit ja veenduda, et see git commit j\u00f5uab tootmisse. Loomulikult ei soovi me nende sammude rakendamisel, juurutamisel, silmitsi seista seisakutega. Seega algab igasugune automatiseerimine Kuberneteses 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 \"otsekoheselt karbist\". Loomulikult v\u00f5ite seda nii teha, kasutada kubectl-i ja nii edasi, kuid API on siiski selle platvormi k\u00f5ige huvitavam ja kasulik element. Kasutades API-d funktsioonide kogumina, p\u00e4\u00e4sete ligi praktiliselt k\u00f5igile asjadele, mida soovite Kuberneteses teha. Ka kubectl kasutab endal REST API-d. <\/p>\n<p>See on REST, nii et saate selle API-ga t\u00f6\u00f6tamiseks kasutada mistahes keeli ja t\u00f6\u00f6riistu, kuid kasutajate raamatukogud muudavad teie elu oluliselt lihtsamaks. Minu meeskond on kirjutanud kaks sellist raamatukogu: \u00fche Java \/ OSGi jaoks ja \u00fche Go jaoks. Teist kasutatakse harva, kuid igal juhul on need kasulikud t\u00f6\u00f6riistad teie k\u00e4sutuses. Need on osaliselt litsentseeritud avatud l\u00e4htekoodiga projekt. Erinevatele keeltele on olemas palju selliseid raamatukogusid, nii et v\u00f5ite valida k\u00f5ige sobivama. <\/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 \/>\nNii et enne automaatse juurutamise alustamist on oluline veenduda, et see protsess ei oleks m\u00e4rgitud mingite seisakutega. N\u00e4iteks meie meeskond viib tootmisjuurutuse l\u00e4bi keset p\u00e4eva, kui inimesed kasutavad rakendusi oma maksimaalses mahus, seega on v\u00e4ga oluline v\u00e4ltida viivitusi. Seisakute v\u00e4ltimiseks kasutatakse kahte meetodit: blue\/green juurutamine v\u00f5i libisev v\u00e4rskendus rolling update. Viimasel juhul, kui teie rakendusel on 5 koopiat, uuendatakse neid j\u00e4rjestikku. See meetod t\u00f6\u00f6tab v\u00e4ga h\u00e4sti, kuid ei sobi, kui juurutamise ajal on teil samaaegselt erinevad versioonid rakendusest. Sellisel juhul saate kasutajaliidese v\u00e4rskendada, samal ajal kui tagaplaat t\u00f6\u00f6tab vanema versiooniga, ja rakenduse t\u00f6\u00f6 katkeb. Seet\u00f5ttu on programmeerimise seisukohalt sellistes tingimustes t\u00f6\u00f6 tegemine \u00fcsna keeruline. <\/p>\n<p>See on \u00fcks p\u00f5hjuseid, miks me eelistame kasutada blue\/green juurutamist oma rakenduste automaatseks juurutamiseks. Selle meetodi puhul peate veenduma, et teatud hetkel on aktiivne ainult \u00fcks rakenduse versioon. <\/p>\n<p>Blue\/green juurutamise mehhanism on j\u00e4rgmine. Saame oma rakenduste liikluse l\u00e4bi ha-proxy, mis suunab selle samade versioonide jooksvale koopiale. <\/p>\n<p>Uue juurutuse teostamisel kasutame Deployer'i, millele antakse uued komponendid, ning see viib l\u00e4bi uue versiooni juurutamise. Uue versiooni rakenduse juurutamine t\u00e4hendab, et \"t\u00f5stetakse\" uus replika kogum, seej\u00e4rel k\u00e4ivitatakse need uue versiooniga eraldi, uues konteineris. Siiski ei ole ha-proxy sellest teadlik ning ei suuna neile veel mingit koormust.<\/p>\n<p>Seet\u00f5ttu on esmaj\u00e4rjekorras vajalik teostada uue versiooni terviklikkuse kontroll, et veenduda replikate valmisolekus 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\u00f5ik juurutamise komponendid peavad toetama mingit vormi terviklikkuse kontrolli. See v\u00f5ib olla t\u00e4iesti lihtne HTTP p\u00e4ring, kus saate 200 staatusekoode, v\u00f5i s\u00fcgavam kontroll, kus kontrollite replikate \u00fchendust andmebaasi ja teiste teenustega, d\u00fcnaamilise keskkonna sidemete stabiilsust, ja kas k\u00f5ik k\u00e4ivitub ja t\u00f6\u00f6tab \u00f5igesti. 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 v\u00e4rskendatud replikad t\u00f6\u00f6tavad, uuendab Deployer konfiguratsiooni ja edastab \u00f5ige confd, mis konfigureerib ha-proxy \u00fcmber. <\/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 konteinerrisse uue versiooni replikatega ning vana konteiner 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 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\u00e4rel p\u00e4rast v\u00e4rskendust suuname selle t\u00e4ielikult uue versiooni suunas. Seda p\u00f5him\u00f5tet kasutatakse mitte ainult Kubernetes'e puhul.<\/p>\n<p>Praegu tutvustan ma teile uut juurutuskomponenti - Deployer, mis viib l\u00e4bi terviklikkuse kontrolli, rekonfigureerib proxy jne. See on kontseptsioon, mis ei puuduta v\u00e4list maailma ja eksisteerib Kubernetes'e sees. N\u00e4itan, kuidas luua omaenda Deployer'i kontseptsioon avatud l\u00e4htekoodiga t\u00f6\u00f6riistade abil. <\/p>\n<p>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\u00e4iesti uue klastrite meie rakendustele. Kui RC on kindel, et koopiad on k\u00e4ivitatud, viib ta l\u00e4bi tervisekontrolli. Selleks kasutatakse Deployeris k\u00e4sku GET \/health. See k\u00e4ivitab vastavad kontrollkomponendid ja kontrollib k\u00f5iki elemente, mis tagavad klastrite 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 teatanud oma 'terves' seisundist, loob Deployer uue konfiguratsioonielemendi \u2013 jaotatud andmehoidla etcd, mida kasutatakse Kuberneteses, sealhulgas koormuse tasandaja konfiguratsiooni salvestamiseks. Me salvestame andmed etcd-sse ja v\u00e4ike t\u00f6\u00f6riist confd j\u00e4lgib etcd-d uute andmete ilmumise osas. <\/p>\n<p>Kui ta tuvastab algse konfiguratsiooni muudatused, genereerib ta uue seadistust faili ja edastab selle ha-proxyle. Sel juhul taask\u00e4ivitub ha-proxy, kaotamata mingeid \u00fchendusi, ja suunab koormuse uutele teenustele, mis tagavad meie uute rakenduste versioonide 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, vaatamata komponentide arvule, midagi keerulist. Te peate lihtsalt rohkem t\u00e4helepanu p\u00f6\u00f6rama API-le ja etcd-le. Ma tahan r\u00e4\u00e4kida teile avatud koodiga juutisest, mida me ise kasutame \u2013 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 juurutamine;<\/li>\n<li>v\u00e4list koormuse tasandaja seadistamine;<\/li>\n<li>juurutuste descriptorite haldamine;<\/li>\n<li>tegeliku juurutuse haldamine;<\/li>\n<li>tervenemisv\u00f5ime tervisekontrollid juurutamise ajal;<\/li>\n<li>keskkonnamuutujate sisestamine podidesse.<\/li>\n<\/ul>\n<p>\nSee Deployer on loodud Kubernetes API tipul ja esindab REST API-d descriptorite ja juurutuste haldamiseks ning Websocket API-d juurutamise ajal logide voogedastamiseks.<\/p>\n<p>Ta paneb koormuse tasandaja konfiguratsiooni andmed etcd-sse, seega ei pea te kasutama ha-proxy't 'karbist v\u00e4lja', vaid saate h\u00f5lpsasti kasutada oma koormuse tasandaja konfiguratsiooni faili. Amdatu Deployer on kirjutatud Go keeles, nagu ka Kubernetes ise, ja on litsentseeritud Apache.<\/p>\n<p>Enne selle versiooni kasutusele v\u00f5tmist kasutasin j\u00e4rgmist juurutuse deskriptorit, mis sisaldab mulle vajalikke parameetreid. <\/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 aktiveerimine. Me peame n\u00e4itama, et juurutamise k\u00e4igus tuleb teostada t\u00f6\u00f6kontrolli kontroll. See parameeter v\u00f5ib olla v\u00e4lja l\u00fclitatud, kui juurutuses kasutatakse kolmandate osapoolte konteinerid, mida ei pea kontrollima. Selles deskriptoris on ka m\u00e4\u00e4ratud replikate arv ja ha-proxy jaoks vajalik esiplaanide URL. L\u00f5pus on m\u00e4\u00e4ratud podi spefikatsiooni lipp \u201epodspec\u201c, mis p\u00f6\u00f6rdub Kubernetes'i poole portsade, pildi jne seadistamise teabe saamiseks. See on suhteliselt lihtne deskriptor JSON formaadis. <\/p>\n<p>Veel \u00fcks t\u00f6\u00f6riist, mis on osa avatud l\u00e4htekoodiga projektist Amdatu, on Deploymentctl. Sellel on kasutajaliides juurutamise seadistamiseks, see s\u00e4ilitab 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\u00f5ib oluliselt lihtsustada juurutamist ilma \u00fchegi API kaasamiseta. Deploymentctl on kirjutatud OSGi\/Vertx koos Angular 2 kasutamisega. <\/p>\n<p>N\u00fc\u00fcd demonstreerin eelnevat ekraanil, kasutades ettevalmistatud salvestust, nii et te ei pea ootama. Juurutame lihtsa rakenduse Go-s. \u00c4rge muretsege, kui te pole Go-s varem kokku puutunud, 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\u00f6kontrolli, mitte midagi enamat. Kui kontroll l\u00e4bib, aktiveeritakse allpool esitatud JSON-struktuur. See sisaldab rakenduse versiooni, mis juurutatakse deploieriga, s\u00f5numit, mida n\u00e4ete faili \u00fclaosas, ja boolean-t\u00fc\u00fcpi, mis n\u00e4itab, kas meie rakendus on t\u00f6\u00f6korras v\u00f5i mitte.<\/p>\n<p>Viimase rea osas olin ma natuke petlik, sest panin faili \u00fclaossa fikseeritud boolean v\u00e4\u00e4rtuse, mis aitab mul hiljem juurutada isegi \"haige\" rakenduse. Hiljem k\u00e4sitleme seda. <\/p>\n<p>Nii, alustame. Esiteks kontrollime, kas m\u00f5ni pod on juba k\u00e4imas k\u00e4su abil ~ kubectl get pods ja kui frontendi URL-i vastust ei tule, siis veendume, et praegu ei toimu mingit juurutamist. <\/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\u2019i liidest, kus m\u00e4\u00e4ratakse juurutamise parameetrid: nimekiri, rakenduse nimi, juurutamise versioon, replikate arv, frontendi URL, konteineri nimi, pilt, ressursipiirangud, kontrollimise pordi number jne. Ressursipiirangud on \u00e4\u00e4rmiselt olulised, kuna need v\u00f5imaldavad kasutada maksimaalset v\u00f5imalikku riistvara. Siin saate ka vaadata juurutamise ajalugu Deployment log.<\/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 praegu j\u00e4rgida k\u00e4sku ~ kubectl get pods, siis on n\u00e4ha, et s\u00fcsteem \"seisab paigal\" 20 sekundit, mille jooksul toimub ha-proxy rekodeerimine. P\u00e4rast seda k\u00e4ivitatakse pod ja meie replikat on v\u00f5imalik n\u00e4ha juurutamise logis. <\/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\u00f5iganud 20-sekundilise ooteaja 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 \"Hello, Kubernetes!\" asemel \"Hello, Deployer!\", s\u00fcsteem loob selle pildi ja \u00fcles laeb selle Docker registerisse, seej\u00e4rel vajutame lihtsalt veel kord Deploymentctl\u2019i aknas nupule \"Deploy\". Sellega k\u00e4ivitatakse automaatselt juurutamise log, just nagu see toimus esimese rakenduse versiooni juurutamisel. <\/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\u00e4sku ~ kubectl get pods n\u00e4itab, et praegu on k\u00e4imas 2 versiooni rakendusest, kuid frontendi poolt n\u00e4idatakse, et meil on endiselt t\u00f6\u00f6tamas 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 \/>\nKoormuse tasakaalustaja ootab, kuni toimub tervisekontroll, p\u00e4rast mida suunatakse liiklus uuele versioonile. 20 sekundi p\u00e4rast l\u00fclitume curlile ja n\u00e4eme, et n\u00fc\u00fcd on juurutatud 2. versioon rakendusest, samas 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 \"tervise\" - healthy - rakenduse juurutamine. Vaadakem, mis juhtub, kui muudan uue versiooni rakenduse terviseparameetri v\u00e4\u00e4rtuse true'lt false'le, st \u00fcritan juurutada mitteterved rakendust, mis ei l\u00e4binud t\u00f6\u00f6kindluse kontrolli. See v\u00f5ib juhtuda, kui arenduse etapis on rakenduses tehtud mingisuguseid konfiguratsioonivigu ja see saadeti sellisel kujul tootmisse. <\/p>\n<p>Nagu n\u00e4ete, l\u00e4bib juurutamine k\u00f5ik \u00fclalkirjeldatud etapid ja ~ kubectl get pods n\u00e4itab, et m\u00f5lemad podid on k\u00e4ivitatud. Kuid erinevalt eelmisest juurutamisest n\u00e4itab logi olek timeout. See t\u00e4hendab, et kuna health check\u2018i kontroll eba\u00f5nnestus, ei saa uut rakenduse versiooni juurutada. Tulemuseks on see, et s\u00fcsteem naaseb vana rakenduse versiooni kasutamisele ning uus versioon eemaldatakse 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 teil on suur hulk samaaegseid p\u00e4ringuid, mis rakendusse j\u00f5uavad, ei m\u00e4rka nad juurutamisprotseduuri ajal katkestusi. Kui testida seda rakendust Gatlingi raamistiku abil, mis edastab sellele maksimaalselt v\u00f5imalikke p\u00e4ringuid, siis ei j\u00e4eta \u00fchtegi neist p\u00e4ringutest k\u00f5rvale. See t\u00e4hendab, et meie kasutajad ei m\u00e4rka isegi versioonide uuendust reaalajas. Kui see eba\u00f5nnestub, j\u00e4tkab t\u00f6\u00f6 vana versiooni kasutamist, kui see \u00f5nnestub \u2013 kasutajad liiguvad uuele versioonile. <\/p>\n<p>On ainult \u00fcks asi, mis v\u00f5ib eba\u00f5nnestuda \u2013 kui health check l\u00e4bis eduka kontrolli, aga rakendus eba\u00f5nnestus kohe, kui sellele koormus tuli, st kokkuvarisemine toimub alles p\u00e4rast juurutamise l\u00f5ppemist. Sellisel juhul peate k\u00e4sitsi naasma vana versiooni juurde. Nii et oleme vaadanud, kuidas kasutada Kubernetes't sellele m\u00f5eldud avatud l\u00e4htekoodiga t\u00f6\u00f6riistadega. Juurutamisprotseduur l\u00e4heb palju sujuvamalt, kui integreerite need t\u00f6\u00f6riistad Build\/Deploy torustikesse. Samuti saate juurutamise k\u00e4ivitamiseks kasutada nii kasutajaliidest kui ka t\u00e4ielikult automatiseerida selle protsessi, 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 mis tahes muu kasutatava registri sisse. Docker Hub toetab webhooke, seega saame k\u00e4ivitada kaugjuurutamise vaikimisi eespool n\u00e4idatud viisil. Nii saab rakenduse juurutamise t\u00e4ielikult automatiseerida potentsiaalsesse tootmisse. <\/p>\n<p>Liigume j\u00e4rgmise teema \u2013 Kubernetes klastrite skaleerimise \u2013 juurde. Tahan m\u00e4rkida, et kubectl k\u00e4sk on skaleerimise k\u00e4sk. Selle abil on lihtne suurendada meie klastris olevate replikate arvu. Siiski soovime praktikas tavaliselt suurendada mitte podide, vaid node'ide 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 teil vaja minna skaleerimist ja \u00f6\u00f6siti, et v\u00e4hendada Amazon'i teenuste kulusid, tuleks rakenduse k\u00e4ivitatud n\u00e4idiste arvu v\u00e4hendada. See ei t\u00e4henda, et piisab ainult podide skaleerimisest, sest isegi kui \u00fcks node on t\u00fchi, peate ikkagi selle eest Amazon'ile maksma. Seega tuleb lisaks podide skaleerimisele ka masinate arvu suurendada. <\/p>\n<p>See v\u00f5ib tekitada raskusi, kuna hoolimata sellest, kas kasutame Amazon'i v\u00f5i m\u00f5nda teist pilveteenust, ei tea Kubernetes midagi kasutatavate masinate arvust. Sellest puudub t\u00f6\u00f6riist s\u00fcsteemi skaleerimiseks node'ite 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 node'ite kui ka podide eest. Me saame h\u00f5lpsasti k\u00e4ivitada uusi node'e AWS API ja skaleerimisgrupi masinate abil, et seadistada Kubernetes'e t\u00f6\u00f6tavate s\u00f5lmede arvu. Samuti on v\u00f5imalik kasutada cloud-init v\u00f5i sarnast skripti node'ite registreerimiseks Kubernetes klastris. <\/p>\n<p>Uus masin k\u00e4ivitub Scaling group'is, registreerib end s\u00f5lmena, kirjutatakse meistri registrisse ja alustab t\u00f6\u00f6d. P\u00e4rast seda saab suurendada koopiaid, et kasutada loodud s\u00f5lmedes. Skaalamise v\u00e4hendamine n\u00f5uab suuremaid j\u00f5upingutusi, kuna tuleb veenduda, et selline samm ei tooks kaasa juba aktiivsete rakenduste h\u00e4vitamist p\u00e4rast \"mittevajalike\" masinate v\u00e4ljal\u00fclitamist. Sellise stsenaariumi v\u00e4ltimiseks tuleb viia s\u00f5lmed \u201eunschedulable\u201d staatuse. See t\u00e4hendab, et vaikeplaneerija ignoreerib neid s\u00f5lmi, kui ta planeerib DaemonSet-i pude. Planeerija ei eemalda sealt midagi, kuid ei alusta seal uusi mahuteid. J\u00e4rgmine samm on s\u00f5lme t\u00fchjendamine, see t\u00e4hendab t\u00f6\u00f6pudede \u00fclekandmine teisele masinale v\u00f5i teistele s\u00f5lmedele, millel on selleks piisavalt mahutavust. Kui veenduda, et nendel s\u00f5lmedel pole enam mahuteid, saab need Kubernetesest eemaldada. P\u00e4rast seda l\u00f5petavad nad Kuberneteses lihtsalt olemise. Edasi tuleb kasutada AWS API-d tarbetute s\u00f5lmede, v\u00f5i masinate, v\u00e4ljal\u00fclitamiseks. <br \/>\nSaate kasutada Amdatu Scalerd'i \u2014 veel \u00fchte open-source t\u00f6\u00f6riista, mis sarnaneb AWS API-le. See pakub CLI-d s\u00f5lmede lisamiseks v\u00f5i eemaldamiseks klastrist. Selle huvitav omadus on v\u00f5imalus seadistada planeerijat j\u00e4rgmise json-faili 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\/f70c7c722cacb4792c316e9f80a7500a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKood, mida on kujutatud, v\u00e4hendab klastrite mahutavust \u00f6\u00f6sel poole v\u00f5rra. See on seadistatud nii olemasolevate koopiaide arvu kui ka soovitud Amazon'i klastrite mahutavuse jaoks. Selle planeerija kasutamine v\u00e4hendab automaatselt s\u00f5lmede arvu \u00f6\u00f6sel ja suurendab neid hommikul, v\u00f5imaldades s\u00e4\u00e4sta kulusid selliste pilveteenuste, nagu Amazon, s\u00f5lmede kasutamisel. See funktsioon ei ole Kubernetesesse sisse ehitatud, kuid Scalerd'i kasutamine v\u00f5imaldab teil seda platvormi igal viisil skaleerida. <\/p>\n<p>Tahan juhtida teie t\u00e4helepanu sellele, et paljud inimesed \u00fctlevad mulle: \u201eSee k\u00f5ik on tore, aga mis toimub minu andmebaasiga, mis tavaliselt on staatilises olekus?\u201d Kuidas saaks midagi sellist k\u00e4ivitada nii d\u00fcnaamilises keskkonnas nagu Kubernetes? Minu arvates ei tohiks te seda teha, te ei peaks proovima korraldada andmehoidla t\u00f6\u00f6d Kuberneteses. Tehniliselt on see v\u00f5imalik ja internetis on selle kohta juhiseid, kuid see keerab teie elu t\u00f5siselt keeruliseks. <\/p>\n<p>Jah, Kuberneteses eksisteerib p\u00fcsihoiustamise m\u00f5isted ja v\u00f5ite proovida k\u00e4itada selliseid andmehoidlaid nagu Mongo v\u00f5i MySQL, kuid see on \u00fcsna t\u00f6\u00f6mahukas \u00fclesanne. See on seotud sellega, et andmehoidlad ei toeta t\u00e4ielikult koost\u00f6\u00f6d d\u00fcnaamilise keskkonnaga. Enamik andmebaase vajab olulist seadistamist, sealhulgas klastrite k\u00e4sitsi seadistamist, nad ei meeldi automaatse skaleerimisele ja muudele sarnastele asjadele. <br \/>\nSeet\u00f5ttu pole m\u00f5tet endale elu keeruliseks teha, proovides k\u00e4itada andmehoidlat Kuberneteses. Korraldage nende t\u00f6\u00f6 traditsioonilise meetodi abil, kasutades tuttavaid teenuseid, 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 soovin tutvustada teile Cloud RTI platvormi Kubernetesel, mille kallal t\u00f6\u00f6tab minu meeskond. See pakub tsentraliseeritud logimist, rakenduste ja klastrite j\u00e4lgimist ning omab palju muid kasulikke funktsioone, mis teile kasuks tulevad. Platvorm kasutab erinevaid avatud l\u00e4htekoodiga t\u00f6\u00f6riistu, nagu Grafana, j\u00e4lgimise 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, miks kasutada Kubernetesega koos koormuse tasandajat ha-proxy. Hea k\u00fcsimus, sest praegu on olemas kaks taset koormuse tasandamisel. Kubernetes teenused on endiselt virtuaalsetel IP-aadressidel. Te ei saa neid kasutada v\u00e4liste hostmasinate portide jaoks, kuna kui Amazon oma pilveteenuseid \u00fcle koormab, muutub aadress. Seet\u00f5ttu paigutame ha-proxy teenuste ette \u2014 et luua stabiilsem struktuur sujuvaks liiklustihedust Kubernetesega. <\/p>\n<p>Veel hea k\u00fcsimus \u2013 kuidas saab andmebaasi skeemi muutmisega tegeleda blue\/green deployment'i ajal? Asi on selles, et olenemata Kubernetesest on andmebaasi skeemi muutmine keeruline \u00fclesanne. Peate tagama vana ja uue skeemi \u00fchilduvuse, seej\u00e4rel saate andmebaasi uuendada ja seej\u00e4rel rakendused uuendada. Saate teha andmebaasi \"kuuma vahetuse\" (hot swapping) ja seej\u00e4rel rakendused uuendada. Mul on tuttavaid, kes on laadinud t\u00e4iesti uue andmebaasi klastrisse koos uue skeemiga; see on valik, kui teil on schemeless andmebaas nagu Mongo, kuid igal juhul pole see lihtne \u00fclesanne. Kui rohkem k\u00fcsimusi pole, 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=\"M\u00e4ngi 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 huvitavat sisu? Toetage meid, tellides teenuse 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 entry-level 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 jagada serverit \u00f5igesti?<\/a><\/noindex> (saadaval RAID1 ja RAID10 variandid, kuni 24 tuuma ja kuni 40GB DDR4).<\/p>\n<p><b>Dell R730xd on Equinixi Tier IV andmekeskuses Amsterdamis kaks korda odavam?<\/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> Hollandis! <b>Dell R420 \u2014 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB \u2014 alates $99!<\/b><\/b> Lugege sellest <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/329618\/\">Kuidas luua ettev\u00f5tte tasemel infrastruktuuri, kasutades Dell R730xd E5-2650 v4 servereid, mille hind on 9000 eurot, taskukohase hinna eest?<\/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 5.0.1.1 - 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.\" \/>\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) 5.0.1.1\" \/>\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.\" \/>\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 deployment, automaatne skaleerimine ja juurutamise automatiseerimine. Osa 2 | ProHoster","description":"Kubernetes on suurep\u00e4rane t\u00f6\u00f6riist Docker konteinerite k\u00e4itamiseks klastrisse viidud tootmisringis. Siiski on \u00fclesandeid, millega Kubernetes toime tulla ei suuda.","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.","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","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"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}]}}