ʻO Dailymotion ʻo Kubernetes: hoʻokumu ʻana i nā ʻōnaehana ma ke ao + ma ka hale

ʻO Dailymotion ʻo Kubernetes: hoʻokumu ʻana i nā ʻōnaehana ma ke ao + ma ka hale

Nānā. unuhi.: ʻO Dailymotion kekahi o nā lawelawe hoʻolaha wikiō nui loa o ka honua a no laila he mea hoʻohana kaulana ʻo Kubernetes. Ma kēia mea, hōʻike ka mea kākau ʻōnaehana ʻo David Donchez i nā hopena o ka hoʻokumu ʻana i ka papa hana o ka hui ma muli o K8s, i hoʻomaka me kahi hoʻonohonoho ʻana i ke ao ma GKE a hoʻopau ʻia ma ke ʻano he hopena hybrid, i ʻae ʻia i nā manawa pane maikaʻi a me ka mālama ʻana i nā kumukūʻai ʻoihana.

Ke hoʻoholo nei e kūkulu hou i ka Core API Dailymotion ʻekolu makahiki i hala aku nei, makemake mākou e hoʻomohala i kahi ala ʻoi aku ka maikaʻi e hoʻokipa i nā noi a maʻalahi nā hana i ka hoʻomohala ʻana a me ka hana ʻana. No kēia kumu, ua hoʻoholo mākou e hoʻohana i kahi paepae orchestration ipu a koho maoli iā Kubernetes.

No ke aha e pono ai ke kūkulu ʻana i kāu kahua ponoʻī e pili ana iā Kubernetes?

API no ka pae hana ʻana me ka hoʻohana ʻana i ka Google Cloud

Kaumaha 2016

ʻEkolu makahiki aku nei, ma hope koke iho o ke kūʻai ʻia ʻana o Dailymotion e Vivendi, kā mākou mau hui ʻenekinia e kālele ana i hoʻokahi pahuhopu honua: e hana i kahi huahana Dailymotion hou loa.

Ma muli o kā mākou nānā ʻana i nā ipu, nā hoʻonā orchestration, a me kā mākou ʻike i hala, ua manaʻo mākou ʻo Kubernetes ke koho kūpono. Ua ʻike mua kekahi mau mea hoʻomohala i nā manaʻo kumu a ua ʻike i ka hoʻohana ʻana, he mea maikaʻi loa ia no ka hoʻololi ʻana i ka ʻōnaehana.

Mai kahi hiʻohiʻona hoʻolālā, ua koi ʻia kahi ʻōnaehana ikaika a maʻalahi e hoʻokipa i nā ʻano noiʻi kapuaʻi hou. Ua koho mākou e noho ma ke ao i ka hoʻomaka ʻana o kā mākou huakaʻi i hiki iā mākou ke kūkulu i ka paepae kahua paʻa loa me ka maluhia o ka naʻau. Ua hoʻoholo mākou e kau i kā mākou mau noi me ka Google Kubernetes Engine, ʻoiai ua ʻike mākou e neʻe koke mākou i kā mākou mau kikowaena ʻikepili a hoʻohana i kahi hoʻolālā hybrid.

No ke aha ʻoe i koho ai iā GKE?

Ua hana mākou i kēia koho no nā kumu ʻenehana. Eia kekahi, pono e hoʻolako koke i nā ʻoihana e hoʻokō i nā pono ʻoihana o ka ʻoihana. Loaʻa iā mākou kekahi mau koi no ka hoʻokipa ʻana i nā noi, e like me ka māhele ʻāina, scalability a me ka hoʻomanawanui hewa.

ʻO Dailymotion ʻo Kubernetes: hoʻokumu ʻana i nā ʻōnaehana ma ke ao + ma ka hale
Nā pūʻulu GKE ma Dailymotion

No ka mea he kahua wikiō ʻo Dailymotion i loaʻa i ka honua holoʻokoʻa, makemake nui mākou e hoʻomaikaʻi i ka maikaʻi o ka lawelawe ma ka hōʻemi ʻana i ka manawa kali (laency)... Mamua kā mākou API i loaʻa ma Paris wale nō, ʻo ia ka suboptimal. Ua makemake au e hiki ke hoʻokipa i nā noi ʻaʻole wale ma ʻEulopa, akā ma Asia a me USA.

ʻO kēia ʻike i ka latency ʻo ia ka hana koʻikoʻi e hana ʻia ma ka hoʻolālā pūnaewele o ka paepae. ʻOiai ʻo ka hapa nui o nā lawelawe kapuaʻi i koi iā ʻoe e hana i kāu pūnaewele ponoʻī ma kēlā me kēia ʻāina a laila hoʻohui iā lākou ma o kahi VPN a i ʻole kekahi ʻano lawelawe i mālama ʻia, ua ʻae ʻo Google Cloud iā ʻoe e hana i kahi pūnaewele holoʻokoʻa holoʻokoʻa e uhi ana i nā wahi Google āpau. He mea hoʻonui nui kēia i ka hana a me ka pono o ka ʻōnaehana.

Eia kekahi, hana maikaʻi nā lawelawe ʻoihana pūnaewele a me nā mea kaulike hoʻouka mai Google Cloud. Hāʻawi wale lākou iā ʻoe e hoʻohana i nā leka uila IP lehulehu mai kēlā me kēia wahi, a mālama ka protocol BGP kupanaha i ke koena (ʻo ia hoʻi, hoʻihoʻi i nā mea hoʻohana i ka hui kokoke loa). ʻIke loa, inā ʻaʻole i hāʻule, e hele ʻokoʻa ke kaʻa i kahi ʻāina ʻē aʻe me ka ʻole o ke komo ʻana o ke kanaka.

ʻO Dailymotion ʻo Kubernetes: hoʻokumu ʻana i nā ʻōnaehana ma ke ao + ma ka hale
Ka nānā ʻana iā Google Load Balancing

Hoʻohana nui kā mākou kahua i nā GPU. ʻAe ʻo Google Cloud iā ʻoe e hoʻohana pono iā lākou i nā pūʻulu Kubernetes.

I kēlā manawa, ua kālele nui ʻia ka hui ʻoihana i ka waihona hoʻoilina i kau ʻia ma nā kikowaena kino. ʻO ia ke kumu o ka hoʻohana ʻana i kahi lawelawe hoʻokele (me nā kumu Kubernetes) i hoʻokō i kā mākou mau koi a ʻae iā mākou e aʻo i nā hui e hana pū me nā pūʻulu kūloko.

ʻO ka hopena, ua hiki iā mākou ke hoʻomaka i ka loaʻa ʻana o nā hana hoʻohua ma ka ʻōnaehana Google Cloud he 6 mahina wale nō ma hope o ka hoʻomaka ʻana o ka hana.

Eia naʻe, me ka nui o nā pōmaikaʻi, pili ka hana ʻana me kahi mea hāʻawi kapuaʻi me kekahi mau kumukūʻai, hiki ke hoʻonui ma muli o ka ukana. ʻO ia ke kumu i nānā pono ai mākou i kēlā me kēia lawelawe hoʻokele a mākou i hoʻohana ai, me ka manaʻo e hoʻokō iā lākou ma ka hale i ka wā e hiki mai ana. ʻO kaʻoiaʻiʻo, ua hoʻomaka ka hoʻokō ʻana i nā hui kūloko i ka hopena o 2016 a ua hoʻomaka ka hoʻolālā hybrid i ka manawa like.

Hoʻolaha ʻia ka paepae hoʻokani ipu kūloko Dailymotion

Aukulu 2016

I nā kūlana i ka wā i mākaukau ai ka waihona holoʻokoʻa no ka hana ʻana, a hana ma ka API hoomau aku, ʻo ia ka manawa e noʻonoʻo ai i nā pūʻulu āpana.

I kēlā manawa, nānā nā mea hoʻohana ma mua o 3 biliona wikiō i kēlā me kēia mahina. ʻOiaʻiʻo, ua loaʻa iā mākou kā mākou Pūnaewele Hoʻolaha Nui no nā makahiki he nui. Ua makemake mākou e hoʻohana pono i kēia kūlana a kau i nā pūʻulu Kubernetes i nā kikowaena ʻikepili i loaʻa.

Ua ʻoi aku ka nui o nā kikowaena o Dailymotion ma mua o 2,5 tausani mau kikowaena ʻeono. Hoʻonohonoho ʻia lākou a pau me Saltstack. Hoʻomaka mākou e hoʻomākaukau i nā mea ʻai pono a pau no ka hana ʻana i nā nodes haku a me nā limahana hana, a me kahi hui etcd.

ʻO Dailymotion ʻo Kubernetes: hoʻokumu ʻana i nā ʻōnaehana ma ke ao + ma ka hale

ʻāpana pūnaewele

Hoʻopau loa ʻia kā mākou pūnaewele. Hoʻolaha kēlā me kēia kikowaena i kāna IP ma ka pūnaewele me ka hoʻohana ʻana iā Exabgp. Ua hoʻohālikelike mākou i nā plugins pūnaewele a ʻo ka mea wale nō i hoʻokō i nā pono āpau (ma muli o ke ala L3 i hoʻohana ʻia). ʻO Kalico. Ua kūpono loa ia i ke ʻano hoʻohālike o ka ʻoihana pūnaewele.

Ma muli o ko mākou makemake e hoʻohana i nā mea ʻenehana āpau i loaʻa, ʻo ka mea mua a mākou e hana ai, ʻo ia ka ʻike ʻana i kā mākou mea hoʻohana pūnaewele home-grown (hoʻohana ʻia ma nā kikowaena āpau): hoʻohana iā ia e hoʻolaha i nā pae helu IP ma ka pūnaewele me nā node Kubernetes. Ua ʻae mākou iā Calico e hāʻawi i nā leka uila IP i nā pods, akā ʻaʻole i hoʻohana a hoʻohana ʻole ia no nā kau BGP ma nā lako pūnaewele. ʻO ka ʻoiaʻiʻo, mālama ʻia ke ala e Exabgp, nāna e hoʻolaha i nā subnets i hoʻohana ʻia e Calico. ʻAe kēia iā mākou e kiʻi i kekahi pod mai ka pūnaewele kūloko (a ʻo ia hoʻi mai nā load balancers).

Pehea mākou e hoʻokele ai i nā kaʻa komo

No ka hoʻihoʻi hou ʻana i nā noi komo i ka lawelawe i makemake ʻia, ua hoʻoholo ʻia e hoʻohana i ka Ingress Controller ma muli o kona hoʻohui ʻana me nā kumu waiwai ingress Kubernetes.

ʻEkolu mau makahiki i hala aku nei, ʻo ka nginx-ingress-controller ka mea hoʻokele oʻo loa: Ua puni ʻo Nginx no ka manawa lōʻihi a ʻike ʻia no kona kūpaʻa a me kāna hana.

I kā mākou ʻōnaehana, ua hoʻoholo mākou e kau i nā mea hoʻokele ma nā kikowaena 10-Gigabit blade i hoʻolaʻa ʻia. Hoʻopili ʻia kēlā me kēia mea hoʻoponopono i ka kube-apiserver endpoint o ka hui like. Ua hoʻohana pū kēia mau kikowaena iā Exabgp e hoʻolaha i nā helu IP lehulehu a pilikino paha. ʻO kā mākou topology pūnaewele hiki iā mākou ke hoʻohana i ka BGP mai kēia mau mea hoʻokele e holo pololei i nā kaʻa āpau i nā pods me ka hoʻohana ʻole i kahi lawelawe e like me NodePort. Kōkua kēia ala i ka pale ʻana i ka hele ʻana ma waena o nā nodes a hoʻomaikaʻi i ka pono.

ʻO Dailymotion ʻo Kubernetes: hoʻokumu ʻana i nā ʻōnaehana ma ke ao + ma ka hale
Ka neʻe ʻana mai ka Pūnaewele i nā pods

I kēia manawa ke hoʻomaopopo nei mākou i kā mākou platform hybrid, hiki iā mākou ke komo hohonu i loko o ke kaʻina hana neʻe.

Ka neʻe ʻana o ke kaʻa mai Google Cloud a i Dailymotion

Aukulu 2018

Ma hope o ʻelua mau makahiki o ke kūkulu ʻana, ka hoʻāʻo ʻana, a me ke kani ʻana, ua loaʻa iā mākou kahi waihona Kubernetes piha i mākaukau e ʻae i kahi kaʻa.

ʻO Dailymotion ʻo Kubernetes: hoʻokumu ʻana i nā ʻōnaehana ma ke ao + ma ka hale

He mea maʻalahi ka hoʻolālā ala ala i kēia manawa, akā lawa e hoʻokō i nā pono. Ma waho aʻe o nā IP lehulehu (ma Google Cloud a me Dailymotion), hoʻohana ʻia ʻo AWS Route 53 e hoʻonohonoho i nā kulekele a hoʻohuli i nā mea hoʻohana i ka hui o kā mākou koho.

ʻO Dailymotion ʻo Kubernetes: hoʻokumu ʻana i nā ʻōnaehana ma ke ao + ma ka hale
Hoʻohālike i ke kulekele hoʻokele me ke Alanui 53

Me Google Cloud he mea maʻalahi kēia ʻoiai mākou e kaʻana like i hoʻokahi IP ma nā pūʻulu āpau a hoʻihoʻi ʻia ka mea hoʻohana i ka pūʻulu GKE kokoke loa. No kā mākou pūʻulu ʻokoʻa ka ʻenehana, no ka mea, ʻokoʻa kā lākou IP.

I ka wā o ka neʻe ʻana, ua ʻimi mākou e hoʻohuli hou i nā noi kūloko i nā hui kūpono a loiloi i nā pono o kēia ala.

No ka mea, ua hoʻonohonoho ʻia kā mākou mau pūʻulu GKE e hoʻonui i ka autoscale me ka hoʻohana ʻana i nā Metric Custom, e hoʻonui a i lalo lākou e pili ana i ka hele ʻana mai.

Ma ke ʻano maʻamau, ua kuhikuhi ʻia nā kaʻa āpau āpau i ka pūʻulu kūloko, a ʻo GKE ke ʻano he mālama i ka wā pilikia (e mālama ʻia nā nānā olakino e ke Alanui 53).

...

I ka wā e hiki mai ana, makemake mākou e hoʻopiha piha i nā kulekele hoʻokele e hoʻokō i kahi hoʻolālā hybrid autonomous e hoʻomaikaʻi mau i ka hiki ʻana o nā mea hoʻohana. Ma ka ʻaoʻao ʻē aʻe, ua hoʻemi nui ʻia nā kumukūʻai ao a ua hoʻemi ʻia nā manawa pane API. Ke hilinaʻi nei mākou i ka paepae kapuaʻi e hiki mai ana a ua mākaukau mākou e hoʻihoʻi hou i nā kaʻa i laila inā pono.

PS mai ka unuhi

Hiki paha iā ʻoe ke hoihoi i kekahi pou Dailymotion hou e pili ana iā Kubernetes. Hoʻolaʻa ʻia ia i ka hoʻolaha ʻana o nā noi me Helm ma nā hui Kubernetes he nui a ua paʻi ʻia ma kahi o hoʻokahi mahina aku nei.

E heluhelu pū ma kā mākou blog:

Source: www.habr.com

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