DEVOXX UK. Kubernetes amin'ny famokarana: Blue/Green deployment, autoscaling and deployment automation. Fizarana 2

Kubernetes dia fitaovana tsara hampandehanana ny kaontenera Docker amin'ny tontolo famokarana mivondrona. Na izany aza, misy olana izay tsy azon'i Kubernetes voavaha. Ho an'ny fandefasana famokarana matetika, mila fametrahana manga/maitso mandeha ho azy tanteraka izahay mba hisorohana ny tsy fahatomombanana eo amin'ny dingana, izay mila mitantana ny fangatahana HTTP ivelany sy manatanteraka ny fandefasana SSL. Mitaky fampidirana miaraka amin'ny mpifandanja entana toy ny ha-proxy izany. Ny fanamby iray hafa dia ny fanamafisam-peo semi-automatique amin'ny cluster Kubernetes mihitsy rehefa mihazakazaka ao anaty tontolo rahona, ohatra ny fampihenana amin'ny ampahany ny cluster amin'ny alina.

Na dia tsy manana ireo endri-javatra ireo aza ny Kubernetes, dia manome API azonao ampiasaina hamahana olana mitovy amin'izany. Fitaovana ho an'ny fametrahana manga/maitso mandeha ho azy sy ny fampitomboana ny cluster Kubernetes dia novolavolaina ho ampahany amin'ny tetikasa Cloud RTI, izay noforonina mifototra amin'ny open-source.

Ity lahatsoratra ity, horonan-tsary, dia mampiseho anao ny fomba hananganana Kubernetes miaraka amin'ireo singa loharano misokatra hafa mba hamoronana tontolo vonona amin'ny famokarana izay manaiky kaody avy amin'ny git commit tsy misy fiatoana amin'ny famokarana.

DEVOXX UK. Kubernetes amin'ny famokarana: Blue/Green deployment, autoscaling and deployment automation. Fizarana 2

DEVOXX UK. Kubernetes amin'ny famokarana: Blue/Green deployment, autoscaling and deployment automation. Fizarana 1

Noho izany, rehefa afaka miditra amin'ny rindranasa avy any ivelany ianao dia afaka manomboka manangana automatique tanteraka, izany hoe, ento any amin'ny sehatra ahafahanao manao git commit ary ataovy azo antoka fa miafara amin'ny famokarana ity git commit ity. Mazava ho azy, rehefa mampihatra ireo dingana ireo, rehefa mampihatra ny fametrahana, dia tsy te-hihaona amin'ny downtime. Noho izany, ny automatique rehetra ao amin'ny Kubernetes dia manomboka amin'ny API.

DEVOXX UK. Kubernetes amin'ny famokarana: Blue/Green deployment, autoscaling and deployment automation. Fizarana 2

Kubernetes dia tsy fitaovana azo ampiasaina am-pahombiazana ivelan'ny boaty. Mazava ho azy fa azonao atao izany, mampiasa kubectl sy ny sisa, fa ny API no tena mahaliana sy mahasoa indrindra amin'ity sehatra ity. Amin'ny alΓ lan'ny fampiasana ny API ho andiana fiasa, azonao atao ny miditra saika izay tianao hatao ao amin'ny Kubernetes. Kubectl ihany koa dia mampiasa ny REST API.

REST ity, ka afaka mampiasa fiteny na fitaovana rehetra ianao hiarahana amin'ity API ity, fa ho mora kokoa amin'ny tranomboky manokana ny fiainanao. Nanoratra tranomboky 2 toy izany ny ekipako: ny iray ho an'ny Java/OSGi ary ny iray ho an'ny Go. Ny faharoa dia tsy ampiasaina matetika, fa na izany na tsy izany dia manana ireto zavatra mahasoa ireto ianao. Tetikasa open-source nahazo alalana ampahany izy ireo. Betsaka ny trano famakiam-boky toy izany ho an'ny fiteny samihafa, mba hahafahanao misafidy izay mety aminao indrindra.

DEVOXX UK. Kubernetes amin'ny famokarana: Blue/Green deployment, autoscaling and deployment automation. Fizarana 2

Noho izany, alohan'ny hanombohanao manamboatra ny fametrahanao dia mila mahazo antoka ianao fa tsy hiharan'ny tsy fahampian'ny fotoana ny dingana. Ohatra, ny ekipanay dia manao fandefasana famokarana mandritra ny antoandro izay ampiasain'ny olona indrindra ny fampiharana, noho izany dia zava-dehibe ny hisorohana ny fahatarana amin'ity dingana ity. Mba hialana amin'ny fotoana tsy ampoizina dia fomba 2 no ampiasaina: fametrahana manga/maitso na fanavaozana mihodina. Amin'ity tranga farany ity, raha manana kopia 5 amin'ny fampiharana mandeha ianao, dia havaozina tsikelikely izy ireo. Ity fomba ity dia miasa tsara, saingy tsy mety raha manana dikan-teny samihafa amin'ny fampiharana mandeha miaraka mandritra ny dingan'ny fametrahana. Amin'ity tranga ity, azonao atao ny manavao ny mpampiasa interface tsara raha ny backend dia mihazakazaka ny dikan-teny taloha, ary ny fampiharana dia hijanona tsy miasa. Noho izany, amin'ny fomba fijery fandaharana, ny miasa amin'ny toe-javatra toy izany dia tena sarotra.

Izany no iray amin'ireo antony mahatonga anay aleonay mampiasa fanapariahana manga/maitso hanamafisana ny fametrahana ny fampiharana anay. Amin'ity fomba ity dia tsy maintsy miantoka ianao fa dikan-teny iray ihany no mavitrika amin'ny fotoana iray.

Toy izao ny mekanika fandefasana manga/maitso. Mahazo fifamoivoizana ho an'ny rindranasa amin'ny alΓ lan'ny ha-proxy izahay, izay mampita izany amin'ny fandefasana dika mitovy amin'ny fampiharana mitovy.

Rehefa misy fametrahana vaovao dia mampiasa Deployer izahay, izay omena ireo singa vaovao ary mametraka ny dikan-teny vaovao. Ny fametrahana dika vaovao amin'ny rindranasa iray dia midika fa "natsangana" ny andiana dika vaovao iray, ary avy eo dia natomboka tao anaty pod vaovao ireo dika mitovy amin'ny dikan-teny vaovao ireo. Na izany aza, ny ha-proxy dia tsy mahalala na inona na inona momba azy ireo ary mbola tsy mitondra enta-mavesatra ho azy ireo.

Noho izany, voalohany indrindra, ilaina ny manara-maso ny fahombiazan'ny dika vaovao amin'ny fanaraha-maso ara-pahasalamana mba hahazoana antoka fa ny kopia dia vonona amin'ny fanompoana ny entana.

DEVOXX UK. Kubernetes amin'ny famokarana: Blue/Green deployment, autoscaling and deployment automation. Fizarana 2

Ny singa fametrahana rehetra dia tsy maintsy manohana karazana fisavana ara-pahasalamana. Mety ho fanamarinana antso HTTP tena tsotra izany, rehefa mahazo kaody misy sata 200 ianao, na fanamarinana lalindalina kokoa, izay hahitanao ny fifandraisan'ireo kopia amin'ny angon-drakitra sy serivisy hafa, ny fahamarinan'ny fifandraisana amin'ny tontolo iainana mavitrika. , ary raha manomboka sy mandeha tsara ny zava-drehetra. Mety ho sarotra be izany dingana izany.

DEVOXX UK. Kubernetes amin'ny famokarana: Blue/Green deployment, autoscaling and deployment automation. Fizarana 2

Rehefa avy nanamarina ny rafitra fa miasa daholo ny kopia nohavaozina, ny Deployer dia hanavao ny configuration ary handalo ny confd marina, izay hamerina ha-proxy.

DEVOXX UK. Kubernetes amin'ny famokarana: Blue/Green deployment, autoscaling and deployment automation. Fizarana 2

Aorian'io ihany no hitodika any amin'ny pod misy dika mitovy amin'ny dikan-teny vaovao ny fifamoivoizana, ary hanjavona ny pod taloha.

DEVOXX UK. Kubernetes amin'ny famokarana: Blue/Green deployment, autoscaling and deployment automation. Fizarana 2

Ity mekanika ity dia tsy singa iray amin'ny Kubernetes. Ny foto-kevitry ny fametrahana manga/maitso dia efa nisy hatry ny ela ary nampiasa fampifandanjana entana foana. Voalohany, tarihinao amin'ny dikan-teny taloha amin'ny fampiharana ny fifamoivoizana rehetra, ary aorian'ny fanavaozana dia mamindra azy tanteraka amin'ny dikan-teny vaovao ianao. Ity fitsipika ity dia tsy ampiasaina amin'ny Kubernetes ihany.

Ankehitriny dia hampahafantatra anao ny singa fametrahana vaovao aho - Deployer, izay manao fisavana ara-pahasalamana, manamboatra proxy, sy ny sisa. Hevitra tsy mihatra amin'ny tontolo ivelany izany ary misy ao anatin'ny Kubernetes. Hasehoko anao ny fomba ahafahanao mamorona ny foto-kevitra Deployer anao amin'ny alΓ lan'ny fitaovana loharano misokatra.

Noho izany, ny zavatra voalohany ataon'ny Deployer dia ny mamorona RC replication controller mampiasa ny Kubernetes API. Ity API ity dia mamorona pods sy serivisy ho an'ny fametrahana bebe kokoa, izany hoe, mamorona cluster vaovao tanteraka ho an'ny fampiharanay. Raha vao resy lahatra ny RC fa natomboka ny kopia, dia hanao fitsirihana ara-pahasalamana ny fiasan'izy ireo. Mba hanaovana izany, mampiasa ny baiko GET / fahasalamana ny Deployer. Izy io dia mampandeha ireo singa scan mifanaraka amin'izany ary manamarina ny singa rehetra manohana ny fiasan'ny cluster.

DEVOXX UK. Kubernetes amin'ny famokarana: Blue/Green deployment, autoscaling and deployment automation. Fizarana 2

Taorian'ny nitateran'ny pods rehetra ny fahasalamany, dia mamorona singa fanamafisam-peo vaovao ny Deployer - fitehirizam-pizarana snsd, izay ampiasain'ny Kubernetes anatiny, ao anatin'izany ny fitehirizana ny fikirakirana mpandrindra entana. Manoratra data amin'ny etcd izahay, ary fitaovana kely antsoina hoe confd monitors etcd ho an'ny angona vaovao.

Raha mahita fiovana amin'ny fanovana voalohany izy, dia mamorona rakitra fanovana vaovao ary mamindra azy amin'ny ha-proxy. Amin'ity tranga ity, ny ha-proxy dia miverina tsy misy fifandraisana ary mandefa ny entana amin'ny serivisy vaovao izay ahafahan'ny kinova vaovaon'ny rindranasa miasa.

DEVOXX UK. Kubernetes amin'ny famokarana: Blue/Green deployment, autoscaling and deployment automation. Fizarana 2

Araka ny hitanao, na dia eo aza ny habetsahan'ny singa, dia tsy misy sarotra eto. Mila mandinika bebe kokoa ny API sy sns ianao. Te-hilaza aminao aho momba ny deployer open-source izay ampiasaintsika - Amdatu Kubernetes Deployer.

DEVOXX UK. Kubernetes amin'ny famokarana: Blue/Green deployment, autoscaling and deployment automation. Fizarana 2

Izy io dia fitaovana handrindrana ny fametrahana Kubernetes ary manana ireto endri-javatra manaraka ireto:

  • Fametrahana manga/maitso;
  • fametrahana mpanelanelana entana ivelany;
  • fitantanana descriptor fametrahana;
  • fitantanana ny tena fametrahana;
  • fanamarinana ny fiasan'ny fisavana ara-pahasalamana mandritra ny fametrahana;
  • fampiharana ny fari-piainan'ny tontolo iainana ao anaty pods.

Ity Deployer ity dia naorina teo an-tampon'ny Kubernetes API ary manome REST API ho an'ny fitantanana ny fikajiana sy ny fametrahana, ary koa ny Websocket API ho an'ny log de streaming mandritra ny dingan'ny fametrahana.

Apetrany ao anaty etcd ny angon-drakitra fikirakirana load balancer, ka tsy mila mampiasa ha-proxy miaraka amin'ny fanohanana ivelan'ny boaty ianao, fa ampiasao mora foana ny rakitra fikirakirana load balancer anao. Amdatu Deployer dia voasoratra ao amin'ny Go, toa an'i Kubernetes mihitsy, ary nahazo alalana avy amin'i Apache.

Talohan'ny nanombohako nampiasa an'io dikan-tenin'ny deployer io, dia nampiasa ity descriptor fanapariahana manaraka ity aho, izay mamaritra ny masontsivana ilaiko.

DEVOXX UK. Kubernetes amin'ny famokarana: Blue/Green deployment, autoscaling and deployment automation. Fizarana 2

Ny iray amin'ireo mari-pamantarana manan-danja amin'ity kaody ity dia ny mamela ny saina "useHealthCheck". Mila mamaritra isika fa tsy maintsy atao ny fanamarinana ara-pahasalamana mandritra ny fizotran'ny fametrahana. Ity toe-javatra ity dia azo vonoina rehefa mampiasa fitoeran'ny antoko fahatelo izay tsy mila hamarinina ny fametrahana. Ity famaritana ity dia manondro ny isan'ny kopia sy ny URL eo anoloana izay ilain'ny ha-proxy. Any amin'ny farany dia ny sainam-pandrefesana pod "podspec", izay miantso an'i Kubernetes ho fampahalalana momba ny fanamafisana ny seranan-tsambo, sary, sns. Ity dia famaritana JSON tsotra.

Fitaovana iray hafa anisan'ny tetikasa Amdatu open source dia Deploymentctl. Manana UI izy io amin'ny fanefena ny fametrahana, mitahiry ny tantaran'ny fametrahana, ary misy webhooks ho an'ny antso an-tariby avy amin'ireo mpampiasa sy mpamorona antoko fahatelo. Mety tsy hampiasa ny UI ianao satria ny Amdatu Deployer dia API REST, saingy ity interface ity dia afaka manamora ny fandefasana anao tsy misy API. Deploymentctl dia voasoratra ao amin'ny OSGi/Vertx mampiasa Angular 2.

Hasehoko eo amin'ny efijery ity voalaza etsy ambony ity amin'ny alΓ lan'ny firaketana an-tsoratra mialoha mba tsy hiandry ianao. Hametraka fampiharana Go tsotra izahay. Aza manahy raha mbola tsy nanandrana ny Go ianao teo aloha fa fampiharana tsotra dia tokony ho azonao fantarina izany.

DEVOXX UK. Kubernetes amin'ny famokarana: Blue/Green deployment, autoscaling and deployment automation. Fizarana 2

Eto izahay dia mamorona mpizara HTTP izay mamaly / fahasalamana ihany, ka ity fampiharana ity dia manao fitiliana ara-pahasalamana fotsiny fa tsy misy hafa. Raha mandalo ny fanamarinana dia ampiasaina ny rafitra JSON aseho eto ambany. Ahitana ny dikan-tenin'ny fampiharana izay hapetraky ny mpandefa, ny hafatra hitanao eo an-tampon'ny rakitra, ary ny karazana data boolean - na miasa na tsia ny fampiharanay.

Namitaka kely tamin'ny andalana farany aho, satria nametraka sanda boolean raikitra teo an-tampon'ilay rakitra aho, izay hanampy ahy amin'ny ho avy hametraka fampiharana "tsy mahasalama". Hiatrika izany isika any aoriana.

Andeha Γ ry isika hanomboka. Voalohany, manamarina ny fisian'ny pods mihazakazaka mampiasa ny baiko ~ kubectl get pods ary, mifototra amin'ny tsy fisian'ny valiny avy amin'ny URL frontend, dia ataonay antoka fa tsy misy fametrahana amin'izao fotoana izao.

DEVOXX UK. Kubernetes amin'ny famokarana: Blue/Green deployment, autoscaling and deployment automation. Fizarana 2

Manaraka eo amin'ny efijery ianao dia mahita ny interface Deploymentctl nolazaiko, izay ametrahana ny masontsivana fametrahana: namespace, anaran'ny fampiharana, version deployment, isan'ny replicas, URL eo anoloana, anaran'ny container, sary, fetran'ny loharanon-karena, laharan'ny seranan-tsambo ho an'ny fanamarinana ara-pahasalamana, sns.. Tena zava-dehibe ny fetran'ny loharanon-karena, satria mamela anao hampiasa ny habetsaky ny fitaovana faran'izay azo atao. Eto ianao dia afaka mijery ny log Deployment.

DEVOXX UK. Kubernetes amin'ny famokarana: Blue/Green deployment, autoscaling and deployment automation. Fizarana 2

Raha averinao izao ny baiko ~ kubectl get pods, dia ho hitanao fa "mivaingana" mandritra ny 20 segondra ny rafitra, izay amboarina indray ny ha-proxy. Aorian'izany dia manomboka ny pod, ary ny kopia ataontsika dia azo jerena ao amin'ny log de deployment.

DEVOXX UK. Kubernetes amin'ny famokarana: Blue/Green deployment, autoscaling and deployment automation. Fizarana 2

Nesoriko tamin'ny horonan-tsary ny fiandrasana 20 segondra, ary hitanao eo amin'ny efijery fa efa napetraka ny dikan-teny voalohany amin'ny fampiharana. Izany rehetra izany dia natao tamin'ny fampiasana ny UI ihany.

DEVOXX UK. Kubernetes amin'ny famokarana: Blue/Green deployment, autoscaling and deployment automation. Fizarana 2

Andeha isika hanandrana ny dikan-teny faharoa. Mba hanaovana izany, dia manova ny hafatry ny fampiharana amin'ny "Manahoana, Kubernetes!" amin'ny "Hello, Deployer!", Ny rafitra dia mamorona ity sary ity ary mametraka azy ao amin'ny rejisitra Docker, ary avy eo dia tsindrio fotsiny ny bokotra "Deploy" indray ao amin'ny varavarankely Deploymentctl. Amin'ity tranga ity, ny log de deployment dia alefa ho azy amin'ny fomba mitovy amin'ny nitranga tamin'ny fametrahana ny dikan-teny voalohany amin'ny fampiharana.

DEVOXX UK. Kubernetes amin'ny famokarana: Blue/Green deployment, autoscaling and deployment automation. Fizarana 2

Ny baiko ~ kubectl get pods dia mampiseho fa misy dikan-teny 2 amin'izao fotoana izao ny fampiharana mandeha, fa ny frontend dia mampiseho fa mbola mihazakazaka version 1 isika.

DEVOXX UK. Kubernetes amin'ny famokarana: Blue/Green deployment, autoscaling and deployment automation. Fizarana 2

Miandry ny fahavitan'ny fitsirihana ara-pahasalamana alohan'ny hamerenana ny fifamoivoizana amin'ny kinova vaovao ny mpandrindra entana. Rehefa afaka 20 segondra, dia mifindra amin'ny curl isika ary mahita fa manana ny dikan-2 amin'ny fampiharana napetraka, ary voafafa ny voalohany.

DEVOXX UK. Kubernetes amin'ny famokarana: Blue/Green deployment, autoscaling and deployment automation. Fizarana 2

Izany dia ny fametrahana fampiharana "salama". Andeha hojerentsika hoe inona no mitranga raha hanova ny mari-pamantarana Healthy avy amin'ny marina ho diso aho amin'ny dikan-teny vaovao, izany hoe manandrana mametraka fampiharana tsy mahasalama izay tsy nahomby tamin'ny fanamarinana ara-pahasalamana aho. Mety hitranga izany raha misy hadisoana fanitsiana natao tao amin'ny fampiharana eo amin'ny sehatry ny fampandrosoana, ary nalefa tamin'ny famokarana amin'ity endrika ity.

Araka ny hitanao dia mandeha amin'ny dingana rehetra etsy ambony ny fametrahana ary ~kubectl get pods dia mampiseho fa samy mandeha ny pods. Saingy tsy toy ny fametrahana teo aloha, ny log dia mampiseho ny toetry ny fotoana. Izany hoe, noho ny tsy fahombiazan'ny fizahana ara-pahasalamana dia tsy azo apetraka ny dikan-teny vaovao amin'ny fampiharana. Vokatr'izany dia hitanao fa niverina tamin'ny fampiasana ny dikan-teny taloha amin'ny fampiharana ny rafitra, ary nesorina tsotra izao ny dikan-teny vaovao.

DEVOXX UK. Kubernetes amin'ny famokarana: Blue/Green deployment, autoscaling and deployment automation. Fizarana 2

Ny zavatra tsara amin'izany dia na dia manana fangatahana maro be miaraka amin'ny fampiharana aza ianao, dia tsy ho hitan'izy ireo akory ny fotoana fiatoana mandritra ny fampiharana ny fomba fametrahana. Raha manandrana ity fampiharana ity ianao amin'ny alΓ lan'ny rafitra Gatling, izay mandefa fangatahana betsaka araka izay azo atao, dia tsy hisy na dia iray aza amin'ireo fangatahana ireo ho latsaka. Midika izany fa tsy ho hitan'ny mpampiasa anay akory ny fanavaozam-baovao amin'ny fotoana tena izy. Raha tsy mahomby dia hitohy ny asa amin'ny dikan-teny taloha; raha mahomby dia hifindra amin'ny kinova vaovao ny mpampiasa.

Zavatra iray ihany no mety tsy hahomby - raha mahomby ny fisavana ara-pahasalamana, saingy tsy mahomby ny fampiharana raha vao ampiharina aminy ny enta-mavesatry ny asa, izany hoe rehefa vita ny fametrahana dia tsy hisy ny fianjerana. Amin'ity tranga ity dia tsy maintsy miverina amin'ny tananao amin'ny dikan-teny taloha ianao. Noho izany, nijery ny fomba fampiasana Kubernetes miaraka amin'ireo fitaovana open-source natao ho azy izahay. Ho mora kokoa ny fizotran'ny fametrahana raha manangana ireo fitaovana ireo ao amin'ny fantsona Build/Deploy ianao. Amin'izay fotoana izay ihany koa, mba hanombohana ny fametrahana, azonao atao ny mampiasa ny interface interface na manara-maso tanteraka an'ity dingana ity amin'ny fampiasana, ohatra, manolo-tena ho tompon'andraikitra.

DEVOXX UK. Kubernetes amin'ny famokarana: Blue/Green deployment, autoscaling and deployment automation. Fizarana 2

Ny Build Server dia hamorona sary Docker, manosika azy ao amin'ny Docker Hub na izay rejisitra ampiasainao. Docker Hub dia manohana ny webhook, mba hahafahantsika manetsika ny fandefasana lavitra amin'ny alΓ lan'ny Deployer amin'ny fomba aseho etsy ambony. Amin'izany fomba izany dia azonao atao ny manara-maso tanteraka ny fametrahana ny fampiharana anao amin'ny famokarana mety.

Andao hiroso amin'ny lohahevitra manaraka - ny fampitomboana ny cluster Kubernetes. Mariho fa ny baiko kubectl dia baiko scaling. Miaraka amin'ny fanampiana bebe kokoa, afaka mampitombo mora foana ny isan'ny dika mitovy amin'ny cluster misy anay izahay. Na izany aza, amin'ny fampiharana, matetika isika no te hampitombo ny isan'ny nodes fa tsy pods.

DEVOXX UK. Kubernetes amin'ny famokarana: Blue/Green deployment, autoscaling and deployment automation. Fizarana 2

Mandritra izany fotoana izany, mandritra ny ora fiasana dia mety mila mitombo ianao, ary amin'ny alina, mba hampihenana ny vidin'ny serivisy Amazon, dia mety ilainao ny mampihena ny isan'ny fampiharana fampiharana. Tsy midika akory izany fa ampy ny fampitomboana ny isan'ny pods, satria na dia tsy miasa aza ny iray amin'ireo node, dia mbola tsy maintsy mandoa an'i Amazon ianao. Izany hoe, miaraka amin'ny scaling ny pods, dia mila mandanja ny isan'ny milina ampiasaina.

Mety ho sarotra izany satria na mampiasa Amazon na serivisy rahona hafa isika, Kubernetes dia tsy mahalala na inona na inona momba ny isan'ny milina ampiasaina. Tsy manana fitaovana ahafahanao manitsy ny rafitra amin'ny haavon'ny node.

DEVOXX UK. Kubernetes amin'ny famokarana: Blue/Green deployment, autoscaling and deployment automation. Fizarana 2

Noho izany dia tsy maintsy mikarakara ny nodes sy ny pods isika. Azontsika atao ny manefa mora foana ny fandefasana nodes vaovao amin'ny alΓ lan'ny milina AWS API sy Scaling groupe mba hanitsiana ny isan'ny node mpiasa Kubernetes. Azonao atao koa ny mampiasa cloud-init na script mitovy amin'izany mba hisoratra anarana nodes ao amin'ny cluster Kubernetes.

Ny milina vaovao dia manomboka ao amin'ny vondrona Scaling, manomboka ny tenany ho node, misoratra anarana ao amin'ny rejisitry ny tompony ary manomboka miasa. Aorian'izany dia azonao atao ny mampitombo ny isan'ny kopia ampiasaina amin'ireo nodes vokarina. Mitaky ezaka bebe kokoa ny fampihenana, satria mila mahazo antoka ianao fa ny dingana toy izany dia tsy mitarika ho amin'ny fandringanana ny fampiharana efa mandeha rehefa avy namono ny milina "tsy ilaina". Mba hisorohana ny toe-javatra toy izany dia mila mametraka ny nodes amin'ny sata "tsy azo atao". Midika izany fa tsy hiraharaha ireo nodes ireo ny mpandrindra ny default rehefa mandamina ny pods DaemonSet. Tsy hamafa na inona na inona amin'ireo lohamilina ireo ny mpandrindra, fa tsy hamoaka kaontenera vaovao ao koa. Ny dingana manaraka dia ny fanesorana ny node drain, izany hoe, ny famindrana pods mihazakazaka avy ao amin'ny milina hafa, na nodes hafa izay manana fahafahana ampy ho an'izany. Rehefa azonao antoka fa tsy misy kaontenera intsony amin'ireo nodes ireo dia azonao esorina ao amin'ny Kubernetes izy ireo. Aorian'izany dia hitsahatra tsy hisy intsony izy ireo ho an'ny Kubernetes. Manaraka, mila mampiasa ny AWS API ianao mba hanesorana ireo nodes na milina tsy ilaina.
Azonao atao ny mampiasa Amdatu Scalerd, fitaovana fanokafana loharano misokatra hafa mitovy amin'ny AWS API. Izy io dia manome CLI hanampiana na hanesorana ireo nodes ao anaty cluster. Ny endri-javatra mahaliana azy dia ny fahafahana manamboatra ny fandaharam-potoana amin'ny fampiasana ity rakitra json manaraka ity.

DEVOXX UK. Kubernetes amin'ny famokarana: Blue/Green deployment, autoscaling and deployment automation. Fizarana 2

Ny kaody aseho dia mampihena ny fahafahan'ny cluster amin'ny antsasany mandritra ny vanim-potoanan'ny alina. Izy io dia manamboatra ny isan'ny kopia misy sy ny fahafaha-manaon'ny cluster Amazon. Ny fampiasana ity fandaharam-potoana ity dia hampihena ho azy ny isan'ny nodes amin'ny alina ary hampitombo azy ireo amin'ny maraina, mitahiry ny vidin'ny fampiasana nodes amin'ny serivisy rahona toa an'i Amazon. Ity endri-javatra ity dia tsy natsangana tao amin'ny Kubernetes, fa ny fampiasana Scalerd dia ahafahanao manitsy ity sehatra ity araka izay tianao.

Tiako ny manamarika fa maro ny olona no miteny amiko hoe: "Tsara sy tsara izany, fa ahoana kosa ny momba ny angon-drakitra, izay matetika static?" Ahoana no ahafahanao mitantana zavatra tahaka izao amin'ny tontolo mavitrika toa an'i Kubernetes? Raha ny hevitro dia tsy tokony hanao an'izany ianao, tsy tokony hiezaka ny hitantana trano fanatobiana data ao amin'ny Kubernetes. Azo atao ara-teknika izany, ary misy fampianarana ao amin'ny Internet momba ity lohahevitra ity, saingy hanasarotra ny fiainanao izany.

Eny, misy hevitra momba ny fivarotana maharitra ao amin'ny Kubernetes, ary azonao atao ny manandrana mitantana fivarotana data toa an'i Mongo na MySQL, saingy asa be dia be izany. Izany dia noho ny zava-misy fa ny trano fanatobiana data dia tsy manohana tanteraka ny fifandraisana amin'ny tontolo mavitrika. Ny ankabeazan'ny angon-drakitra dia mitaky fanamafisam-peo manan-danja, ao anatin'izany ny fanamafisana manual ny cluster, tsy tia ny autoscaling sy ny zavatra hafa mitovy amin'izany.
Noho izany, tsy tokony hanasarotra ny fiainanao ianao amin'ny fiezahana hitantana trano fanatobiana angona ao Kubernetes. Mandamina ny asany amin'ny fomba mahazatra amin'ny fampiasana serivisy mahazatra ary omeo fotsiny ny Kubernetes ny fahafahana mampiasa azy ireo.

DEVOXX UK. Kubernetes amin'ny famokarana: Blue/Green deployment, autoscaling and deployment automation. Fizarana 2

Hamaranana ny lohahevitra dia tiako ny hampahafantatra anao ny sehatra Cloud RTI mifototra amin'ny Kubernetes, izay iasan'ny ekipako. Izy io dia manome logging afovoany, fampiharana ary fanaraha-maso cluster, ary ireo endri-javatra mahasoa maro hafa izay ho azo ampiasaina. Mampiasa fitaovana misokatra isan-karazany toa an'i Grafana izy io mba hampisehoana ny fanaraha-maso.

DEVOXX UK. Kubernetes amin'ny famokarana: Blue/Green deployment, autoscaling and deployment automation. Fizarana 2

DEVOXX UK. Kubernetes amin'ny famokarana: Blue/Green deployment, autoscaling and deployment automation. Fizarana 2

Nisy fanontaniana mikasika ny antony hampiasana ny mpandanjalanja entana ha-proxy miaraka amin'i Kubernetes. Fanontaniana tsara satria misy ambaratonga 2 amin'izao fotoana izao ny fampifandanjana entana. Ny serivisy Kubernetes dia mbola mipetraka amin'ny adiresy IP virtoaly. Tsy azonao ampiasaina amin'ny seranana amin'ny milina fampiantranoana ivelany izy ireo satria raha be loatra ny fampiantranoana rahona Amazon dia hiova ny adiresy. Izany no antony ametrahanay ha-proxy eo anoloan'ny serivisy - mba hamoronana rafitra static kokoa ho an'ny fifamoivoizana hifandraisana tsy misy olana amin'ny Kubernetes.

Fanontaniana tsara iray hafa dia ny fomba hikarakaranao ny fiovan'ny schema database rehefa manao fametrahana manga/maitso? Ny zava-misy dia na inona na inona fampiasana Kubernetes, asa sarotra ny manova ny schema database. Mila miantoka ianao fa mifanaraka ny tetika taloha sy vaovao, aorian'izay dia azonao atao ny manavao ny angon-drakitra ary manavao ny rindranasa mihitsy. Azonao atao ny manova ny angon-drakitra ary manavao ny fampiharana. Mahafantatra olona aho izay nanangana cluster database vaovao miaraka amin'ny schema vaovao, safidy io raha manana tahiry tsy misy drafitra toa an'i Mongo ianao, saingy tsy asa mora izany. Raha tsy manana fanontaniana fanampiny ianao dia misaotra anao noho ny fiheveranao!

Ny doka sasany πŸ™‚

Misaotra anao nijanona niaraka taminay. Tianao ve ny lahatsoratray? Te-hahita votoaty mahaliana kokoa? Tohano izahay amin'ny fametrahana baiko na fanolorana amin'ny namana, cloud VPS ho an'ny mpamorona manomboka amin'ny $4.99, analogue tsy manam-paharoa amin'ny mpizara ambaratonga fidirana, izay noforoninay ho anao: Ny marina rehetra momba ny VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps avy amin'ny $19 na ahoana no hizarana mpizara? (misy miaraka amin'ny RAID1 sy RAID10, hatramin'ny 24 cores ary hatramin'ny 40GB DDR4).

Dell R730xd 2x mora kokoa amin'ny foibe data Equinix Tier IV any Amsterdam? Eto ihany 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV manomboka amin'ny $199 any Holandy! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - manomboka amin'ny $99! Vakio ny momba ny Ahoana ny fananganana infrastructure corp. kilasy amin'ny fampiasana mpizara Dell R730xd E5-2650 v4 mitentina 9000 euros amin'ny denaria iray?

Source: www.habr.com

Add a comment