Kubernetes adventure Dailymotion: වලාකුළු + පරිශ්‍රයේ යටිතල පහසුකම් නිර්මාණය කිරීම

Kubernetes adventure Dailymotion: වලාකුළු + පරිශ්‍රයේ යටිතල පහසුකම් නිර්මාණය කිරීම

සටහන. පරිවර්තනය.: Dailymotion යනු ලොව විශාලතම වීඩියෝ සත්කාරක සේවාවක් වන අතර එබැවින් කැපී පෙනෙන Kubernetes පරිශීලකයෙකි. මෙම ද්‍රව්‍යය තුළ, පද්ධති ගෘහ නිර්මාණ ශිල්පී ඩේවිඩ් ඩොන්චෙස් විසින් K8s මත පදනම්ව සමාගමේ නිෂ්පාදන වේදිකාව නිර්මාණය කිරීමේ ප්‍රතිඵල බෙදා ගන්නා අතර එය GKE හි වලාකුළු ස්ථාපනයකින් ආරම්භ වී දෙමුහුන් විසඳුමක් ලෙස අවසන් වූ අතර එමඟින් යටිතල පහසුකම් පිරිවැය සඳහා වඩා හොඳ ප්‍රතිචාර කාලයන් සහ ඉතිරිකිරීම් සඳහා ඉඩ ලබා දේ.

Core API නැවත ගොඩනැගීමට තීරණය කිරීම Dailymotion වසර තුනකට පෙර, යෙදුම් සත්කාරකත්වය සහ එය පහසු කිරීම සඳහා වඩාත් කාර්යක්ෂම ක්‍රමයක් සංවර්ධනය කිරීමට අපට අවශ්‍ය විය සංවර්ධනය හා නිෂ්පාදනයේ ක්රියාවලීන්. මෙම කාර්යය සඳහා, අපි බහාලුම් වාද්‍ය වෘන්ද වේදිකාවක් භාවිතා කිරීමට තීරණය කළ අතර ස්වාභාවිකවම Kubernetes තෝරා ගත්තෙමු.

Kubernetes මත පදනම්ව ඔබේම වේදිකාවක් ගොඩනගා ගැනීම වටී ඇයි?

නිෂ්පාදන මට්ටමේ API Google Cloud භාවිතයෙන් කිසිදු වේලාවක

2016 ගිම්හානය

වසර තුනකට පෙර, Dailymotion මිලදී ගත් වහාම දෙගොල්ල, අපගේ ඉංජිනේරු කණ්ඩායම් එක් ගෝලීය ඉලක්කයක් කෙරෙහි අවධානය යොමු කර ඇත: සම්පූර්ණයෙන්ම නව Dailymotion නිෂ්පාදනයක් නිර්මාණය කිරීම.

බහාලුම්, වාද්‍ය වෘන්ද විසඳුම් සහ අපගේ අතීත අත්දැකීම් පිළිබඳ අපගේ විශ්ලේෂණය මත පදනම්ව, Kubernetes නිවැරදි තේරීම බව අපට ඒත්තු ගොස් ඇත. සමහර සංවර්ධකයින් දැනටමත් මූලික සංකල්ප පිළිබඳ අවබෝධයක් ඇති අතර එය භාවිතා කරන්නේ කෙසේදැයි දැන සිටි අතර එය යටිතල පහසුකම් පරිවර්තනය සඳහා විශාල වාසියක් විය.

යටිතල පහසුකම් ඉදිරිදර්ශනයකින්, නව ආකාරයේ වලාකුළු-ස්වදේශීය යෙදුම් සත්කාරකත්වය සඳහා බලවත් සහ නම්‍යශීලී පද්ධතියක් අවශ්‍ය විය. අපගේ ගමන ආරම්භයේදී අපි වලාකුළෙහි රැඳී සිටීමට තෝරා ගත්තෙමු, එවිට අපට මනසේ සාමයෙන් හැකි වඩාත්ම ශක්තිමත් පරිශ්‍රයේ වේදිකාව ගොඩනගා ගත හැකිය. ඉක්මනින් හෝ පසුව අපි අපගේම දත්ත මධ්‍යස්ථාන වෙත ගොස් දෙමුහුන් උපාය මාර්ගයක් යොදන බව අප දැන සිටියද, Google Kubernetes එන්ජිම භාවිතයෙන් අපගේ යෙදුම් යෙදවීමට අපි තීරණය කළෙමු.

ඔබ GKE තෝරාගත්තේ ඇයි?

අපි මෙම තේරීම ප්‍රධාන වශයෙන් තාක්ෂණික හේතූන් මත සිදු කළෙමු. මීට අමතරව, සමාගමේ ව්‍යාපාරික අවශ්‍යතා සපුරාලන යටිතල පහසුකම් කඩිනමින් සැපයීම අවශ්‍ය විය. අපට භූගෝලීය ව්‍යාප්තිය, පරිමාණය සහ දෝෂ ඉවසීම වැනි යෙදුම් සත්කාරකත්වය සඳහා අවශ්‍යතා කිහිපයක් තිබුණි.

Kubernetes adventure Dailymotion: වලාකුළු + පරිශ්‍රයේ යටිතල පහසුකම් නිර්මාණය කිරීම
Dailymotion හි GKE පොකුරු

Dailymotion යනු ලොව පුරා පවතින වීඩියෝ වේදිකාවක් බැවින්, අපට සැබවින්ම අවශ්‍ය වූයේ රැඳී සිටීමේ කාලය අඩු කිරීමෙන් සේවාවේ ගුණාත්මක භාවය වැඩි දියුණු කිරීමටයි. (ප්රමාදය). කලින් අපගේ API ලබා ගත හැකි වූයේ පැරිසියේ පමණි, එය උපප්‍රශස්ත විය. යුරෝපයේ පමණක් නොව, ආසියාවේ සහ ඇමරිකා එක්සත් ජනපදයේ ද යෙදුම් සත්කාරකත්වය සැපයීමට මට අවශ්‍ය විය.

ප්‍රමාදයට මෙම සංවේදීතාවයෙන් අදහස් කළේ වේදිකාවේ ජාල ගෘහනිර්මාණ ශිල්පය මත බැරෑරුම් කාර්යයක් කළ යුතු බවයි. බොහෝ ක්ලවුඩ් සේවාවන් ඔබට එක් එක් කලාපය තුළ ඔබේම ජාලයක් නිර්මාණය කර ඒවා VPN හෝ යම් ආකාරයක කළමනාකරණය කළ සේවාවක් හරහා සම්බන්ධ කිරීමට ඔබට බල කළ අතර, Google Cloud මඟින් ඔබට සියලුම Google කලාප ආවරණය වන පරිදි සම්පූර්ණයෙන්ම routable තනි ජාලයක් නිර්මාණය කිරීමට ඉඩ ලබා දේ. පද්ධතියේ ක්රියාකාරිත්වය හා කාර්යක්ෂමතාව අනුව මෙය විශාල ප්ලස් වේ.

මීට අමතරව, Google Cloud වෙතින් ජාල සේවා සහ load balancers විශිෂ්ට කාර්යයක් ඉටු කරයි. ඔවුන් ඔබට එක් එක් කලාපයෙන් අත්තනෝමතික පොදු IP ලිපින භාවිතා කිරීමට ඉඩ සලසයි, සහ අපූරු BGP ප්‍රොටෝකෝලය ඉතිරිය බලා ගනී (එනම් පරිශීලකයින් ළඟම ඇති පොකුරට හරවා යැවීම). පැහැදිලිවම, අසාර්ථක වූ විට, කිසිදු මිනිස් මැදිහත්වීමකින් තොරව රථවාහන ස්වයංක්‍රීයව වෙනත් කලාපයකට යයි.

Kubernetes adventure Dailymotion: වලාකුළු + පරිශ්‍රයේ යටිතල පහසුකම් නිර්මාණය කිරීම
ගූගල් ලෝඩ් තුලනය නිරීක්ෂණය කිරීම

අපගේ වේදිකාව ද GPUs අධික ලෙස භාවිතා කරයි. Google Cloud ඔබට Kubernetes පොකුරු තුළ ඒවා ඉතා ඵලදායී ලෙස භාවිතා කිරීමට ඉඩ සලසයි.

එකල, යටිතල පහසුකම් කණ්ඩායම මූලික වශයෙන් අවධානය යොමු කළේ භෞතික සේවාදායකයන් මත යොදවා ඇති උරුම තොගය කෙරෙහි ය. කළමනාකරණය කළ සේවාවක් (කුබර්නෙටස් මාස්ටර් ඇතුළුව) භාවිතා කිරීම අපගේ අවශ්‍යතා සපුරාලන අතර දේශීය පොකුරු සමඟ වැඩ කිරීමට කණ්ඩායම් පුහුණු කිරීමට අපට ඉඩ දුන්නේ එබැවිනි.

එහි ප්‍රතිඵලයක් වශයෙන්, වැඩ ආරම්භ කර මාස 6කට පසුව Google Cloud යටිතල පහසුකම් මත නිෂ්පාදන ගමනාගමනය ලැබීම ආරම්භ කිරීමට අපට හැකි විය.

කෙසේ වෙතත්, වාසි ගණනාවක් තිබියදීත්, වලාකුළු සපයන්නා සමඟ වැඩ කිරීම ඇතැම් පිරිවැය සමඟ සම්බන්ධ වී ඇති අතර, එය බර මත පදනම්ව වැඩි විය හැක. අනාගතයේදී ඒවා පරිශ්‍රයේ ක්‍රියාත්මක කිරීමට බලාපොරොත්තු වන අපි භාවිත කළ එක් එක් කළමනා කරන ලද සේවාව හොඳින් විශ්ලේෂණය කළේ එබැවිනි. ඇත්ත වශයෙන්ම, දේශීය පොකුරු ක්‍රියාත්මක කිරීම 2016 අවසානයේ ආරම්භ වූ අතර දෙමුහුන් උපාය මාර්ගයද ඒ සමඟම ආරම්භ කරන ලදී.

දේශීය බහාලුම් වාද්‍ය වෘන්ද වේදිකාව Dailymotion දියත් කිරීම

2016 සරත් ඍතුව

සම්පූර්ණ තොගයම නිෂ්පාදනය සඳහා සූදානම් වූ විට සහ API මත වැඩ කරන තත්වයන් තුළ දිගටම, කලාපීය පොකුරු කෙරෙහි අවධානය යොමු කිරීමට කාලයයි.

එකල පරිශීලකයින් සෑම මසකම වීඩියෝ බිලියන 3 කට වඩා නරඹමින් සිටියහ. ඇත්ත වශයෙන්ම, අපට වසර ගණනාවක් තිස්සේ අපගේම පුළුල් අන්තර්ගත බෙදාහැරීමේ ජාලයක් ඇත. මෙම තත්ත්වයෙන් ප්‍රයෝජන ගැනීමට සහ දැනට පවතින දත්ත මධ්‍යස්ථානවල Kubernetes පොකුරු යෙදවීමට අපට අවශ්‍ය විය.

Dailymotion හි යටිතල පහසුකම් දත්ත මධ්‍යස්ථාන හයක සේවාදායක 2,5 දහසකට වඩා වැඩි ගණනකින් සමන්විත විය. ඒවා සියල්ලම Saltstack භාවිතයෙන් වින්‍යාස කර ඇත. මාස්ටර් සහ වර්කර් නෝඩ් මෙන්ම etcd පොකුරක් නිර්මාණය කිරීම සඳහා අවශ්‍ය සියලුම වට්ටෝරු අපි සකස් කිරීමට පටන් ගත්තෙමු.

Kubernetes adventure Dailymotion: වලාකුළු + පරිශ්‍රයේ යටිතල පහසුකම් නිර්මාණය කිරීම

ජාල කොටස

අපගේ ජාලය සම්පූර්ණයෙන්ම හරවා ඇත. සෑම සේවාදායකයක්ම Exabgp භාවිතයෙන් ජාලය මත එහි IP ප්‍රචාරණය කරයි. අපි ජාල ප්ලගීන කිහිපයක් සංසන්දනය කළ අතර සියලුම අවශ්‍යතා සපුරාලන එකම එක (භාවිතා කරන ලද L3 ප්‍රවේශය හේතුවෙන්) කැලිකෝ. එය දැනට පවතින ජාල යටිතල පහසුකම් ආකෘතියට හොඳින් ගැලපේ.

අපට පවතින සියලුම යටිතල පහසුකම් මූලද්‍රව්‍ය භාවිතා කිරීමට අවශ්‍ය වූ බැවින්, අප කළ යුතු පළමු දෙය නම් අපගේ ගෘහස්ථ ජාල උපයෝගීතාව (සියලු සේවාදායකවල භාවිතා වේ): Kubernetes නෝඩ් සමඟ ජාලයේ IP ලිපින පරාසයන් ප්‍රචාරණය කිරීමට එය භාවිතා කරන්න. අපි Calico හට පොඩ්ස් වෙත IP ලිපින පැවරීමට ඉඩ දී ඇත, නමුත් ජාල උපකරණ මත BGP සැසි සඳහා එය භාවිතා නොකළ අතර තවමත් එය භාවිතා නොකරයි. ඇත්ත වශයෙන්ම, මාර්ගගත කිරීම හසුරුවන්නේ Exabgp විසිනි, එය Calico විසින් භාවිතා කරන උපජාල ප්‍රචාරණය කරයි. අභ්‍යන්තර ජාලයෙන් (සහ විශේෂයෙන්ම load balancers වෙතින්) ඕනෑම පොඩ් එකක් වෙත ළඟා වීමට මෙය අපට ඉඩ සලසයි.

අපි ඇතුල්වීමේ තදබදය කළමනාකරණය කරන ආකාරය

පැමිණෙන ඉල්ලීම් අපේක්ෂිත සේවාව වෙත හරවා යැවීමට, Kubernetes ඇතුල්වීමේ සම්පත් සමඟ ඒකාබද්ධ වීම හේතුවෙන් Ingress Controller භාවිතා කිරීමට තීරණය විය.

වසර තුනකට පෙර, nginx-ingress-controller යනු වඩාත්ම පරිණත පාලකය විය: Nginx දිගු කලක් පැවතී ඇති අතර එහි ස්ථාවරත්වය සහ කාර්ය සාධනය සඳහා ප්‍රසිද්ධ විය.

අපගේ පද්ධතිය තුළ, කැපවූ 10-ගිගාබිට් බ්ලේඩ් සේවාදායකයන් මත පාලකයන් තැබීමට අපි තීරණය කළෙමු. සෑම පාලකයක්ම අනුරූප පොකුරේ kube-apiserver අන්ත ලක්ෂ්‍යයට සම්බන්ධ කර ඇත. මෙම සේවාදායකයන් පොදු හෝ පුද්ගලික IP ලිපින ප්‍රචාරණය කිරීමට Exabgp භාවිතා කරයි. NodePort වැනි සේවාවක් භාවිතා නොකර සියලුම ගමනාගමනය කෙලින්ම කරල් වෙත යොමු කිරීමට මෙම පාලකයන්ගෙන් BGP භාවිතා කිරීමට අපගේ ජාල ස්ථලකය අපට ඉඩ සලසයි. මෙම ප්‍රවේශය නෝඩ් අතර තිරස් ගමනාගමනය වළක්වා ගැනීමට සහ කාර්යක්ෂමතාව වැඩි කිරීමට උපකාරී වේ.

Kubernetes adventure Dailymotion: වලාකුළු + පරිශ්‍රයේ යටිතල පහසුකම් නිර්මාණය කිරීම
අන්තර්ජාලයේ සිට කරල් දක්වා ගමනාගමනය

දැන් අපි අපගේ දෙමුහුන් වේදිකාව තේරුම් ගෙන ඇති බැවින්, අපට රථවාහන සංක්‍රමණ ක්‍රියාවලිය ගැඹුරින් සොයා බැලිය හැකිය.

Google Cloud සිට Dailymotion යටිතල ව්‍යූහය වෙත ගමනාගමනය සංක්‍රමණය වීම

2018 සරත් ඍතුව

වසර දෙකකට ආසන්න කාලයක් ගොඩනැගීම, පරීක්‍ෂා කිරීම සහ සුසර කිරීමකින් පසුව, අපට අවසානයේ යම් තදබදයක් පිළිගැනීමට සම්පූර්ණ Kubernetes තොගයක් තිබේ.

Kubernetes adventure Dailymotion: වලාකුළු + පරිශ්‍රයේ යටිතල පහසුකම් නිර්මාණය කිරීම

වත්මන් මාර්ගගත කිරීමේ උපාය මාර්ගය තරමක් සරල ය, නමුත් අවශ්‍යතා සපුරාලීමට ප්‍රමාණවත් වේ. පොදු IP වලට අමතරව (Google Cloud සහ Dailymotion මත), AWS Route 53 ප්‍රතිපත්ති සැකසීමට සහ පරිශීලකයින් අප කැමති පොකුරට හරවා යැවීමට භාවිතා කරයි.

Kubernetes adventure Dailymotion: වලාකුළු + පරිශ්‍රයේ යටිතල පහසුකම් නිර්මාණය කිරීම
මාර්ග 53 භාවිතා කරන මාර්ගගත කිරීමේ ප්‍රතිපත්තිය උදාහරණය

Google Cloud සමඟින් මෙය පහසු වන්නේ අපි සියලු පොකුරු හරහා තනි IP එකක් බෙදා ගන්නා අතර පරිශීලකයා ළඟම ඇති GKE පොකුරට හරවා යවනු ලබන බැවිනි. අපගේ පොකුරු සඳහා ඒවායේ IP වෙනස් බැවින් තාක්ෂණය වෙනස් වේ.

සංක්‍රමණය අතරතුර, අපි කලාපීය ඉල්ලීම් සුදුසු පොකුරු වෙත හරවා යැවීමට උත්සාහ කළ අතර මෙම ප්‍රවේශයේ ප්‍රතිලාභ ඇගයීමට ලක් කළෙමු.

අපගේ GKE පොකුරු අභිරුචි ප්‍රමිතික භාවිතයෙන් ස්වයංක්‍රීය පරිමාණයට වින්‍යාස කර ඇති නිසා, ඒවා එන ගමනාගමනය මත පදනම්ව ඉහළ/පහළ වේ.

සාමාන්‍ය ප්‍රකාරයේදී, සියලුම ප්‍රාදේශීය ගමනාගමනය ප්‍රාදේශීය පොකුරට යොමු කර ඇති අතර, ගැටළු ඇති විට GKE රක්ෂිතයක් ලෙස සේවය කරයි (සෞඛ්‍ය පරීක්ෂණ මාර්ග 53 මගින් සිදු කෙරේ).

...

අනාගතයේදී, පරිශීලකයින් සඳහා ප්‍රවේශ්‍යතාව අඛණ්ඩව වැඩිදියුණු කරන ස්වයංක්‍රීය දෙමුහුන් උපාය මාර්ගයක් සාක්ෂාත් කර ගැනීම සඳහා මාර්ගගත කිරීමේ ප්‍රතිපත්ති සම්පූර්ණයෙන්ම ස්වයංක්‍රීය කිරීමට අපට අවශ්‍යය. ප්ලස් පැත්තේ, වලාකුළු පිරිවැය සැලකිය යුතු ලෙස අඩු කර ඇති අතර API ප්‍රතිචාර කාලය පවා අඩු කර ඇත. ප්‍රතිඵලයක් ලෙස ලැබෙන ක්ලවුඩ් වේදිකාව අපි විශ්වාස කරන අතර අවශ්‍ය නම් එයට වැඩි තදබදයක් හරවා යැවීමට සූදානම්.

පරිවර්තකගෙන් PS

Kubernetes ගැන තවත් මෑතකාලීන Dailymotion සටහනක් ගැන ඔබ උනන්දු විය හැකිය. එය බොහෝ Kubernetes පොකුරු මත Helm සමඟ යෙදුම් යෙදවීම සඳහා කැපවී ඇත. පළ විය මාසයකට පමණ පෙර.

අපගේ බ්ලොග් අඩවියේ ද කියවන්න:

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න