K8S Multicluster Tafiya

Hai Habr!

Muna wakiltar ƙungiyar dandalin Exness. A baya can, abokan aikinmu sun riga sun rubuta labarin game da Hotunan shirye-shiryen samarwa don k8s. A yau muna so mu raba kwarewar mu na ayyukan ƙaura zuwa Kubernetes.

K8S Multicluster Tafiya

Da farko, muna ba ku wasu lambobi don ƙarin fahimtar abin da za a tattauna:

  • Sashen ci gaban mu ya ƙunshi mutane 100+, gami da ƙungiyoyi daban-daban sama da 10 tare da QA masu dogaro da kansu, DevOps da Scrum. Tarin ci gaba - Python, PHP, C++, Java da Golang. 
  • Girman yanayin gwaji da samarwa shine kusan kwantena 2000 kowanne. Suna gudanar da Rancher v1.6 akan nasu na'ura kuma a ƙarƙashin VMware. 

Motsawa

Kamar yadda suke faɗa, babu abin da ke dawwama har abada, kuma Rancher ya sanar da ƙarshen goyan bayan sigar 1.6 da daɗewa. Haka ne, a cikin fiye da shekaru uku mun koyi yadda ake shirya shi da kuma magance matsalolin da suka taso, amma sau da yawa muna fuskantar matsalolin da ba za a iya gyara su ba. Rancher 1.6 shima yana da tsarin ba da hakki, inda zaku iya yin kusan komai ko komai.

Ko da yake ƙwaƙƙwaran mallakar mallaka ya ba da iko mafi girma akan ajiyar bayanai da tsaro, ya sanya farashin aiki waɗanda ke da wahalar karɓa idan aka yi la'akari da ci gaban da kamfani ke ci gaba da samu, yawan ayyuka da buƙatun su.

Muna son bin ka'idodin IaC kuma, idan ya cancanta, samun ƙarfi cikin sauri, a kowane wuri kuma ba tare da kulle mai siyarwa ba, kuma mu iya yin watsi da shi da sauri.

farko matakai

Da farko, muna so mu dogara ga fasahar zamani da mafita waɗanda za su ba da damar ƙungiyoyi su sami saurin ci gaba da sauri da kuma rage farashin aiki don yin hulɗa tare da dandalin da ke ba da wutar lantarki. 
 
Tabbas, abu na farko da ya zo a zuciyarmu shi ne Kubernetes, amma ba mu yi farin ciki ba kuma muka yi ɗan bincike don ganin ko zaɓin da ya dace. Mun kimanta hanyoyin buɗe tushen kawai, kuma a cikin rashin adalci, Kubernetes ya ci nasara ba tare da wani sharadi ba.  

Na gaba tambaya ta zo na zabar kayan aiki don ƙirƙirar gungu. Mun kwatanta mafi mashahuri mafita: kops, kubespray, kubeadm.

Da farko, kubeadm kamar a gare mu ya kasance mai rikitarwa ta hanya, maimakon wani nau'in mai ƙirƙira "keke," kuma kops ba su da isasshen sassauci.

Kuma wanda yayi nasara shine:

K8S Multicluster Tafiya

Mun fara gwaji tare da namu natsuwa da AWS, muna ƙoƙarin sake ƙirƙirar wani abu mai kama da tsarin sarrafa albarkatun mu na baya, inda kowa ya raba "tarin." Kuma yanzu muna da gungu na farko na ƙananan injunan kama-da-wane guda 10, wasu biyun suna cikin AWS. Mun fara ƙoƙarin ƙaura ƙungiyoyi a can, duk abin da ya yi kama da "mai kyau", kuma ana iya gama labarin, amma ...

Matsalolin Farko

Mai yiwuwa ne abin da aka gina kubespray a kai, ba kayan aiki ba ne wanda ke ba ka damar bin IaC: lokacin ƙaddamarwa / ƙaddamar da nodes, wani abu ya ci gaba da kuskure kuma ana buƙatar wani nau'i na tsoma baki, kuma lokacin amfani da OSes daban-daban, littafin wasan kwaikwayo ya bambanta. . Yayin da adadin ƙungiyoyi da nodes a cikin gungu ya ƙaru, mun fara lura cewa littafin wasan yana ɗaukar lokaci mai tsawo da tsayi don kammalawa, kuma sakamakon haka, rikodin mu ya kasance awanni 3,5, naku fa? 🙂

Kuma ga alama kubespray ne kawai Mai yiwuwa, kuma komai ya bayyana a farkon kallo, amma:

K8S Multicluster Tafiya

A farkon tafiya, aikin shine ƙaddamar da damar kawai a cikin AWS da kuma a kan haɓakawa, amma sai, kamar yadda sau da yawa ya faru, buƙatun sun canza.
 
K8S Multicluster TafiyaK8S Multicluster Tafiya

Dangane da wannan, ya bayyana a fili cewa tsohon tsarinmu na haɗa albarkatu zuwa tsarin ƙungiyar kade-kade ɗaya bai dace ba - a yanayin da ƙungiyoyin ke da nisa sosai kuma masu samarwa daban-daban ke sarrafa su. 

Ƙarin ƙari. Lokacin da duk ƙungiyoyi ke aiki a cikin gungu ɗaya, ayyuka daban-daban tare da shigar da ba daidai ba NodeSelectors na iya tashi zuwa rukunin "baƙi" na wata ƙungiya kuma suyi amfani da albarkatu a can, kuma idan an saita taint, akwai buƙatun akai-akai cewa ɗayan ko wani sabis ɗin baya aiki. ba a rarraba shi daidai saboda yanayin ɗan adam. Wata matsala kuma ita ce ƙididdige farashi, musamman idan aka yi la'akari da matsalolin rarraba ayyuka a cikin nodes.

Wani labarin daban shine bayar da haƙƙin ma'aikata: kowane ƙungiya yana so ya kasance "a kan" gungu kuma ya sarrafa shi gaba ɗaya, wanda zai iya haifar da rugujewa gabaɗaya, tunda ƙungiyoyin sun kasance masu zaman kansu da juna.

Yadda za a kasance?

Yin la'akari da abin da ke sama da kuma buri na ƙungiyoyi don samun 'yancin kai, mun yanke hukunci mai sauƙi: ƙungiya ɗaya - tari ɗaya. 

Don haka mun sami na biyu:

K8S Multicluster Tafiya

Sai kuma gungu na uku: 

K8S Multicluster Tafiya

Sai muka fara tunani: bari mu ce a cikin shekara ƙungiyoyin mu za su sami gungu fiye da ɗaya? A cikin yankuna daban-daban, alal misali, ko ƙarƙashin ikon masu samarwa daban-daban? Kuma wasu daga cikinsu za su so su iya hanzarta tura gungu na wucin gadi don wasu gwaje-gwaje. 

K8S Multicluster Tafiya

Cikakken Kubernetes zai zo! Wannan wani nau'i ne na MultiKubernetes, ya bayyana. 

Har ila yau, dukkanmu za mu buƙaci ko ta yaya mu kula da duk waɗannan gungu, mu sami damar sarrafa damar shiga cikin su cikin sauƙi, tare da ƙirƙira sababbi da soke tsoffin ba tare da sa hannun hannu ba.

Wani lokaci ya wuce tun farkon tafiyarmu a duniyar Kubernetes, kuma mun yanke shawarar sake nazarin hanyoyin da ake da su. Ya juya cewa ya riga ya wanzu akan kasuwa - Rancher 2.2.

K8S Multicluster Tafiya

A matakin farko na bincikenmu, Rancher Labs ya riga ya fara sakin sigar 2 na farko, amma duk da cewa ana iya haɓaka shi da sauri ta hanyar ƙaddamar da akwati ba tare da dogaro na waje ba tare da ma'auni guda biyu ko amfani da Chart na HELM na hukuma, yana da alama danye. a gare mu, kuma ba mu sani ba ko za mu iya dogara da wannan shawarar ko za a bunkasa ko kuma a yi watsi da shi da sauri. Tarin = danna madaidaicin a cikin UI da kanta shima bai dace da mu ba, kuma ba ma son zama daure da RKE, tunda kayan aiki ne mai kunkuntar. 

Siffar Rancher 2.2 ta riga ta sami ƙarin bayyanar aiki kuma, tare da waɗanda suka gabata, suna da tarin abubuwa masu ban sha'awa daga cikin akwatin, kamar haɗin kai tare da masu samar da waje da yawa, aya guda na rarraba haƙƙoƙi da fayilolin kubeconfig, ƙaddamar da kubectl. Hoto tare da haƙƙoƙinku a cikin UI, wuraren suna da aka gina da ayyukan. 

Akwai kuma wata al'umma da aka riga aka kafa a kusa da Rancher 2, kuma an ƙirƙiri wani mai ba da sabis mai suna HashiCorp Terraform don sarrafa ta, wanda ya taimaka mana wajen haɗa komai.

Me ya faru

Sakamakon haka, mun ƙare tare da ƙaramin gungu guda ɗaya wanda ke gudana Rancher, mai isa ga duk sauran gungu, da kuma gungu da yawa da ke da alaƙa da shi, samun damar yin amfani da kowane ɗayan waɗanda za a iya ba da damar kawai kamar ƙara mai amfani a cikin ldap directory, ba tare da la'akari da shi ba. inda yake da kuma wadanne albarkatun mai bayarwa yake amfani da shi.

Yin amfani da gitlab-ci da Terraform, an ƙirƙiri tsarin da ke ba ku damar ƙirƙirar gungu na kowane tsari a cikin masu samar da girgije ko kayan aikin mu kuma ku haɗa su zuwa Rancher. Ana yin duk wannan a cikin salon IaC, inda kowane gungu aka kwatanta ta wurin ma'ajiya, kuma an tsara yanayinsa. A lokaci guda, yawancin kayayyaki ana haɗa su daga ma'ajiyar waje ta yadda duk abin da ya rage shi ne ƙetare sauye-sauye ko bayyana tsarin tsarin ku na al'ada don misalai, wanda ke taimakawa rage yawan yawan maimaita lambar.

K8S Multicluster Tafiya

Tabbas, tafiyarmu ta yi nisa kuma har yanzu akwai ayyuka masu ban sha'awa da yawa a gaba, kamar su aya guda ɗaya na aiki tare da rajistan ayyukan da ma'auni na kowane gungu, layin sabis, gitops don sarrafa kaya a cikin multicluster da ƙari mai yawa. Muna fatan kun sami kwarewarmu mai ban sha'awa! 

A. Antipov, A. Ganush, Injiniya Platform ne ya rubuta labarin. 

source: www.habr.com

Add a comment