Huakai Huihui K8S

E Habr!

Hoʻohālikelike mākou i ka hui platform Exness. Ma mua, ua kākau mua kā mākou mau hoa hana i kahi ʻatikala e pili ana Nā kiʻi i hoʻomākaukau ʻia no k8s. I kēia lā makemake mākou e kaʻana like i kā mākou ʻike no ka neʻe ʻana i nā lawelawe i Kubernetes.

Huakai Huihui K8S

No ka hoʻomaka ʻana, hāʻawi mākou iā ʻoe i kekahi mau helu no ka hoʻomaopopo maikaʻi ʻana i ka mea e kūkākūkā ʻia:

  • ʻO kā mākou keʻena hoʻomohala he 100+ poʻe, me ka ʻoi aku o 10 mau hui like ʻole me nā kaʻina hana ponoʻī QA, DevOps a me Scrum. Pūʻulu hoʻomohala - Python, PHP, C++, Java a me Golang. 
  • ʻO ka nui o ka hoʻāʻo a me ka hana ʻana ma kahi o 2000 pahu i kēlā me kēia. Ke holo nei lākou i ka Rancher v1.6 ma kā lākou virtualization ponoʻī a ma lalo o VMware. 

Hoʻokumu

E like me kā lākou e ʻōlelo nei, ʻaʻohe mea mau loa, a ua hoʻolaha ʻo Rancher i ka hopena o ke kākoʻo no ka mana 1.6 i kahi manawa lōʻihi. ʻAe, i loko o ʻekolu mau makahiki ua aʻo mākou i ka hoʻomākaukau ʻana a me ka hoʻoponopono ʻana i nā pilikia e kū mai ana, akā ʻoi aku ka nui o nā pilikia i hiki ʻole ke hoʻoponopono ʻia. Loaʻa iā Rancher 1.6 kahi ʻōnaehana ossified no ka hoʻopuka ʻana i nā kuleana, kahi hiki iā ʻoe ke hana i nā mea āpau a i ʻole.

ʻOiai ua hāʻawi ka virtualization proprietary i ka mana o ka mālama ʻana i ka ʻikepili a me kona palekana, ua kau ʻia nā kumukūʻai hana i paʻakikī ke ʻae ʻia i ka ulu mau ʻana o ka ʻoihana, ka nui o nā papahana a me nā koi no lākou.

Makemake mākou e hahai i nā kūlana IaC a, inā pono, e kiʻi koke i ka hiki, ma nā wahi āpau a me ka laka ʻole o ka mea kūʻai aku, a hiki ke haʻalele koke iā ia.

mua 'anuʻu

ʻO ka mea mua, makemake mākou e hilinaʻi i nā ʻenehana hou a me nā hoʻonā e hiki ai i nā hui ke loaʻa i kahi pōʻai hoʻomohala wikiwiki a hoʻemi i nā kumukūʻai hana no ka launa pū ʻana me ke kahua e hāʻawi ai i ka mana. 
 
ʻOiaʻiʻo, ʻo ka mea mua i komo i ko mākou manaʻo ʻo Kubernetes, akā ʻaʻole mākou i hauʻoli a hana i kahi noiʻi liʻiliʻi e ʻike inā ʻo ia ke koho kūpono. Ua loiloi mākou i nā hāʻina opensource wale nō, a ma ke kaua kūpono ʻole, lanakila ʻo Kubernetes me ka ʻole.  

A laila hele mai ka nīnau no ke koho ʻana i kahi mea hana no ka hana ʻana i nā pūʻulu. Ua hoʻohālikelike mākou i nā hopena kaulana loa: kops, kubespray, kubeadm.

No ka hoʻomaka ʻana, ua like ka kubeadm iā mākou he ala paʻakikī loa, e like me ke ʻano o ka mea hoʻomohala o ka "paakeke," a ʻaʻole lawa ka maʻalahi o kops.

A ʻo ka mea lanakila:

Huakai Huihui K8S

Ua hoʻomaka mākou e hoʻokolohua me kā mākou virtualization a me AWS, e hoʻāʻo ana e hana hou i kahi mea like me kā mākou kumu hoʻokele waiwai mua, kahi i kaʻana like ai nā mea a pau i ka "cluster." A i kēia manawa ua loaʻa iā mākou kā mākou hui mua o 10 mau mīkini liʻiliʻi liʻiliʻi, aia kekahi mau mea ma AWS. Ua hoʻomaka mākou e hoʻāʻo e neʻe i nā hui ma laila, ua like nā mea āpau "maikaʻi", a hiki ke hoʻopau ʻia ka moʻolelo, akā ...

Nā pilikia mua

ʻO Ansible ka mea i kūkulu ʻia ai ʻo kubespray, ʻaʻole ia he mea hana e hiki ai iā ʻoe ke hahai iā IaC: i ka wā e hoʻokō ai/decommissioning nodes, hewa mau kekahi mea a koi ʻia kekahi ʻano hana, a i ka hoʻohana ʻana i nā OS ʻokoʻa, ʻokoʻa ke ʻano o ka playbook. . I ka ulu ʻana o ka nui o nā hui a me nā node o ka puʻupuʻu, ua hoʻomaka mākou e ʻike i ka lōʻihi o ka hoʻopau ʻana o ka puke pāʻani, a ʻo ka hopena, he 3,5 mau hola kā mākou moʻolelo, pehea kāu? 🙂

A me he mea lā he Ansible wale nō ka kubespray, a maopopo nā mea a pau i ka nānā mua ʻana, akā:

Huakai Huihui K8S

I ka hoʻomaka ʻana o ka huakaʻi, ʻo ka hana ka hoʻomaka ʻana i nā mana wale nō ma AWS a ma ka virtualization, akā a laila, e like me ka manawa pinepine, ua loli nā koi.
 
Huakai Huihui K8SHuakai Huihui K8S

Ma muli o kēia, ua ʻike ʻia ʻaʻole kūpono kā mākou ʻano kahiko o ka hoʻohui ʻana i nā kumuwaiwai i hoʻokahi ʻōnaehana orchestration - i ka hihia kahi mamao loa nā pūpū a mālama ʻia e nā mea hoʻolako like ʻole. 

ʻO nā mea hou aku. Ke hana nā hui a pau i loko o ka puʻupuʻu hoʻokahi, hiki i nā lawelawe like ʻole me nā NodeSelectors i hoʻokomo hewa ʻia ke lele i ka pūʻali "haole" o kahi hui ʻē aʻe a hoʻohana i nā kumuwaiwai ma laila, a inā i hoʻopaʻa ʻia, aia nā noi mau ʻaʻole e holo ana kekahi lawelawe. ʻaʻole i puunaue pono ʻia ma muli o ke kumu kanaka. ʻO kekahi pilikia ʻo ka helu ʻana i ke kumukūʻai, ʻoi aku ka noʻonoʻo ʻana i nā pilikia i ka hāʻawi ʻana i nā lawelawe ma nā nodes.

ʻO kahi moʻolelo ʻokoʻa ka hāʻawi ʻana i nā kuleana i nā limahana: makemake kēlā me kēia hui e "ma ke poʻo" o ka hui a mālama pono iā ia, hiki ke hāʻule piha, no ka mea, kūʻokoʻa nā hui i kekahi i kekahi.

Pehea e lilo ai?

Ma ka noʻonoʻo ʻana i nā mea i luna a me nā makemake o nā hui e kūʻokoʻa, ua hana mākou i kahi hopena maʻalahi: hoʻokahi hui - hoʻokahi puʻupuʻu. 

No laila ua loaʻa iā mākou ka lua:

Huakai Huihui K8S

A laila ʻo ke kolu o ka hui: 

Huakai Huihui K8S

A laila hoʻomaka mākou e noʻonoʻo: e ʻōlelo mākou i loko o hoʻokahi makahiki e loaʻa i kā mākou mau hui i ʻoi aku ma mua o hoʻokahi puʻupuʻu? Ma nā wahi ʻāina like ʻole, no ka laʻana, a i ʻole ma lalo o ka mana o nā mea hoʻolako like ʻole? A makemake kekahi o lākou e hiki ke hoʻonohonoho koke i kahi puʻupuʻu pōkole no kekahi mau hoʻokolohua. 

Huakai Huihui K8S

E hele mai ana nā Kubernetes piha! ʻO kēia kekahi ʻano MultiKubernetes, ʻike ʻia. 

I ka manawa like, pono mākou e mālama i kēia mau puʻupuʻu āpau, hiki ke maʻalahi i ke komo ʻana iā lākou, a me ka hana ʻana i nā mea hou a hoʻopau i nā mea kahiko me ka ʻole o ka hana lima.

Ua hala kekahi manawa mai ka hoʻomaka ʻana o kā mākou huakaʻi i ka honua o Kubernetes, a ua hoʻoholo mākou e nānā hou i nā hopena i loaʻa. Ua ʻike ʻia aia ma ka mākeke - Rancher 2.2.

Huakai Huihui K8S

I ka pae mua o kā mākou noiʻi, ua hana mua ʻo Rancher Labs i ka hoʻokuʻu mua ʻana o ka mana 2, akā ʻoiai hiki ke hoʻāla koke ʻia ma ka hoʻokuʻu ʻana i kahi pahu me ka ʻole o ka hilinaʻi o waho me nā ʻāpana ʻelua a i ʻole ka hoʻohana ʻana i ka Helm Chart mana, ua like ia me he mea ʻino. iā mākou, a ʻaʻole mākou i ʻike inā hiki iā mākou ke hilinaʻi i kēia hoʻoholo inā e kūkulu ʻia a haʻalele koke ʻia paha. ʻAʻole i kūpono ka cluster = clicks paradigm i ka UI ponoʻī iā mākou, a ʻaʻole makemake mākou e hoʻopaʻa ʻia iā RKE, no ka mea, he mea paʻa loa ia. 

Ua loaʻa i ka Version Rancher 2.2 kahi hiʻohiʻona ʻoi aku ka hana a, me nā mea ma mua, ua loaʻa i kahi pūʻulu o nā hiʻohiʻona hoihoi i waho o ka pahu, e like me ka hoʻohui ʻana me nā mea hoʻolako waho he nui, hoʻokahi wahi o ka hāʻawi ʻana i nā kuleana a me nā faila kubeconfig, e hoʻomaka ana i kahi kubectl kiʻi me kāu mau kuleana ma ka UI, nā nested namespaces aka papahana. 

Aia kekahi kaiāulu i hoʻokumu ʻia a puni ʻo Rancher 2, a ua hana ʻia kahi mea hoʻolako i kapa ʻia ʻo HashiCorp Terraform e hoʻokele iā ia, i kōkua iā mākou e hoʻohui i nā mea āpau.

He aha lā

ʻO ka hopena, ua hoʻopau mākou i hoʻokahi puʻupuʻu liʻiliʻi e holo ana i ka Rancher, hiki ke loaʻa i nā pūʻulu ʻē aʻe a pau, a me nā hui he nui e pili ana iā ia, hiki ke ʻae ʻia i kekahi o ia mau mea e like me ka hoʻohui ʻana i kahi mea hoʻohana i ka papa kuhikuhi ldap, me ka nānā ʻole kahi i loaʻa ai a me nā kumuwaiwai a ka mea hoʻolako e hoʻohana ai.

Ke hoʻohana nei i ka gitlab-ci a me Terraform, ua hana ʻia kahi ʻōnaehana e hiki ai iā ʻoe ke hana i kahi pūʻulu o kekahi hoʻonohonoho i nā mea hoʻolako kapua a i kā mākou pono ponoʻī a hoʻopili iā lākou i Rancher. Hana ʻia kēia a pau ma ke ʻano IaC, kahi i wehewehe ʻia kēlā me kēia puʻupuʻu e kahi waihona, a ua hoʻololi ʻia kona mokuʻāina. I ka manawa like, hoʻopili ʻia ka hapa nui o nā modula mai nā waihona o waho a ʻo nā mea i koe e hele i nā mea hoʻololi a wehewehe paha i kāu hoʻonohonoho maʻamau no nā manawa, e kōkua ana i ka hōʻemi ʻana i ka pākēneka o ka hana hou ʻana i nā code.

Huakai Huihui K8S

ʻOiaʻiʻo, mamao loa kā mākou huakaʻi a he nui nā hana hoihoi ma mua, e like me kahi wahi o ka hana me nā lāʻau a me nā ana o kēlā me kēia puʻupuʻu, lawelawe mesh, gitops no ka mālama ʻana i nā ukana i loko o kahi multicluster a ʻoi aku. Manaʻo mākou e ʻike ʻoe i kā mākou ʻike hoihoi! 

Ua kākau ʻia ka ʻatikala e A. Antipov, A. Ganush, Platform Engineers. 

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka