K8S Multicluster Journey

Hey Habr!

Misolo tena ny ekipan'ny sehatra Exness izahay. Teo aloha dia efa nanoratra lahatsoratra momba ny mpiara-miasa amintsika Sary vonona amin'ny famokarana ho an'ny k8s. Anio dia te hizara ny traikefanay momba ny tolotra mifindra monina any Kubernetes izahay.

K8S Multicluster Journey

Hanombohana dia manolotra isa vitsivitsy ho anao izahay mba hahazoanao tsara kokoa ny zavatra horesahina:

  • Ny departemanta fampandrosoana anay dia misy olona 100+, ao anatin'izany ny ekipa maherin'ny 10 miaraka amin'ny fizotran'ny QA, DevOps ary Scrum mahaleo tena. Stack fampandrosoana - Python, PHP, C++, Java ary Golang. 
  • Ny haben'ny toeram-pitsapana sy famokarana dia manodidina ny 2000 kaontenera tsirairay avy. Izy ireo dia mitantana ny Rancher v1.6 amin'ny virtoaly manokana ary eo ambanin'ny VMware. 

motivation

Araka ny filazan'izy ireo, tsy misy na inona na inona maharitra mandrakizay, ary nanambara ny fiafaran'ny fanohanana ny version 1.6 efa ela i Rancher. Eny, tao anatin’ny telo taona mahery isika dia nianatra ny fomba hanomanana izany sy ny famahana olana mipoitra, saingy matetika isika no miatrika olana izay tsy ahitsy na oviana na oviana. Rancher 1.6 koa dia manana rafitra ossified amin'ny famoahana zo, izay ahafahanao manao saika ny zava-drehetra na tsy misy.

Na dia nanome fanaraha-maso bebe kokoa momba ny fitahirizana angon-drakitra sy ny fiarovana azy aza ny virtualization proprietary, dia nametraka ny fandaniana amin'ny asa izay sarotra ekena noho ny fitomboan'ny orinasa tsy tapaka, ny isan'ny tetikasa ary ny fepetra takiana amin'izy ireo.

Te-hanaraka ny fenitra IaC izahay ary, raha ilaina, mahazo fahafaha-manao haingana, amin'ny toerana ara-jeografika rehetra ary tsy misy hidin'ny mpivarotra, ary afaka mandao azy haingana ihany koa.

dingana voalohany

Voalohany indrindra, tianay ny hiantehitra amin'ny teknolojia sy vahaolana maoderina izay ahafahan'ny ekipa manana tsingerin'ny fampandrosoana haingana kokoa ary manamaivana ny fandaniana amin'ny fampandehanana ny fifandraisana amin'ny sehatra manome hery. 
 
Mazava ho azy, ny zavatra voalohany tonga tao an-tsainay dia ny Kubernetes, saingy tsy nientanentana izahay ary nanao fikarohana kely mba hahitana raha io no safidy mety. Vahaolana opensource ihany no nodinihinay, ary tamin'ny ady tsy ara-drariny, nandresy tsy nisy fepetra i Kubernetes.  

Avy eo dia tonga ny fanontaniana momba ny fisafidianana fitaovana hamoronana cluster. Nampitahainay ny vahaolana malaza indrindra: kops, kubespray, kubeadm.

Hanombohana, ny kubeadm dia toa saro-takarina loatra taminay, fa toy ny karazana mpamorona "bisikileta", ary ny kops dia tsy nanana fahafaha-manao ampy.

Ary ny mpandresy dia:

K8S Multicluster Journey

Nanomboka nanandrana tamin'ny virtoaly sy AWS manokana izahay, nanandrana namorona zavatra mitovy amin'ny fomba fitantanana ny loharano teo aloha, izay nizarana "cluster" mitovy. Ary ankehitriny dia manana ny cluster voalohany amin'ny milina virtoaly 10 izahay, ny roa amin'izy ireo dia hita ao amin'ny AWS. Nanomboka nanandrana nifindra monina tany izahay, toa "tsara" ny zava-drehetra, ary mety ho vita ny tantara, saingy ...

Olana Voalohany

Ansible no nanorenana an'i kubespray, tsy fitaovana ahafahanao manaraka ny IaC izany: rehefa maniraka/manafoana ny node dia misy zavatra tsy nety foana ary nisy karazana fitsabahana ilaina, ary rehefa mampiasa OS samy hafa dia tsy mitovy ny fitondran-tena ny playbook. . Rehefa nitombo ny isan'ny ekipa sy node ao amin'ny cluster, dia nanomboka nahatsikaritra izahay fa naharitra ela kokoa ny famitana ny playbook, ary vokatr'izany dia 3,5 ora ny firaketanay, ahoana ny anao? πŸ™‚

Ary toa Ansible fotsiny ny kubespray, ary mazava ny zava-drehetra raha vao jerena, fa:

K8S Multicluster Journey

Tany am-piandohan'ny dia, ny asa dia ny fametrahana ny fahaiza-manao afa-tsy amin'ny AWS sy amin'ny virtoaly, fa avy eo, araka ny mitranga matetika, dia niova ny fepetra.
 
K8S Multicluster JourneyK8S Multicluster Journey

Manoloana izany dia hita mazava fa tsy nety ny fomba taloha nampifangaroana ireo loharanon-karena ho rafitra orkestra iray - raha toa ka tena lavitra ny cluster ary tantanin'ny mpamatsy samihafa. 

More bebe kokoa. Rehefa miasa ao anatin'ny cluster iray ihany ny ekipa rehetra, dia afaka manidina any amin'ny mpampiantrano "vahiny" an'ny ekipa hafa ny serivisy isan-karazany miaraka amin'ny NodeSelectors tsy voapetraka ary mampiasa loharanon-karena any, ary raha misy taint dia misy ny fangatahana tsy tapaka fa tsy mandeha ny serivisy iray na hafa, tsy voazara araka ny tokony ho izy noho ny anton'ny olombelona. Ny olana iray hafa dia ny kajy ny sarany, indrindra ny fijerena ny olana amin'ny fizarana serivisy amin'ny nodes.

Tantara iray miavaka ny famoahana ny zo ho an'ny mpiasa: ny ekipa tsirairay dia naniry ny ho "lohan'ny" vondrona ary hitantana azy tanteraka, izay mety hiteraka fahapotehana tanteraka, satria tsy miankina amin'ny tsirairay ny ekipa.

Ahoana no tokony ho izy?

Raha dinihina ireo voalaza etsy ambony ireo sy ny fanirian’ireo ekipa mba hahaleo tena bebe kokoa, dia nanao tsoa-kevitra tsotra izahay: ekipa iray - cluster iray. 

Ka nahazo iray faharoa izahay:

K8S Multicluster Journey

Ary avy eo ny cluster fahatelo: 

K8S Multicluster Journey

Avy eo dia nanomboka nieritreritra izahay hoe: andao lazaina fa ao anatin'ny herintaona dia hanana cluster mihoatra ny iray ny ekipantsika? Amin'ny faritra ara-jeografika samihafa, ohatra, sa eo ambany fifehezan'ny mpamatsy samihafa? Ary ny sasany amin'izy ireo dia maniry ny hametraka haingana cluster vonjimaika ho an'ny fitsapana sasany. 

K8S Multicluster Journey

Ho avy ny Kubernetes feno! Ity dia karazana MultiKubernetes, hita. 

Amin'izay fotoana izay ihany koa dia mila mitazona ireo cluster rehetra ireo isika rehetra, afaka mitantana mora foana ny fidirana amin'izy ireo, ary mamorona vaovao ary manafoana ny taloha tsy misy fitsabahana amin'ny tanana.

Fotoana vitsivitsy no lasa hatramin'ny niandohan'ny dianay teo amin'ny tontolon'ny Kubernetes, ary nanapa-kevitra ny handinika indray ny vahaolana misy izahay. Hita fa efa misy eny an-tsena - Rancher 2.2.

K8S Multicluster Journey

Tamin'ny dingana voalohany tamin'ny fikarohanay, ny Rancher Labs dia efa nanao ny famoahana voalohany ny dikan-teny 2, saingy na dia azo atsangana haingana aza izany amin'ny alΓ lan'ny fandefasana kaontenera tsy misy fiankinan-doha ivelany miaraka amin'ny masontsivana roa na amin'ny fampiasana ny tabilao HELM ofisialy, dia toa tsy misy dikany izany. ho anay, ary tsy fantatray raha afaka miantehitra amin'io fanapahan-kevitra io izahay na handroso na handao haingana. Ny cluster = paradigma clicks ao amin'ny UI ihany koa dia tsy nety taminay, ary tsy te-hifamatotra amin'ny RKE izahay, satria fitaovana mifantoka kokoa izy io. 

Version Rancher 2.2 dia efa nanana endrika azo ampiasaina kokoa ary, miaraka amin'ireo teo aloha, dia nanana endri-javatra mahaliana maro ivelan'ny boaty, toy ny fampidirana amin'ny mpamatsy ivelany maro, teboka tokana fizarana zo sy rakitra kubeconfig, fandefasana kubectl sary miaraka amin'ny zonao ao amin'ny UI, namespaces aka tetikasa. 

Nisy ihany koa ny vondrom-piarahamonina iray efa niforona manodidina ny Rancher 2, ary ny mpamatsy antsoina hoe HashiCorp Terraform dia noforonina hitantana izany, izay nanampy anay hametraka ny zava-drehetra.

Inona no nitranga

Vokatr'izany dia niafara tamin'ny cluster kely iray mihazakazaka Rancher izahay, azo idirana amin'ny cluster hafa rehetra, ary koa cluster maro mifandray amin'izany, ny fidirana amin'ny iray amin'izy ireo dia azo omena toy ny fampidirana mpampiasa amin'ny lahatahiry ldap, na inona na inona. aiza no misy azy ary ny loharanon'ny mpamatsy ampiasainy.

Amin'ny fampiasana gitlab-ci sy Terraform, dia nisy rafitra iray noforonina izay ahafahanao mamorona vondron'olona amin'ny rindrankajy rehetra amin'ny mpamatsy rahona na ny fotodrafitrasantsika manokana ary mampifandray azy ireo amin'ny Rancher. Izany rehetra izany dia atao amin'ny fomba IaC, izay ny cluster tsirairay dia faritana amin'ny tahiry iray, ary ny fanjakany dia versioned. Amin'izay fotoana izay ihany, ny ankamaroan'ny maody dia mifandray amin'ny tahiry ivelany ka ny hany sisa tavela dia ny mandalo ny fari-pahalalana na ny famaritana ny fanamafisam-peo manokana ho an'ny ohatra, izay manampy amin'ny fampihenana ny isan-jaton'ny famerimberenana kaody.

K8S Multicluster Journey

Mazava ho azy fa mbola lavitra ny diantsika ary mbola misy asa mahaliana maro ho avy, toy ny asa tokana miaraka amin'ny logs sy metrika amin'ny kluster rehetra, mesh serivisy, gitops amin'ny fitantanana enta-mavesatra amin'ny multicluster sy ny maro hafa. Manantena izahay fa mahaliana anao ny traikefanay! 

Ny lahatsoratra dia nosoratan'i A. Antipov, A. Ganush, Engineers Platform. 

Source: www.habr.com

Add a comment