DEVOXX UK. Kubernetes pakupanga: Blue/Green deployment, autoscaling and deployment automation. Gawo 2

Kubernetes ndi chida chabwino kwambiri chogwiritsira ntchito zotengera za Docker m'malo opangira zinthu zambiri. Komabe, pali mavuto omwe Kubernetes sangathe kuwathetsa. Kuti titumiziredwe pafupipafupi, timafunikira makina amtundu wa Blue/Green kuti tipewe kutsika, komwe kumafunikanso kuthana ndi zopempha zakunja za HTTP ndikutsitsa SSL. Izi zimafuna kuphatikizidwa ndi chojambulira katundu monga ha-proxy. Vuto lina ndikukulitsa gulu la Kubernetes lokhalokha likamathamanga mumtambo, mwachitsanzo kukweza gululo usiku.

Ngakhale Kubernetes alibe izi m'bokosi, imapereka API yomwe mungagwiritse ntchito kuthetsa mavuto omwewo. Zida zopangira makina a Blue/Green ndikukulitsa gulu la Kubernetes zidapangidwa ngati gawo la projekiti ya Cloud RTI, yomwe idapangidwa kutengera gwero lotseguka.

Nkhaniyi, kanema wa kanema, ikuwonetsani momwe mungakhazikitsire Kubernetes pamodzi ndi zida zina zotseguka kuti mupange malo okonzeka kupanga omwe amavomereza ma code kuchokera ku git kuchita popanda kutsika popanga.

DEVOXX UK. Kubernetes pakupanga: Blue/Green deployment, autoscaling and deployment automation. Gawo 2

DEVOXX UK. Kubernetes pakupanga: Blue/Green deployment, autoscaling and deployment automation. Gawo 1

Chifukwa chake, mukakhala ndi mwayi wogwiritsa ntchito mapulogalamu anu kuchokera kunja, mutha kuyamba kukhazikitsa zodziwikiratu, ndiye kuti, zifikitseni pomwe mutha kuchita git commit ndikuwonetsetsa kuti git commit iyi ikutha kupanga. Mwachilengedwe, pokhazikitsa njirazi, pokhazikitsa kutumizidwa, sitikufuna kukumana ndi nthawi yopumira. Chifukwa chake, makina aliwonse ku Kubernetes amayamba ndi API.

DEVOXX UK. Kubernetes pakupanga: Blue/Green deployment, autoscaling and deployment automation. Gawo 2

Kubernetes si chida chomwe chitha kugwiritsidwa ntchito bwino kunja kwa bokosi. Zachidziwikire, mutha kuchita izi, gwiritsani ntchito kubectl ndi zina zotero, komabe API ndiye chinthu chosangalatsa komanso chothandiza pa nsanja iyi. Pogwiritsa ntchito API ngati ntchito, mutha kupeza pafupifupi chilichonse chomwe mukufuna kuchita ku Kubernetes. kubectl imagwiritsanso ntchito REST API.

Iyi ndi REST, kotero mutha kugwiritsa ntchito chilankhulo chilichonse kapena chida chilichonse kuti mugwiritse ntchito ndi API iyi, koma moyo wanu udzakhala wosavuta ndi malaibulale omwe mumakonda. Gulu langa linalemba 2 malaibulale otere: imodzi ya Java/OSGi ndi ina ya Go. Chachiwiri sichimagwiritsidwa ntchito kawirikawiri, koma mulimonse muli ndi zinthu zothandizazi zomwe muli nazo. Ndi pulojekiti yomwe ili ndi chilolezo chotseguka. Pali malaibulale ambiri otere a zilankhulo zosiyanasiyana, kotero mutha kusankha omwe akukuyenererani bwino.

DEVOXX UK. Kubernetes pakupanga: Blue/Green deployment, autoscaling and deployment automation. Gawo 2

Chifukwa chake, musanayambe kuyika ntchito yanu, muyenera kuwonetsetsa kuti njirayi sikhala ndi nthawi yopumira. Mwachitsanzo, gulu lathu limapanga ntchito zopanga masana masana pamene anthu akugwiritsa ntchito kwambiri mapulogalamuwa, motero ndikofunikira kupewa kuchedwa. Pofuna kupewa kutsika, njira ziwiri zimagwiritsidwa ntchito: kuyika kwa buluu / zobiriwira kapena kusinthika. Pomaliza, ngati muli ndi zofananira 2 za pulogalamu yomwe ikugwira ntchito, imasinthidwa motsatizana. Njirayi imagwira ntchito bwino, koma sizoyenera ngati muli ndi mitundu yosiyanasiyana ya mapulogalamu omwe akuyenda nthawi imodzi panthawi yotumiza. Pankhaniyi, mutha kusintha mawonekedwe ogwiritsa ntchito pomwe backend ikuyendetsa mtundu wakale, ndipo pulogalamuyo imasiya kugwira ntchito. Chifukwa chake, kuchokera pamawonedwe amapulogalamu, kugwira ntchito m'mikhalidwe yotere kumakhala kovuta.

Ichi ndi chimodzi mwazifukwa zomwe timakonda kugwiritsa ntchito buluu/green deployment kuti tigwiritse ntchito makina athu. Ndi njirayi, muyenera kuwonetsetsa kuti pulogalamu imodzi yokha ndiyomwe ikugwira ntchito nthawi imodzi.

Njira yotumizira buluu/yobiriwira imawoneka chonchi. Timalandila kuchuluka kwa magalimoto pamapulogalamu athu kudzera pa ha-proxy, yomwe imatumiza kumayendedwe amtundu womwewo.

Pamene kutumizidwa kwatsopano kupangidwa, timagwiritsa ntchito Deployer, yomwe imapatsidwa zigawo zatsopano ndikugwiritsanso ntchito zatsopano. Kutumiza mtundu watsopano wa pulogalamu kumatanthauza kuti seti yatsopano yofananira "yakwezedwa", pambuyo pake zofananira zamtunduwu zimayambitsidwa mu pod yatsopano. Komabe, ha-proxy sadziwa kalikonse za iwo ndipo samawatumizira ntchito iliyonse.

Chifukwa chake, choyambirira, ndikofunikira kuyang'ana magwiridwe antchito amitundu yatsopano yowunika zaumoyo kuti muwonetsetse kuti zofananirazo zakonzeka kunyamula katunduyo.

DEVOXX UK. Kubernetes pakupanga: Blue/Green deployment, autoscaling and deployment automation. Gawo 2

Zigawo zonse zotumizira ziyenera kuthandizira mtundu wina wowunika thanzi. Izi zitha kukhala cheke chosavuta kwambiri cha HTTP, mukalandira kachidindo yokhala ndi 200, kapena cheke chozama, momwe mumayang'ana kulumikizana kwa zofananira ndi database ndi mautumiki ena, kukhazikika kwa kulumikizana kwachilengedwe. , komanso ngati zonse zimayamba ndikugwira ntchito moyenera. Izi zitha kukhala zovuta kwambiri.

DEVOXX UK. Kubernetes pakupanga: Blue/Green deployment, autoscaling and deployment automation. Gawo 2

Dongosolo likatsimikizira kuti zolemba zonse zosinthidwa zikugwira ntchito, Deployer adzasintha masinthidwe ndikupereka confd yolondola, yomwe idzakonzanso ha-proxy.

DEVOXX UK. Kubernetes pakupanga: Blue/Green deployment, autoscaling and deployment automation. Gawo 2

Pokhapokha izi zitatha kutumizidwa ku pod ndi zofananira za mtundu watsopano, ndipo pod yakaleyo idzazimiririka.

DEVOXX UK. Kubernetes pakupanga: Blue/Green deployment, autoscaling and deployment automation. Gawo 2

Makinawa si mawonekedwe a Kubernetes. Lingaliro la kutumizidwa kwa Blue/green lakhalapo kwa nthawi yayitali ndipo lakhala likugwiritsa ntchito cholemetsa cholemetsa. Choyamba, mumawongolera magalimoto onse kumtundu wakale wa pulogalamuyo, ndipo mutasintha, mumasamutsira ku mtundu watsopano. Mfundoyi imagwiritsidwa ntchito osati ku Kubernetes kokha.

Tsopano ndikudziwitsani za gawo latsopano lotumizira - Deployer, lomwe limayang'anira thanzi, kukonzanso ma proxies, ndi zina zotero. Ili ndi lingaliro lomwe silikugwira ntchito kudziko lakunja ndipo liripo mkati mwa Kubernetes. Ndikuwonetsani momwe mungapangire lingaliro lanu la Deployer pogwiritsa ntchito zida zotseguka.

Chifukwa chake, chinthu choyamba chomwe Deployer amachita ndikupanga RC replication controller pogwiritsa ntchito Kubernetes API. API iyi imapanga ma pod ndi ntchito kuti zitumizidwenso, ndiye kuti, imapanga gulu latsopano la mapulogalamu athu. RC ikangotsimikiza kuti zofananira zayamba, ipanga cheke chaumoyo pakugwira ntchito kwawo. Kuti muchite izi, Deployer amagwiritsa ntchito lamulo la GET / health. Imayendetsa magawo ojambulira oyenera ndikuwunika zinthu zonse zomwe zimathandizira kugwira ntchito kwa gululo.

DEVOXX UK. Kubernetes pakupanga: Blue/Green deployment, autoscaling and deployment automation. Gawo 2

Ma pod onse atanena za thanzi lawo, Deployer amapanga chinthu chatsopano chosinthira - etcd yosungirako, yomwe imagwiritsidwa ntchito mkati ndi Kubernetes, kuphatikizapo kusunga kasinthidwe ka katundu. Timalembera deta ku etcd, ndi chida chaching'ono chotchedwa confd monitors etcd pa data yatsopano.

Ngati iwona kusintha kulikonse pakusintha koyambirira, imapanga fayilo yatsopano yosinthira ndikuitumiza ku ha-proxy. Pamenepa, ha-proxy iyambiranso osataya maulumikizidwe aliwonse ndikuyankhira katundu kuzinthu zatsopano zomwe zimathandizira mtundu watsopano wa mapulogalamu athu kugwira ntchito.

DEVOXX UK. Kubernetes pakupanga: Blue/Green deployment, autoscaling and deployment automation. Gawo 2

Monga mukuonera, ngakhale kuchuluka kwa zigawo zikuluzikulu, palibe chovuta apa. Mukungoyenera kumvetsera kwambiri API ndi etcd. Ndikufuna ndikuuzeni za wotsegulira gwero lomwe timagwiritsa ntchito - Amdatu Kubernetes Deployer.

DEVOXX UK. Kubernetes pakupanga: Blue/Green deployment, autoscaling and deployment automation. Gawo 2

Ndi chida chopangira Kubernetes deployments ndipo ili ndi izi:

  • Kutumizidwa kwa Blue / Green;
  • kukhazikitsa chojambulira katundu wakunja;
  • kasamalidwe ka deployment descriptor;
  • kuyang'anira ntchito yeniyeni;
  • kuyang'ana magwiridwe antchito a macheke azaumoyo panthawi yotumizidwa;
  • kukhazikitsa zosintha zachilengedwe kukhala ma pod.

Deployer iyi imamangidwa pamwamba pa Kubernetes API ndipo imapereka REST API yoyang'anira zogwirira ntchito ndi kutumizidwa, komanso Websocket API yosindikiza zipika panthawi yotumiza.

Imayika zidziwitso za kasinthidwe ka katundu mu etcd, kuti musagwiritse ntchito ha-proxy ndi chithandizo chakunja kwa bokosi, koma gwiritsani ntchito fayilo yanu yosinthira katundu wanu mosavuta. Amdatu Deployer amalembedwa mu Go, monga Kubernetes mwiniwake, ndipo ali ndi chilolezo ndi Apache.

Ndisanayambe kugwiritsa ntchito mtundu uwu wa deployer, ndinagwiritsa ntchito ndondomeko yotsatirayi, yomwe imatchula magawo omwe ndikufunikira.

DEVOXX UK. Kubernetes pakupanga: Blue/Green deployment, autoscaling and deployment automation. Gawo 2

Chimodzi mwazinthu zofunika za code iyi ndikutsegula mbendera ya "useHealthCheck". Tiyenera kuzindikira kuti cheke chaukhondo chiyenera kuchitidwa panthawi yotumiza. Zochunirazi zitha kuzimitsidwa pamene kutumiza kukugwiritsa ntchito zotengera za gulu lachitatu zomwe sizikufunika kutsimikiziridwa. Chofotokozerachi chikuwonetsanso kuchuluka kwa zofananira ndi URL yakutsogolo yomwe ha-proxy ikufunika. Pamapeto pake pali mbendera ya pod "podspec", yomwe imayitana Kubernetes kuti mudziwe zambiri za kasinthidwe ka doko, chithunzi, ndi zina. Ichi ndi chofotokozera chosavuta cha JSON.

Chida china chomwe chili gawo la projekiti ya Amdatu yotseguka ndi Deploymentctl. Ili ndi UI yokonzekera kutumizidwa, mbiri yakale yosungidwa m'masitolo, ndipo ili ndi ma webhooks a ma callbacks kuchokera kwa ogwiritsa ntchito ena ndi omanga. Simungagwiritse ntchito UI popeza Amdatu Deployer palokha ndi REST API, koma mawonekedwewa atha kukupangitsani kutumiza mosavuta popanda kuphatikiza API iliyonse. Deploymentctl imalembedwa mu OSGi/Vertx pogwiritsa ntchito Angular 2.

Ine tsopano kusonyeza pamwamba pa zenera ntchito chisanadze chojambulira kotero mulibe kudikira. Tikutumiza pulogalamu yosavuta ya Go. Osadandaula ngati simunayesepo Go m'mbuyomu, ndi ntchito yosavuta kotero muyenera kudziwa.

DEVOXX UK. Kubernetes pakupanga: Blue/Green deployment, autoscaling and deployment automation. Gawo 2

Apa tikupanga seva ya HTTP yomwe imangoyankha / thanzi, kotero pulogalamuyi imangoyesa cheke chaumoyo osati china chilichonse. Ngati cheke chidutsa, mawonekedwe a JSON omwe ali pansipa amagwiritsidwa ntchito. Ili ndi mtundu wa pulogalamu yomwe idzatumizidwa ndi wotumiza, uthenga womwe mumawuwona pamwamba pa fayilo, ndi mtundu wa data wa boolean - kaya pulogalamu yathu ikugwira ntchito kapena ayi.

Ndinanyenga pang'ono ndi mzere wotsiriza, chifukwa ndinayika mtengo wokhazikika wa boolean pamwamba pa fayilo, yomwe m'tsogolomu idzandithandizira kuyika ngakhale ntchito "yopanda thanzi". Izi tithana nazo pambuyo pake.

Choncho tiyeni tiyambe. Choyamba, timayang'ana kupezeka kwa ma pod aliwonse omwe akuyenda pogwiritsa ntchito lamulo ~ kubectl pezani ma pods ndipo, kutengera kusakhalapo kwa yankho kuchokera ku ulalo wakutsogolo, tikuwonetsetsa kuti palibe kutumizidwa komwe kukuchitika.

DEVOXX UK. Kubernetes pakupanga: Blue/Green deployment, autoscaling and deployment automation. Gawo 2

Chotsatira pazenera mukuwona mawonekedwe a Deploymentctl omwe ndidatchulapo, momwe magawo otumizira amayikidwa: malo ogwiritsira ntchito, dzina lachidziwitso, mtundu wotumizira, kuchuluka kwa zofananira, ulalo wakutsogolo, dzina lachidebe, chithunzi, malire azinthu, nambala ya doko yoyang'anira thanzi, ndi zina. Malire azinthu ndizofunikira kwambiri, chifukwa amakulolani kugwiritsa ntchito kuchuluka kwa hardware. Apa mutha kuwonanso chipika cha Deployment.

DEVOXX UK. Kubernetes pakupanga: Blue/Green deployment, autoscaling and deployment automation. Gawo 2

Mukabwereza lamuloli ~ kubectl pezani ma pod, mutha kuwona kuti makinawo "amaundana" kwa masekondi 20, pomwe ha-proxy imasinthidwanso. Pambuyo pake, poto imayamba, ndipo choyimira chathu chikhoza kuwoneka mu chipika chotumizira.

DEVOXX UK. Kubernetes pakupanga: Blue/Green deployment, autoscaling and deployment automation. Gawo 2

Ndidadula kudikirira kwachiwiri kwa 20 kuchokera pavidiyoyo, ndipo tsopano mutha kuwona pazenera kuti mtundu woyamba wa pulogalamuyi watumizidwa. Zonsezi zidachitika pogwiritsa ntchito UI yokha.

DEVOXX UK. Kubernetes pakupanga: Blue/Green deployment, autoscaling and deployment automation. Gawo 2

Tsopano tiyeni tiyese Baibulo lachiwiri. Kuti ndichite izi, ndikusintha uthenga wa pulogalamuyo kuchokera ku "Moni, Kubernetes!" pa "Hello, Deployer!", Dongosolo limapanga chithunzichi ndikuchiyika mu registry ya Docker, pambuyo pake timangodinanso batani la "Deploy" pawindo la Deploymentctl. Pachifukwa ichi, chipika chotumizira chimangoyambika chimodzimodzi monga momwe zidachitikira potumiza mtundu woyamba wa pulogalamuyo.

DEVOXX UK. Kubernetes pakupanga: Blue/Green deployment, autoscaling and deployment automation. Gawo 2

Lamulo la ~ kubectl get pods likuwonetsa kuti pali mitundu iwiri ya pulogalamu yomwe ikuyenda, koma kutsogolo kukuwonetsa kuti tikugwiritsabe ntchito 2.

DEVOXX UK. Kubernetes pakupanga: Blue/Green deployment, autoscaling and deployment automation. Gawo 2

Wolinganiza katundu amadikirira kuti cheki yaumoyo ithe isanatumize magalimoto ku mtundu watsopano. Pambuyo pa masekondi 20, timasintha kuti tizipiringa ndikuwona kuti tsopano tili ndi mtundu 2 wa pulogalamu yomwe yatumizidwa, ndipo yoyamba yachotsedwa.

DEVOXX UK. Kubernetes pakupanga: Blue/Green deployment, autoscaling and deployment automation. Gawo 2

Uku kunali kutumizidwa kwa ntchito "yathanzi". Tiyeni tiwone zomwe zingachitike ngati pa mtundu watsopano wa pulogalamuyo ndisintha mawonekedwe a Healthy kuchokera kuzoona kupita ku zabodza, ndiye kuti, ndikuyesera kuyika pulogalamu yopanda thanzi yomwe yalephera cheke. Izi zitha kuchitika ngati zolakwika zina zamasinthidwe zidapangidwa mukugwiritsa ntchito pagawo lachitukuko, ndipo zidatumizidwa kuti zipangidwe mwanjira iyi.

Monga mukuwonera, kutumizidwa kumadutsa masitepe onse pamwambapa ndipo ~kubectl kupeza ma pod akuwonetsa kuti ma pod onse akuyenda. Koma mosiyana ndi kutumizidwa koyambirira, chipikacho chikuwonetsa nthawi yomaliza. Izi ndizo, chifukwa chakuti cheke chaumoyo chalephera, mtundu watsopano wa pulogalamuyo sungathe kutumizidwa. Zotsatira zake, mukuwona kuti dongosololi labwerera kukugwiritsa ntchito mtundu wakale wa pulogalamuyo, ndipo mtundu watsopano wangotulutsidwa.

DEVOXX UK. Kubernetes pakupanga: Blue/Green deployment, autoscaling and deployment automation. Gawo 2

Ubwino wa izi ndikuti ngakhale mutakhala ndi zopempha zambiri zomwe zikubwera panthawi imodzi, sangazindikire nthawi yopumira pomwe mukugwiritsa ntchito njira yotumizira. Mukayesa pulogalamuyi pogwiritsa ntchito Gatling framework, yomwe imatumiza zopempha zambiri momwe mungathere, ndiye kuti palibe zopemphazi zomwe zidzasiyidwe. Izi zikutanthauza kuti ogwiritsa ntchito sangazindikire zosintha munthawi yeniyeni. Ngati sichikanika, ntchito idzapitirira pa mtundu wakale; ngati itapambana, ogwiritsa ntchito amasinthira ku mtundu watsopano.

Pali chinthu chimodzi chokha chomwe chingalephereke - ngati cheke chaumoyo chikupambana, koma ntchitoyo ikulephera mwamsanga pamene ntchitoyo ikugwiritsidwa ntchito, ndiko kuti, kugwa kudzachitika pokhapokha ntchitoyo itatha. Pankhaniyi, muyenera kubwereranso pamanja ku mtundu wakale. Chifukwa chake, tidayang'ana momwe tingagwiritsire ntchito Kubernetes ndi zida zotseguka zomwe zidapangidwira. Njira yotumizira idzakhala yosavuta ngati mupanga zida izi mu mapaipi anu a Build/Deploy. Nthawi yomweyo, kuti muyambe kutumiza, mutha kugwiritsa ntchito mawonekedwe ogwiritsira ntchito kapena kusinthiratu njirayi pogwiritsa ntchito, mwachitsanzo, kudzipereka kuti muphunzire.

DEVOXX UK. Kubernetes pakupanga: Blue/Green deployment, autoscaling and deployment automation. Gawo 2

Seva Yathu Yomanga ipanga chithunzi cha Docker, kukankhira mu Docker Hub kapena zolembetsa zilizonse zomwe mumagwiritsa ntchito. Docker Hub imathandizira webhook, kotero titha kuyambitsa kutumizidwa kwakutali kudzera pa Deployer momwe tawonetsera pamwambapa. Mwanjira iyi mutha kusinthiratu kutumizidwa kwa pulogalamu yanu kuti ipangidwe.

Tiyeni tipitirire pamutu wotsatira - kukulitsa gulu la Kubernetes. Dziwani kuti lamulo la kubectl ndi lamulo lokulitsa. Ndi chithandizo chochulukirapo, titha kuwonjezera mosavuta kuchuluka kwa zofananira mgulu lathu lomwe lilipo. Komabe, pochita, nthawi zambiri timafuna kuwonjezera kuchuluka kwa ma node osati ma pod.

DEVOXX UK. Kubernetes pakupanga: Blue/Green deployment, autoscaling and deployment automation. Gawo 2

Panthawi imodzimodziyo, nthawi yogwira ntchito mungafunikire kuwonjezereka, ndipo usiku, kuti muchepetse mtengo wa ntchito za Amazon, mungafunike kuchepetsa chiwerengero cha maulendo ogwiritsira ntchito. Izi sizikutanthauza kuti kukulitsa kuchuluka kwa ma pod kudzakhala kokwanira, chifukwa ngakhale imodzi mwa node itakhala yopanda ntchito, mudzayenera kulipira Amazon. Ndiye kuti, pamodzi ndi kukulitsa ma pod, muyenera kukulitsa kuchuluka kwa makina omwe amagwiritsidwa ntchito.

Izi zitha kukhala zovuta chifukwa kaya timagwiritsa ntchito Amazon kapena ntchito ina yamtambo, Kubernetes sadziwa chilichonse chokhudza kuchuluka kwa makina omwe akugwiritsidwa ntchito. Ilibe chida chomwe chimakulolani kuti muwongolere dongosolo pa node.

DEVOXX UK. Kubernetes pakupanga: Blue/Green deployment, autoscaling and deployment automation. Gawo 2

Choncho tiyenera kusamalira mfundo zonse ndi makoko. Titha kukulitsa kukhazikitsidwa kwa ma node atsopano pogwiritsa ntchito makina a AWS API ndi Scaling gulu kuti tikonze kuchuluka kwa ma node ogwira ntchito a Kubernetes. Mutha kugwiritsanso ntchito cloud-init kapena script yofananira kulembetsa node mu gulu la Kubernetes.

Makina atsopanowa amayamba mu gulu la Scaling, amadziyambitsa yekha ngati node, amalembetsa mu kaundula wa mbuye ndikuyamba kugwira ntchito. Pambuyo pake, mutha kuwonjezera kuchuluka kwa zofananira kuti zigwiritsidwe ntchito pazotsatira. Kuchepetsa kumafuna khama kwambiri, chifukwa muyenera kuonetsetsa kuti sitepe yotereyi siyambitsa chiwonongeko cha mapulogalamu omwe akuyendetsa kale pambuyo pozimitsa makina "osafunikira". Kuti mupewe zochitika zotere, muyenera kuyika ma node kukhala "osakonzekera". Izi zikutanthauza kuti wokhazikikayo anyalanyaza ma node awa pokonza ma DaemonSet pods. Wokonzeratu sachotsa chilichonse pamaseva awa, komanso sayambitsanso zotengera zatsopano pamenepo. Chotsatira ndikuchotsa madontho, ndiko kuti, kusamutsa ma pods kupita ku makina ena, kapena mfundo zina zomwe zili ndi mphamvu zokwanira pa izi. Mukatsimikizira kuti palibenso zotengera pamfundozi, mutha kuzichotsa ku Kubernetes. Pambuyo pake, asiya kukhalapo kwa Kubernetes. Kenako, muyenera kugwiritsa ntchito AWS API kuletsa ma node kapena makina osafunikira.
Mukhoza kugwiritsa ntchito Amdatu Scalard, chida china chotsegula chotsegula chofanana ndi AWS API. Imapereka CLI kuti iwonjezere kapena kuchotsa node mumagulu. Chochititsa chidwi ndi kuthekera kokonza ndandanda pogwiritsa ntchito fayilo ya json.

DEVOXX UK. Kubernetes pakupanga: Blue/Green deployment, autoscaling and deployment automation. Gawo 2

Khodi yowonetsedwa imachepetsa mphamvu yamagulu ndi theka nthawi yausiku. Imakonza kuchuluka kwa zofananira zomwe zilipo komanso kuchuluka komwe kukufunika kwa gulu la Amazon. Kugwiritsa ntchito ndondomekoyi kumangochepetsa kuchuluka kwa ma node usiku ndikuwonjezera m'mawa, kupulumutsa mtengo wogwiritsa ntchito ma node kuchokera pamtambo ngati Amazon. Izi sizinamangidwe ku Kubernetes, koma kugwiritsa ntchito Scalard kumakupatsani mwayi wokulitsa nsanjayi momwe mungafune.

Ndikufuna kunena kuti anthu ambiri amandiuza kuti, "Zonse zili bwino, koma nanga bwanji nkhokwe yanga, yomwe nthawi zambiri imakhala yosasunthika?" Kodi mungayendetse bwanji chonchi mumalo osinthika ngati Kubernetes? Malingaliro anga, simuyenera kuchita izi, musayese kuyendetsa malo osungiramo zinthu ku Kubernetes. Izi ndizotheka mwaukadaulo, ndipo pali maphunziro pa intaneti pankhaniyi, koma zidzasokoneza moyo wanu.

Inde, pali lingaliro la malo ogulitsa ku Kubernetes, ndipo mutha kuyesa kuyendetsa masitolo ngati Mongo kapena MySQL, koma iyi ndi ntchito yovuta kwambiri. Izi ndichifukwa choti malo osungiramo data samathandizira kwathunthu kuyanjana ndi malo osinthika. Ma database ambiri amafunikira kasinthidwe kofunikira, kuphatikiza kasinthidwe kagulu kagulu, sakonda autoscaling ndi zinthu zina zofananira.
Chifukwa chake, simuyenera kusokoneza moyo wanu poyesa kuyendetsa malo osungiramo zinthu ku Kubernetes. Konzani ntchito zawo mwanjira yachikhalidwe pogwiritsa ntchito ntchito zodziwika bwino ndikungopatsa Kubernetes kuthekera kozigwiritsa ntchito.

DEVOXX UK. Kubernetes pakupanga: Blue/Green deployment, autoscaling and deployment automation. Gawo 2

Kuti titsirize mutuwo, ndikufuna ndikudziwitseni za nsanja ya Cloud RTI yochokera Kubernetes, yomwe gulu langa likugwira ntchito. Imapereka mitengo yapakati, kuyang'anira ntchito ndi magulu, ndi zina zambiri zothandiza zomwe zingakhale zothandiza. Imagwiritsa ntchito zida zosiyanasiyana zotseguka monga Grafana kuwonetsa kuwunika.

DEVOXX UK. Kubernetes pakupanga: Blue/Green deployment, autoscaling and deployment automation. Gawo 2

DEVOXX UK. Kubernetes pakupanga: Blue/Green deployment, autoscaling and deployment automation. Gawo 2

Panali funso loti chifukwa chiyani mumagwiritsa ntchito ha-proxy load balancer ndi Kubernetes. Funso labwino chifukwa pakadali pano pali magawo a 2 owongolera katundu. Ntchito za Kubernetes zikadali pama adilesi enieni a IP. Simungawagwiritse ntchito pamadoko pamakina akunja akunja chifukwa Amazon ikadzaza mtambo wake, adilesi isintha. Ichi ndichifukwa chake timayika ha-proxy kutsogolo kwa mautumiki - kuti tipange dongosolo lokhazikika la magalimoto kuti azilankhulana momasuka ndi Kubernetes.

Funso lina labwino ndilakuti mungasamalire bwanji kusintha kwa schema ya database mukamagwiritsa ntchito buluu / wobiriwira? Chowonadi ndi chakuti mosasamala kanthu za kugwiritsidwa ntchito kwa Kubernetes, kusintha schema ya database ndi ntchito yovuta. Muyenera kuwonetsetsa kuti schema yakale ndi yatsopano ikugwirizana, pambuyo pake mutha kusintha nkhokwe ndikusinthiranso mapulogalamuwo. Mutha kusinthanso database ndikusinthira mapulogalamu. Ndikudziwa za anthu omwe adayambitsa gulu latsopano la database ndi schema yatsopano, iyi ndi njira ngati muli ndi database yopanda dongosolo ngati Mongo, koma si ntchito yophweka. Ngati mulibe mafunso ena, zikomo chifukwa cha chidwi chanu!

Zotsatsa zina πŸ™‚

Zikomo chifukwa chokhala nafe. Kodi mumakonda zolemba zathu? Mukufuna kuwona zambiri zosangalatsa? Tithandizeni potipatsa oda kapena kulimbikitsa anzathu, mtambo VPS kwa opanga kuchokera ku $ 4.99, ma analogi apadera a ma seva olowera, omwe adakupangirani inu: Chowonadi chonse chokhudza VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps kuchokera $19 kapena momwe mungagawire seva? (ikupezeka ndi RAID1 ndi RAID10, mpaka 24 cores mpaka 40GB DDR4).

Dell R730xd 2x yotsika mtengo ku Equinix Tier IV data center ku Amsterdam? Pokhapokha 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV kuchokera $199 ku Netherlands! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - kuchokera $99! Werengani za Momwe mungamangire Infrastructure Corp. kalasi pogwiritsa ntchito ma seva a Dell R730xd E5-2650 v4 ofunika ma euro 9000 pa khobiri?

Source: www.habr.com

Kuwonjezera ndemanga