ඔබට Kubernetes අවශ්ය නොවනු ඇත

ඔබට Kubernetes අවශ්ය නොවනු ඇත
ගැහැණු ළමයා ස්කූටරයක. නිදර්ශනය freepik, Nomad ලාංඡනය වෙතින් හෂිකෝර්ප්

Kubernetes යනු කිලෝග්‍රෑම් 300 ක බහාලුම් වාද්‍ය වෘන්දයකි. එය ලෝකයේ විශාලතම බහාලුම් පද්ධති කිහිපයක ක්‍රියා කරයි, නමුත් එය පිරිවැයක් දරයි.

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

ඔයාට ඕන කුමක් ද

අපගේ කණ්ඩායම සාමාන්‍ය කාර්ය සාධන අධීක්ෂණ සහ විශ්ලේෂණ සේවා ගණනාවක් පවත්වාගෙන යයි: Go හි ලියා ඇති ප්‍රමිතික සඳහා API අන්ත ලක්ෂ්‍ය, Prometheus exports, Logstash වැනි ලොග් විග්‍රහ කරන්නන් සහ ගොලුම්, මෙන්ම InfluxDB හෝ Elasticsearch වැනි දත්ත සමුදායන්. මෙම සෑම සේවාවක්ම තමන්ගේම බහාලුම් තුළ ක්‍රියාත්මක වේ. ඒ සියල්ල ක්‍රියාත්මක කිරීමට අපට සරල පද්ධතියක් අවශ්‍ය වේ.

අපි බහාලුම් වාද්‍ය වෘන්දය සඳහා අවශ්‍යතා ලැයිස්තුවක් සමඟ ආරම්භ කළෙමු:

  • බොහෝ යන්ත්‍රවල සේවා කට්ටලයක් ධාවනය කිරීම.
  • ධාවන සේවා පිළිබඳ දළ විශ්ලේෂණය.
  • සේවා අතර සබඳතා.
  • සේවාව බිඳ වැටුනහොත් ස්වයංක්‍රීයව නැවත ආරම්භ කරන්න.
  • කුඩා කණ්ඩායමක් විසින් යටිතල පහසුකම් නඩත්තු කිරීම.

ඊට අමතරව, පහත සඳහන් දේවල් හොඳයි, නමුත් එකතු කිරීම් අවශ්ය නොවේ:

  • ඔවුන්ගේ හැකියාවන් අනුව යන්ත්‍ර සලකුණු කිරීම (උදාහරණයක් ලෙස, බර I/O සේවා සඳහා වේගවත් තැටි සහිත යන්ත්‍ර සලකුණු කිරීම).
  • වාද්‍ය වෘන්දයෙන් ස්වාධීනව සේවා ක්‍රියාත්මක කිරීමේ හැකියාව (උදාහරණයක් ලෙස, සංවර්ධනය අතරතුර).
  • වින්‍යාස කිරීම් සහ රහස් බෙදා ගැනීමට පොදු ස්ථානයකි.
  • ප්‍රමිතික සහ ලඝු-සටහන් සඳහා අවසාන ලක්ෂ්‍යය.

ඇයි Kubernetes අපට නොවේ

Kubernetes සමඟ මූලාකෘති කරන අතරතුර, අපි වඩ වඩාත් සංකීර්ණ තාර්කික ස්ථර එකතු කිරීමට පටන් ගත් බව අපි දුටුවෙමු, එය අප ව්‍යංගයෙන් රඳා පැවතුනි.

උදාහරණයක් ලෙස, Kubernetes හරහා බිල්ට් සේවා වින්‍යාස කිරීම් සඳහා සහය දක්වයි ConfigMaps. ඔබට ඉක්මනින් ව්‍යාකූල විය හැක, විශේෂයෙන් බහුවිධ වින්‍යාස ගොනු ඒකාබද්ධ කිරීමේදී හෝ අමතර සේවා පොඩ් එකකට එක් කිරීමේදී. කුබර්නෙටස් (හෝ හිස්වැස්ම මෙම අවස්ථාවෙහිදී) ගැටළු වෙන් කිරීම සඳහා බාහිර වින්‍යාසයන් ගතිකව එන්නත් කිරීමට ඔබට ඉඩ සලසයි. නමුත් මෙය ඔබගේ ව්‍යාපෘතිය සහ Kubernetes අතර දැඩි හා අඳුරු සම්බන්ධයකට මග පාදයි. කෙසේ වෙතත්, Helm සහ ConfigMaps විකල්ප වේ, එබැවින් ඔබට ඒවා භාවිතා කිරීමට අවශ්‍ය නොවේ. ඔබට වින්‍යාසය ඩොකර් රූපයට පිටපත් කළ හැකිය. කෙසේ වෙතත්, එම මාර්ගයේ ගොස් ඔබට පසුව පසුතැවිලි විය හැකි අනවශ්‍ය වියුක්තයන් ගොඩනැගීමට පෙළඹේ.

මීට අමතරව, Kubernetes පරිසර පද්ධතිය වේගයෙන් සංවර්ධනය වෙමින් පවතී. හොඳම භාවිතයන් සහ නවතම මෙවලම් සමඟ යාවත්කාලීනව සිටීමට බොහෝ කාලයක් සහ ශක්තියක් වැය වේ. Kubectl, minikube, kubeadm, helm, tiler, kops, oc - ලැයිස්තුව දිගටම පවතී. මෙම මෙවලම් සියල්ලම ආරම්භ කිරීමට අවශ්‍ය නොවේ, නමුත් ඔබට අවශ්‍ය වන්නේ කුමක්දැයි ඔබ නොදනී, එබැවින් ඔබ සියල්ල ගැන දැනුවත් විය යුතුය. මේ නිසා ඉගෙනීමේ වක්‍රය තරමක් දැඩි වේ.

Kubernetes භාවිතා කළ යුත්තේ කවදාද?

අපගේ සමාගමේ බොහෝ අය Kubernetes භාවිතා කරන අතර ඒ ගැන බෙහෙවින් සතුටු වෙති. මෙම අවස්ථා කළමනාකරණය කරනු ලබන්නේ ප්‍රමාණවත් ආධාරක සම්පත් ඇති Google හෝ Amazon විසිනි.

Kubernetes එනවා පුදුම ලක්ෂණ, මහා පරිමාණ බහාලුම් වාද්‍ය වෘන්දය වඩාත් කළමනාකරණය කළ හැකි කරයි:

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

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

බැටරි ඇතුළත් නොවේ

Nomad යනු 20% වාද්‍ය වෘන්දය වන අතර එය අවශ්‍ය දේවලින් 80% ක් ලබා දෙයි. එය කරන්නේ යෙදවීම් කළමනාකරණය කිරීමයි. Nomad deployments බලාගන්නවා, Error උනොත් කන්ටේනර් Restart කරනවා... එච්චරයි.

නෝමාඩ්ගේ සමස්ත කාරණය එය කරන්නේ එයයි. අවම: කිසිදු සියුම් හිමිකම් කළමනාකරණයක් හෝ උසස් ජාල ප්රතිපත්ති, එසේ විශේෂයෙන් පිළිසිඳ. මෙම සංරචක බාහිරව සපයනු ලැබේ හෝ කිසිසේත් ලබා නොදේ.

භාවිතයේ පහසුව සහ ප්‍රයෝජනය අතර පරිපූර්ණ සම්මුතියක් Nomad සොයාගෙන ඇතැයි මම සිතමි. කුඩා, ස්වාධීන සේවාවන් සඳහා එය හොඳයි. ඔබට වැඩි පාලනයක් අවශ්‍ය නම්, ඔබට ඒවා ඔබම මතු කිරීමට හෝ වෙනත් ප්‍රවේශයක් භාවිතා කිරීමට සිදුවනු ඇත. nomad වේ සාධාරණයි වාදකයෙක්.

Nomad වල හොඳම දේ තමයි ලේසියි ප්රතිස්ථාපනය කරන්න. සේවා කළමනාකරණය කරන වෙනත් ඕනෑම පද්ධතියකට එහි කාර්යයන් පහසුවෙන් ඒකාබද්ධ කළ හැකි බැවින් ප්‍රායෝගිකව විකුණුම්කරුවෙකු අගුලු දැමීමක් නොමැත. එය පොකුරේ සෑම යන්ත්‍රයකම සාමාන්‍ය ද්විමය ලෙස ක්‍රියා කරයි, එපමණයි!

ලිහිල් සම්බන්ධ වූ නෝමැඩ් පරිසර පද්ධතිය

Nomad හි සැබෑ ශක්තිය ඇත්තේ එහි පරිසර පද්ධතිය තුළය. එය වෙනත් - සම්පූර්ණයෙන්ම විකල්ප - වැනි නිෂ්පාදන සමඟ ඉතා හොඳින් ඒකාබද්ධ වේ කොන්සල් (ප්රධාන වටිනාකම් ගබඩාව) හෝ සුරක්ෂිතාගාරය (රහස් හැසිරවීම). Nomad ගොනුව තුළ, මෙම සේවාවන්ගෙන් දත්ත උපුටා ගැනීම සඳහා කොටස් තිබේ:

template {
  data = <<EOH
LOG_LEVEL="{{key "service/geo-api/log-verbosity"}}"
API_KEY="{{with secret "secret/geo-api-key"}}{{.Data.value}}{{end}}"
EOH

  destination = "secrets/file.env"
  env         = true
}

මෙන්න අපි යතුර කියෙව්වා service/geo-api/log-verbosity කොන්සල්ගෙන් සහ වැඩ කරන අතරතුර අපි එය පරිසර විචල්යයක් සමඟින් නියෝජනය කරමු LOG_LEVEL. අපි යතුර ද ඉදිරිපත් කරමු secret/geo-api-key ලෙස වෝල්ට් සිට API_KEY. සරල නමුත් බලවත්!

එහි සරල බව නිසා, Nomad API හරහා වෙනත් සේවාවන් සමඟ පහසුවෙන් විස්තාරණය කළ හැකිය. උදාහරණයක් ලෙස, රැකියා ටැග් සහාය දක්වයි. අපි සියලුම සේවාවන් ටැගය සමඟ ප්‍රමිතික සමඟ ටැග් කරන්නෙමු trv-metrics. මේ ආකාරයෙන් Prometheus පහසුවෙන් කොන්සල් හරහා මෙම සේවාවන් සොයා ගන්නා අතර කාලානුරූපව අන්ත ලක්ෂ්‍යය පරීක්ෂා කරයි /metrics නව දත්ත සඳහා. භාවිතා කිරීම සඳහා, උදාහරණයක් ලෙස, ලඝු-සටහන් සඳහා ද එයම කළ හැකිය ලොකී.

විස්තාරණය පිළිබඳ තවත් බොහෝ උදාහරණ තිබේ:

  • කොක්කකින් ජෙන්කින්ස් රැකියාවක් ක්‍රියාත්මක කරන්න, සේවා වින්‍යාසය වෙනස් වූ විට නෝමාඩ් රැකියාව නැවත යෙදවීම කොන්සල් විසින් නිරීක්ෂණය කරයි.
  • Ceph විසින් Nomad වෙත බෙදා හරින ලද ගොනු පද්ධතියක් එක් කරයි.
  • ෆැසියියෝ බර තුලනය සඳහා.

මේ සියල්ල ඉඩ දෙයි කාබනිකව යටිතල පහසුකම් සංවර්ධනය වෙළෙන්දාට විශේෂ සඳහනක් නොමැතිව.

සාධාරණ අනතුරු ඇඟවීම

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

Kubernetes හා සසඳන විට, Nomad ප්රජාව එතරම් විශාල නොවේ. Kubernetes සතුව දැනටමත් කැපවීම් 75 ක් සහ දායකයින් 000 ක් පමණ සිටින අතර Nomad හට කැපවීම් 2000 ක් සහ දායකයින් 14 ක් පමණ ඇත. නෝමාඩ්ට කුබර්නෙට්ස් සමඟ වේගයෙන් ඉදිරියට යාම දුෂ්කර වනු ඇත, නමුත් එය අවශ්‍ය නොවනු ඇත! එය වඩාත් විශේෂිත පද්ධතියක් වන අතර කුඩා ප්‍රජාව යන්නෙන් අදහස් වන්නේ ඔබේ ඇදීමේ ඉල්ලීම Kubernetes ට වඩා අවධානයට ලක්වීමට සහ පිළිගැනීමට ඉඩ ඇති බවයි.

සාරාංශය

Takeaway: අනිත් හැමෝම කරන නිසා Kubernetes භාවිතා නොකරන්න. ඔබේ අවශ්‍යතා හොඳින් තක්සේරු කර වඩා ලාභදායී වන්නේ කුමන මෙවලමදැයි පරීක්ෂා කරන්න.

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

ඔබ හුදෙක් නඩත්තු කිරීමට පහසු සහ දිගු කළ හැකි ඝන වාද්‍ය වෘන්දයක් සොයන්නේ නම්, නෝමාඩ් උත්සාහ නොකරන්නේ මන්ද? මෙය ඔබව කෙතරම් දුරකට ගෙන යනු ඇත්දැයි ඔබ පුදුමයට පත් විය හැක.

Kubernetes කාර් එකක් වගේ නම්, Nomad කියන්නේ ස්කූටරයක්. සමහර විට ඔබට එකක් සහ සමහර විට අනෙක අවශ්ය වේ. දෙදෙනාටම පැවැත්මේ අයිතිය ඇත.

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

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