K8S Multicluster Journey

Hei Habr!

Ko matou hei kanohi mo te roopu papaahi o Exness. I mua, kua tuhia e o maatau hoa he tuhinga mo Ko nga whakaahua kua rite mo te k8s. I tenei ra e hiahia ana matou ki te whakapuaki i o maatau wheako mo te hekenga ratonga ki Kubernetes.

K8S Multicluster Journey

Hei timata, ka tukuna atu e matou etahi nama kia pai ake te maarama ki nga korero ka korerohia:

  • Ko ta maatau tari whanaketanga he 100+ nga taangata, tae atu ki te 10 nga roopu rereke me nga tikanga QA, DevOps me Scrum. Tapae whanaketanga - Python, PHP, C++, Java me Golang. 
  • Ko te rahi o nga waahi whakamatautau me nga waahi whakaputa e tata ana ki te 2000 ipu ia ia. Kei te whakahaere ratou i te Rancher v1.6 i runga i a raatau ake mariko me raro i te VMware. 

Te whakatenatena

I a raatau e kii ana, kaore he mea e mau tonu ana, a kua kii a Rancher i te mutunga o te tautoko mo te putanga 1.6 kua roa noa atu. Ae, i roto i nga tau e toru neke atu i te toru kua ako matou ki te whakarite me te whakaoti rapanga ka ara ake, engari he maha tonu nga wa ka pa ki nga raru e kore e taea te whakatika. Kei te Rancher 1.6 ano he punaha ossified mo te tuku motika, ka taea e koe te mahi tata katoa, kaore ranei.

Ahakoa ko te marikotanga rangatira i nui ake te mana whakahaere mo te rokiroki raraunga me tona haumarutanga, i utaina nga utu whakahaere he uaua ki te whakaae na te tipu tonu o te kamupene, te maha o nga kaupapa me nga whakaritenga mo ratou.

I hiahia matou ki te whai i nga paerewa IaC, a, ki te tika, kia tere tere, ki tetahi waahi matawhenua me te kore he raka kaihoko, ka taea hoki te whakarere tere.

kaupae tuatahi

Tuatahi, i hiahia matou ki te whakawhirinaki ki nga hangarau hou me nga otinga e taea ai e nga kapa te tere ake te huringa whanaketanga me te whakaiti i nga utu whakahaere mo te taunekeneke ki te papaaho e whakarato ana i te mana. 
 
Ko te tikanga, ko te mea tuatahi i puta mai ki o maatau whakaaro ko Kubernetes, engari kaore matou i hikaka me te mahi rangahau iti ki te kite mena ko te whiriwhiri tika. I arotakehia e matou anake nga otinga tuwhera, a, i roto i te pakanga kore tika, i toa a Kubernetes.  

I muri mai ko te patai mo te whiriwhiri taputapu mo te hanga tautau. I whakatauritea e matou nga otinga tino rongonui: kops, kubespray, kubeadm.

Hei tiimata, ko te ahua o te kubeadm he huarahi uaua rawa atu, he rite tonu ki te ahua o te kaihopu o te "pahikara," a kaore i tino pai te kops.

Na ko te toa:

K8S Multicluster Journey

I timata matou ki te whakamatau i a maatau ake mariko me te AWS, e ngana ana ki te hanga ano i tetahi mea e rite ana ki ta maatau tauira whakahaere rauemi o mua, he rite tonu te "cluster" o te katoa. Inaianei kei a maatau te roopu tuatahi o nga miihini mariko iti 10, he tokorua kei roto i te AWS. I timata matou ki te nuku kapa ki reira, he ahua pai nga mea katoa, ka mutu pea te korero, engari...

Nga Raruraru Tuatahi

Ko Ansible te mea i hangaia ai te kubespray, ehara i te mea he taputapu e taea ai e koe te whai i a IaC: i te wa e tono ana/whakawete ana i nga pona, i hee tonu tetahi mea ka hiahiatia etahi momo wawaotanga, a i te wa e whakamahi ana i nga OS rereke, he rereke te ahua o te pukapuka takaro. . I te pikinga ake o te maha o nga kapa me nga node i roto i te roopu, ka kite matou he roa ake te roa o te mahi o te pukapuka takaro, na reira, 3,5 haora to matou rekoata, me pehea koe? 🙂

A ko te ahua he Ansible noa te kubespray, a he maamaa nga mea katoa i te titiro tuatahi, engari:

K8S Multicluster Journey

I te timatanga o te haerenga, ko te mahi ko te whakarewa i nga kaha i roto i te AWS me te mariko, engari katahi ano ka huri nga whakaritenga.
 
K8S Multicluster JourneyK8S Multicluster Journey

I runga i tenei, ka kitea ko ta maatau tauira tawhito mo te whakakotahi i nga rauemi ki roto i te punaha whakahiato kotahi kaore i te pai - i te mea he tawhiti rawa nga tautau, kei te whakahaerehia e nga kaiwhakarato rereke. 

I tua atu. Ina mahi nga kapa katoa i roto i te kahui kotahi, ka rere nga momo ratonga me nga NodeSelectors kua hee te whakauru ki te kaihautu "ke" o tetahi atu kapa ka whakamahi rauemi ki reira, a, ki te mea kua tauhia he kopa, he tono tonu kia kore e mahi tetahi, tetahi atu ratonga ranei, kaore i tika te tohatoha na te take tangata. Ko tetahi atu raruraru ko te tatau i te utu, ina koa ko te whakaaro ki nga raru o te tohatoha ratonga puta noa i nga waahanga.

Ko tetahi korero motuhake ko te tuku motika ki nga kaimahi: i hiahia ia kapa ki te "ki te upoko" o te roopu me te whakahaere katoa, tera pea ka hinga katoa, na te mea he tino motuhake nga roopu.

Me pehea?

I runga i te whakaaro ki runga ake nei me nga hiahia o nga kapa kia noho motuhake ake, ka whakatauhia e matou: kotahi te kapa - kotahi te roopu. 

Na ka whiwhi tatou i te tuarua:

K8S Multicluster Journey

Na ko te tuatoru o nga tautau: 

K8S Multicluster Journey

Na ka timata matou ki te whakaaro: me kii tatou i roto i te tau ka nui ake i te kotahi te roopu o a tatou kapa? I nga waahi matawhenua rereke, hei tauira, i raro ranei i te mana o nga kaiwhakarato rereke? A ko etahi o ratou ka hiahia kia tere te tuku i tetahi kahui rangitahi mo etahi whakamatautau. 

K8S Multicluster Journey

Ka tae mai nga Kubernetes katoa! Ko etahi momo MultiKubernetes tenei, ka puta. 

I te wa ano, me pupuri katoa tatou i enei tautau katoa, kia ngawari ki te whakahaere uru ki a raatau, me te hanga i nga mea hou me te whakakore i nga mea tawhito kaore he wawaotanga a-ringa.

Kua pahemo etahi wa mai i te timatanga o to matou haerenga ki te ao o Kubernetes, a ka whakatau matou ki te tirotiro ano i nga otinga e waatea ana. I puta ke kua noho tonu i runga i te maakete - Rancher 2.2.

K8S Multicluster Journey

I te wahanga tuatahi o ta maatau rangahau, kua puta kee a Rancher Labs te putanga tuatahi o te putanga 2, engari ahakoa ka tere te whakaara ma te whakarewa i tetahi ipu karekau he herenga o waho me nga tawhā e rua, ma te whakamahi ranei i te Tutohi HELM mana, he ahua kino. ki a matou, a kaore matou i mohio mena ka taea e matou te whakawhirinaki ki tenei whakatau mehemea ka whakawhanakehia, ka tere whakarere ranei. Ko te tautau = pao tauira i roto i te UI ano kaore i pai ki a maatau, a kaore matou i pai kia herea ki te RKE, na te mea he taputapu tino whaiti. 

Ko te Putanga Rancher 2.2 he ahua pai ake, a, me nga mea o mua, he maha nga ahuatanga whakamere mai i te pouaka, penei i te whakauru ki nga kaiwhakarato maha o waho, he waahi kotahi mo te tohatoha o nga mana me nga konae kubeconfig, te whakarewa i te kubectl whakaahua me o motika i roto i te UI, nga mokowā ingoa kohanga aka kaupapa. 

He hapori ano kua hanga ki te taha o Rancher 2, a i hangaia he kaiwhakarato ko HashiCorp Terraform hei whakahaere, i awhina i a matou ki te whakakotahi i nga mea katoa.

He aha te mea i tupu

Ko te mutunga mai, ka mutu tetahi kahui iti e whakahaere ana i te Rancher, ka taea e etahi atu tautau katoa, me te maha o nga tautau e hono ana ki a ia, te uru ki tetahi o enei ka taea te tuku pera me te taapiri i tetahi kaiwhakamahi ki te raarangi ldap, ahakoa he aha. kei hea te waahi me nga rauemi a te kaiwhakarato e whakamahia ana e ia.

Ma te whakamahi i te gitlab-ci me te Terraform, i hangaia he punaha ka taea e koe te hanga i tetahi huinga o tetahi whirihoranga i roto i nga kaiwhakarato kapua, i a maatau ake hanganga ranei ka hono atu ki a Rancher. Ka mahia enei mea katoa i roto i te ahua IaC, ka whakaahuahia ia kahui e tetahi putunga, ka whakaputahia tona ahua. I te wa ano, ko te nuinga o nga waahanga e hono ana mai i nga putunga o waho, ko nga mea e toe ana ko te whakawhiti i nga taurangi, te whakaahua ranei i to whirihoranga ritenga mo etahi waa, ka awhina i te whakaiti i te ōrau o te tukurua waehere.

K8S Multicluster Journey

Ae ra, kei tawhiti atu to maatau haerenga, he maha tonu nga mahi whakamere kei mua i te aroaro, penei i te waahi mahi kotahi me nga rakau me nga inenga o tetahi kapoi, maa ratonga, gitops mo te whakahaere i nga kawenga i roto i te roopu maha me te maha atu. Ko te tumanako ka kitea e koe he mea whakamere to maatau wheako! 

Ko te tuhinga i tuhia e A. Antipov, A. Ganush, Platform Engineers. 

Source: will.com

Tāpiri i te kōrero