K8S Multicluster Ulendo

Pa Habr!

Timayimira gulu la nsanja ya Exness. Poyamba, anzathu analemba kale nkhani za Zithunzi zokonzeka kupanga za k8s. Lero tikufuna kugawana zomwe takumana nazo pakusamukira ku Kubernetes.

K8S Multicluster Ulendo

Poyamba, tikukupatsirani manambala kuti mumvetsetse bwino zomwe zidzakambidwe:

  • Dipatimenti yathu yachitukuko imakhala ndi anthu 100+, kuphatikiza magulu opitilira 10 omwe ali ndi njira zodzidalira za QA, DevOps ndi Scrum. Zotukuka - Python, PHP, C++, Java ndi Golang. 
  • Kukula kwa malo oyesera ndi kupanga ndi pafupifupi zotengera 2000 chilichonse. Iwo akuthamanga Rancher v1.6 pa virtualization awo ndi pansi VMware. 

Chilimbikitso

Monga akunena, palibe chomwe chimakhala kwamuyaya, ndipo Rancher adalengeza kutha kwa chithandizo cha mtundu 1.6 kalekale. Inde, m’zaka zoposa zitatu taphunzira mmene tingakonzekerere ndi kuthetsa mavuto amene abuka, koma kaΕ΅irikaΕ΅iri timakumana ndi mavuto amene sadzawongoleredwa. Rancher 1.6 ilinso ndi ossified system yopereka ufulu, komwe mutha kuchita chilichonse kapena chilichonse.

Ngakhale kuyang'ana kwa eni eni kumapereka kuwongolera kwakukulu pakusungidwa kwa data ndi chitetezo chake, zidayika ndalama zogwirira ntchito zomwe zinali zovuta kuvomereza chifukwa chakukula kosalekeza kwa kampaniyo, kuchuluka kwa ma projekiti ndi zofunika kwa iwo.

Tinkafuna kutsatira miyezo ya IaC ndipo, ngati kuli kofunikira, tipeze mphamvu mwachangu, pamalo aliwonse komanso popanda loko ya ogulitsa, ndikuthanso kusiya mwachangu.

njira yoyamba

Choyamba, tinkafuna kudalira matekinoloje amakono ndi zothetsera zomwe zingalole kuti magulu azikhala ndi chitukuko chofulumira komanso kuchepetsa ndalama zogwirira ntchito kuti agwirizane ndi nsanja yomwe imapereka mphamvu. 
 
Inde, chinthu choyamba chimene chinabwera m'maganizo mwathu chinali Kubernetes, koma sitinasangalale ndipo tinafufuza pang'ono kuti tiwone ngati chinali chisankho choyenera. Tidangoyesa mayankho a opensource okha, ndipo pankhondo yopanda chilungamo, Kubernetes adapambana mopanda malire.  

Kenako panabwera funso losankha chida chopangira magulu. Tidayerekeza mayankho otchuka kwambiri: kops, kubespray, kubeadm.

Poyamba, kubeadm inkawoneka kwa ife kukhala njira yovuta kwambiri, monga ngati woyambitsa "njinga," ndipo kops analibe kusinthasintha kokwanira.

Ndipo wopambana anali:

K8S Multicluster Ulendo

Tinayamba kuyesa ma virtualization athu ndi AWS, kuyesera kupanganso china chake chofanana ndi kasamalidwe kathu kakale kazinthu, pomwe aliyense adagawana "gulu" lomwelo. Ndipo tsopano tili ndi gulu lathu loyamba la makina ang'onoang'ono 10, angapo omwe ali mu AWS. Tinayamba kuyesa kusamukira magulu kumeneko, zonse zinkawoneka ngati "zabwino", ndipo nkhaniyo ikhoza kutha, koma ...

Mavuto Oyamba

Ansible ndi zomwe kubespray imamangidwira, si chida chomwe chimakulolani kutsatira IaC: potumiza / kuchotsa ma node, chinachake sichikuyenda bwino ndipo mtundu wina wa kulowererapo unkafunika, ndipo pogwiritsa ntchito ma OS osiyanasiyana, playbook imachita mosiyana. . Pamene chiwerengero cha matimu ndi ma node mu cluster chinakula, tinayamba kuona kuti playbook ikutenga nthawi yayitali kuti ithe, ndipo zotsatira zake, mbiri yathu inali maola 3,5, nanga anu? πŸ™‚

Ndipo zikuwoneka ngati kubespray ndi Ansible, ndipo zonse zimamveka poyang'ana koyamba, koma:

K8S Multicluster Ulendo

Kumayambiriro kwa ulendowu, ntchitoyo inali kukhazikitsa mphamvu mu AWS komanso pa virtualization, koma, monga nthawi zambiri, zofunikira zinasintha.
 
K8S Multicluster UlendoK8S Multicluster Ulendo

Poganizira izi, zinaonekeratu kuti chitsanzo chathu chakale chophatikizira zinthu mu dongosolo limodzi la orchestration sichinali choyenera - pamene magulu ali kutali kwambiri ndipo amayendetsedwa ndi opereka osiyanasiyana. 

Zinanso. Magulu onse akamagwira ntchito m'gulu lomwelo, mautumiki osiyanasiyana omwe ali ndi NodeSelectors oyikiratu amatha kuwuluka kupita kwa gulu lina "lachilendo" ndikugwiritsa ntchito zothandizira kumeneko, ndipo ngati kuipitsidwa kudakhazikitsidwa, pamakhala zopempha nthawi zonse kuti ntchito imodzi kapena ina sikugwira ntchito, sichinagawidwe bwino chifukwa cha anthu. Vuto lina linali kuwerengera mtengo wake, makamaka poganizira za mavuto ogawa ntchito m’malo osiyanasiyana.

Nkhani yosiyana inali kuperekedwa kwa ufulu kwa ogwira ntchito: gulu lirilonse linkafuna kukhala "pamutu" wa gululo ndikuwongolera kwathunthu, zomwe zingayambitse kugwa kwathunthu, popeza maguluwo ali odziimira okhaokha.

Momwe mungakhalire?

Poganizira zomwe zili pamwambazi komanso zokhumba zamagulu kuti azikhala odziimira okha, tinapanga mfundo yosavuta: gulu limodzi - gulu limodzi. 

Kotero ife tiri ndi yachiwiri:

K8S Multicluster Ulendo

Ndiyeno tsango lachitatu: 

K8S Multicluster Ulendo

Kenako tinayamba kuganiza: tinene kuti pakatha chaka magulu athu adzakhala ndi magulu angapo? M'madera osiyanasiyana, mwachitsanzo, kapena pansi pa ulamuliro wa othandizira osiyanasiyana? Ndipo ena aiwo adzafuna kuti azitha kutumiza mwachangu gulu losakhalitsa pamayeso ena. 

K8S Multicluster Ulendo

Kubernetes athunthu abwera! Uwu ndi mtundu wina wa MultiKubernetes, zikuwoneka. 

Panthawi imodzimodziyo, tonse tidzafunika kusunga magulu onsewa mwanjira ina, kuti tizitha kuwongolera mosavuta, komanso kupanga zatsopano ndikuchotsa zakale popanda kulowererapo pamanja.

Patapita nthawi kuyambira chiyambi cha ulendo wathu ku Kubernetes, ndipo tinaganiza zowunikiranso njira zomwe zilipo. Zinapezeka kuti zilipo kale pamsika - Rancher 2.2.

K8S Multicluster Ulendo

Pa gawo loyamba la kafukufuku wathu, Rancher Labs anali atapanga kale kutulutsidwa koyamba kwa mtundu wa 2, koma ngakhale atha kukwezedwa mwachangu poyambitsa chidebe popanda kudalira kunja ndi magawo angapo kapena kugwiritsa ntchito Tchati chovomerezeka cha HELM, zikuwoneka ngati zopanda pake. kwa ife, ndipo sitinadziwe ngati tingadalire chisankho ichi ngati chidzakonzedwa kapena kusiyidwa mwamsanga. Cluster = clicks paradigm mu UI yokhayo sinatigwirizane ndi ife, ndipo sitinkafuna kukhala omangidwa ku RKE, chifukwa ndi chida chokhazikika kwambiri. 

Version Rancher 2.2 inali kale ndi mawonekedwe owoneka bwino ndipo, pamodzi ndi am'mbuyomu, anali ndi zinthu zambiri zosangalatsa kuchokera m'bokosilo, monga kuphatikiza ndi othandizira ambiri akunja, gawo limodzi logawa ufulu ndi mafayilo a kubeconfig, kuyambitsa kubectl. chithunzi ndi ufulu wanu mu UI, nested namespaces aka project. 

Panalinso gulu lomwe lidapangidwa kale kuzungulira Rancher 2, ndipo wothandizira wotchedwa HashiCorp Terraform adapangidwa kuti aziwongolera, zomwe zidatithandiza kuyika zonse pamodzi.

Chinachitika ndi chiyani

Zotsatira zake, tidakhala ndi gulu limodzi laling'ono lomwe likuyenda Rancher, lopezeka kumagulu ena onse, komanso masango ambiri olumikizidwa nawo, mwayi wopeza chilichonse chomwe chingaperekedwe monga kungowonjezera wogwiritsa ntchito ku bukhu la ldap, mosasamala kanthu za zomwe angachite. komwe ili ndi zothandizira zomwe zimagwiritsa ntchito.

Pogwiritsa ntchito gitlab-ci ndi Terraform, dongosolo linapangidwa lomwe limakupatsani mwayi wopanga gulu la kasinthidwe kalikonse mwaopereka mitambo kapena zida zathu zomwe ndikuwalumikiza ku Rancher. Zonsezi zimachitika mu kalembedwe ka IaC, komwe gulu lililonse limafotokozedwa ndi chosungira, ndipo dziko lake limasinthidwa. Nthawi yomweyo, ma module ambiri amalumikizidwa kuchokera kuzinthu zakunja kotero kuti zonse zomwe zatsala ndikudutsa zosintha kapena kufotokozera makonzedwe anu anthawi zina, zomwe zimathandizira kuchepetsa kuchuluka kwa kubwereza kachidindo.

K8S Multicluster Ulendo

Zachidziwikire, ulendo wathu sunathe ndipo pali ntchito zambiri zosangalatsa kutsogolo, monga malo amodzi ogwirira ntchito okhala ndi zipika ndi ma metrics amagulu aliwonse, mauna amtundu uliwonse, ma gitops owongolera katundu mumagulu ambiri ndi zina zambiri. Tikukhulupirira kuti mwapeza zomwe takumana nazo kukhala zosangalatsa! 

Nkhaniyi inalembedwa ndi A. Antipov, A. Ganush, Platform Engineers. 

Source: www.habr.com

Kuwonjezera ndemanga