Slurm DevOps - ඈත අනාගතයේ ලස්සන දොඹකරයකට වඩා දින 3කින් හොඳ ක්‍රියාකාරී ටයිට් එකක්

මම සතියක ව්‍යාපෘතියකට ප්‍රිය කරන අතර වසර පුරා ව්‍යාපෘතිවලින් මම බියට පත් වෙමි. Agile හි, මම ඇත්තටම MVP සහ increment සංකල්පයට කැමතියි, මෙය මගේ දෙයක් පමණි: වැඩ කළ හැකි කෑල්ලක් සාදා, එය ක්‍රියාත්මක කර ඉදිරියට යන්න.

ඒ අතරම, DevOps පරිවර්තනය පොත්වල සහ සම්මන්ත්‍රණ වලදී සාකච්ඡා කරන ආකාරයෙන් වසරක් පුරා පවතින ව්‍යාපෘතියකි. නැත්නම් අවුරුදු වලින්.

අපි අපගේ DevOps පාඨමාලාව ගොඩනඟා ඇත්තේ “MVP DevOps in one sprint” සහ “වර්ධක සඳහා ඇති සූදානම” යන සුසමාදර්ශය තුළ ය. මානව අර්ථයෙන් නම්, “සහභාගීවන්නාට ආපසු පැමිණි වහාම නිවසේදී යමක් ක්‍රියාත්මක කර එයින් ප්‍රයෝජන ගත හැකි වනු ඇත.”

MVP DevOps: පාඨමාලාවේ මූලික DevOps ක්‍රියාවලි සඳහා මෙවලම් අඩංගු වේ. සියලුම CI/CD පද්ධති සමාලෝචනය කිරීම සහ සංසන්දනය කිරීම හෝ කේත ප්‍රවේශය ලෙස යටිතල පහසුකම්වල ගැඹුර හෙළිදරව් කිරීමේ කාර්යය අප විසින්ම සකසා ගත්තේ නැත. අපි එක් පැහැදිලි තොගයක් සපයන්නෙමු: Gitlab CI/CD, Ansible, Terraform සහ Packer, Molecule, Prometheus, EFK. ඔබට පාඨමාලා වලින් පැමිණිය හැකිය, පුහුණු ද්රව්ය වලින් නියමු ව්යාපෘතියක් සඳහා යටිතල පහසුකම් එක්රැස් කර එහි වැඩ කරන්න.

Slurm DevOps - ඈත අනාගතයේ ලස්සන දොඹකරයකට වඩා දින 3කින් හොඳ ක්‍රියාකාරී ටයිට් එකක්

වර්ධක සඳහා සූදානම: අපි එක් එක් මූලද්‍රව්‍ය සඳහා බොහෝ පුහුණුවීම් සහ උදාහරණ සපයන්නෙමු. ඔබට එක් මෙවලමක් ගෙන පුහුණු ඇඳීම් භාවිතයෙන් එය ක්රියාත්මක කිරීම ආරම්භ කළ හැකිය. උදාහරණයක් ලෙස, dev පරිසරයන් පෙරළීම සඳහා Ansible playbook ලියන්න හෝ bot එකක් සම්බන්ධ කර ඔබගේ දුරකථනයෙන් සේවාදායකය පරිපාලනය කරන්න. එනම්, සතියක් තුළ කොන්ක්රීට් ප්රායෝගික ප්රතිඵලයක් ලබා ගන්න. එය සමස්ත සමාගමේ DevOps පරිවර්තනයෙන් අසීමිත දුරස්ථ විය හැකිය, නමුත් එය එහි ඇත, එය මෙහි ඇත, එය ක්‍රියා කරයි සහ ප්‍රතිලාභ ගෙන දෙයි.

Slurm DevOps මාතෘකා

මාතෘකාව #1: Git හොඳම භාවිතයන් - තමාටම කතා කරයි.
මාතෘකාව #2: සංවර්ධන දෘෂ්ටි කෝණයකින් යෙදුම සමඟ වැඩ කිරීම — ඉංජිනේරුවෙකුට පරිපාලකයෙකුගේ සහ සංවර්ධකයෙකුගේ නිපුණතා අවශ්‍ය වේ, එබැවින් අපි සංවර්ධනය ගැන පරිපාලකයින්ට කියමු.

මාතෘකාව #3: CI/CD මූලික කරුණු

  • CI/CD ස්වයංක්‍රීයකරණය සඳහා හැඳින්වීම
  • Gitlab CI මූලික කරුණු
  • gitlab-runner සමඟ හොඳම භාවිතයන්
  • CI/CD හි කොටසක් ලෙස Bash, make, gradle tools සහ තවත් දේ
  • CI ගැටළු විසඳීමට මාර්ගයක් ලෙස Docker

මාතෘකාව #4: නිෂ්පාදනයේ Gitlab CI/CD

  • රැකියාවක් ආරම්භ කිරීමේදී තරඟය
  • ක්රියාත්මක කිරීමේ පාලනය සහ සීමා කිරීම්: පමණක්, කවදාද
  • කෞතුක වස්තු සමඟ වැඩ කිරීම
  • සැකිලි, ඇතුළත් සහ ක්ෂුද්‍ර සේවා: යෙදවීම සරල කිරීම

CI/CD හි මූලික සංකල්ප සහ සංකල්ප සහ CI/CD ක්‍රියාත්මක කිරීම සඳහා මෙවලම් අපි සිසුන්ට හඳුන්වා දෙන්නෙමු. එහි ප්‍රතිඵලයක් වශයෙන්, ශිෂ්‍යයාට ස්වාධීනව CI/CD නිර්මාණ රටාවක් සහ සුදුසු ක්‍රියාත්මක කිරීමේ මෙවලමක් තෝරා ගැනීමට හැකි වේ.

ඉන්පසුව අපි Gitlab හි CI/CD ක්‍රියාත්මක කිරීම පෙන්වන අතර Gitlab CI භාවිතා කිරීමට උසස් ක්‍රම සොයමින් සැකසුම හරහා ගමන් කරමු. එහි ප්‍රතිඵලයක් වශයෙන්, ශිෂ්‍යයාට තමන්ගේම ව්‍යාපෘති සඳහා ස්වාධීනව Gitlab CI වින්‍යාස කිරීමට හැකි වනු ඇත.

පළමු DevOps Slurm හා සසඳන විට, අපි න්‍යාය 2 වරක් හැකිලෙමු (මාතෘකාවකට පැයක්), සියලු පද්ධති සමාලෝචනය කිරීමෙන් ඉවත් වී Gitlab CI පමණක් ඉතිරි කළෙමු. අපි පුහුණුවීම් කෙරෙහි අවධානය යොමු කළ අතර හොඳම භාවිතයන් රාශියක් එකතු කළෙමු.

මාතෘකාව #5: යටිතල පහසුකම් කේතය ලෙස

  • IaC: කේතය ලෙස යටිතල පහසුකම් වෙත ළඟා වීම
  • යටිතල පහසුකම් සපයන්නන් ලෙස වලාකුළු සපයන්නන්
  • පද්ධති ආරම්භක මෙවලම්, රූප ගොඩනැගීම (පැකර්)
  • IaC උදාහරණයක් ලෙස Terraform භාවිතා කරයි
  • වින්‍යාස ගබඩාව, සහයෝගීතාව, යෙදුම් ස්වයංක්‍රීයකරණය
  • Ansible playbooks නිර්මාණය කිරීමට පුරුදු වන්න
  • උදාසීනත්වය, ප්‍රකාශ කිරීමේ හැකියාව
  • උදාහරණයක් ලෙස Ansible භාවිතා කරමින් IaC

අපි UI සහ openstack cli මත න්‍යායාත්මක කොටස අඩු කර පුහුණුවීම් කෙරෙහි අවධානය යොමු කර ඇත.
එකම යෙදුම භාවිතා කරන IaC ප්‍රවේශයන් දෙකක් දෙස බලමු, එක් එක් ප්‍රවේශයේ වාසි සහ අවාසි පෙන්වයි. එහි ප්‍රතිඵලයක් වශයෙන්, ශිෂ්‍යයා කුමන ප්‍රවේශයක් භාවිතා කළ යුතුද යන්න තේරුම් ගනු ඇති අතර, Terraform සහ Ansible යන දෙකම සමඟ වැඩ කිරීමට හැකි වනු ඇත.

Terraform හි මාතෘකාව තුළ, අපි කණ්ඩායම් වැඩ සහ ප්‍රායෝගිකව දත්ත සමුදායක තත්වය ගබඩා කිරීම දෙස බලමු. මොඩියුල සමඟ වැඩ කරන විට, ශිෂ්‍යයා විසින්ම මොඩියුලය ලියා වින්‍යාස කරනු ඇත, එය සමඟ වැඩ කරන්නේ කෙසේදැයි ඉගෙන ගන්න: එය නැවත භාවිතා කරන්න, අනුවාදය කරන්න. අපි කොන්සල් සමඟ වැඩ එකතු කරමු, එය අවශ්‍ය වන්නේ කුමන අවස්ථා වලදී සහ එය නිවැරදිව භාවිතා කරන්නේ කෙසේද යන්න පෙන්වන්න.

මාතෘකාව #6: යටිතල පහසුකම් පරීක්ෂා කිරීම

  • ඔවුන් පරීක්ෂණ ලියන්නේ නැත්තේ ඇයි කියා සොයා බලමු?
  • IaC හි ඇති පරීක්ෂණ මොනවාද?
  • ස්ථිතික විශ්ලේෂක, ඇත්තටම ඒවා නිෂ්ඵලද?
  • උදාහරණයක් ලෙස ansible + අණු භාවිතා කරමින් IaC ඒකක පරීක්ෂා කිරීම
  • ci හි කොටසක් ලෙස පරීක්ෂා කිරීම
  • ස්ටෙරොයිඩ් පිළිබඳ පරීක්ෂණ හෝ IaC පරීක්ෂණ අවසන් වීමට පැය 5ක් බලා නොසිටින්නේ කෙසේද

අපි න්‍යායික කොටස අඩු කර ඇත, Vagrant / Molecule ගැන අඩු කථා, වැඩි පුහුණුවීම් සහ සෘජු පරීක්ෂණ, linters කෙරෙහි අවධානය යොමු කර ඒවා සමඟ වැඩ කිරීම. CI දෘෂ්ඨිකෝණයෙන් බලන විට
පරීක්ෂණය වේගවත් කරන්නේ කෙසේද. ප්රායෝගිකව පවතිනු ඇත:

  • භූමිකාව අනුව ධාරකය සඳහා අනිවාර්ය විචල්‍යයන් තිබේදැයි පරීක්ෂා කරන ස්වයං-ලිඛිත ලින්ටරයක්;
  • අපි CI පරීක්‍ෂණයට එකතු කරන්නේ වෙනස් වී ඇති භූමිකාවන් පමණි, එමඟින් පරීක්ෂණ ක්‍රියාත්මක කිරීමේ කාලය සැලකිය යුතු ලෙස අඩු කළ හැකිය;
  • අවස්ථා පරීක්ෂාව එකතු කිරීම. අපි සම්පූර්ණ යෙදුම ඒකාබද්ධ කිරීමේ පරීක්ෂණයක් ලෙස යොදන්නෙමු.

මාතෘකාව #7: Prometheus සමඟ යටිතල පහසුකම් අධීක්ෂණය

  • සෞඛ්‍ය සම්පන්න අධීක්ෂණ පද්ධතියක් ගොඩනගන්නේ කෙසේද?
  • විකිණීමට පෙර පවා විශ්ලේෂණය, සංවර්ධන කාර්යක්ෂමතාව සහ කේත ස්ථායිතාව සඳහා මෙවලමක් ලෙස නිරීක්ෂණය කිරීම
  • prometheus + alertmanager + grafana පිහිටුවීම
  • සම්පත් අධීක්‍ෂණයේ සිට යෙදුම් අධීක්‍ෂණය දක්වා ගමන් කිරීම

ක්ෂුද්‍ර සේවා අධීක්‍ෂණය කිරීම ගැන අපි බොහෝ දේ කතා කරමු: ඉල්ලීම් id, api අධීක්ෂණ මෙවලම. හොඳම භාවිතයන් සහ ස්වාධීන වැඩ ගොඩක් වනු ඇත.

අපි අපේම අපනයනකරු ලියමු. අපි නිෂ්පාදන යටිතල පහසුකම් සහ යෙදුම් පමණක් නොව, Gitlab හි එකලස් කිරීම් ද අධීක්ෂණය කරන්නෙමු. අසාර්ථක පරීක්ෂණ පිළිබඳ සංඛ්යා ලේඛන දෙස බලමු. සෞඛ්‍ය පරීක්ෂාවකින් තොරව සහ එය සමඟ අධීක්‍ෂණය කෙබඳුදැයි ප්‍රායෝගිකව බලමු.

මාතෘකා අංක 8. ELK සමඟ යෙදුමක් ලොග් කිරීම

  • ඉලාස්ටික් සහ එහි මෙවලම් පිළිබඳ දළ විශ්ලේෂණය
  • ELK/Elastic Stack/x-pack - කුමක්ද සහ වෙනස කුමක්ද?
  • ElasticSearch භාවිතයෙන් විසඳිය හැකි ගැටළු මොනවාද (සෙවීම, ගබඩා කිරීම, පරිමාණ කිරීමේ විශේෂාංග, වින්‍යාස නම්‍යශීලීභාවය)
  • යටිතල පහසුකම් අධීක්ෂණය (x-pack)
  • බහාලුම් සහ යෙදුම් ලොග (x-pack)
  • උදාහරණයක් ලෙස අපගේ යෙදුම භාවිතා කරමින් ලොග් වීම
  • කිබානා සමඟ වැඩ කිරීමේ පුරුදු
  • Amazon වෙතින් Elasticsearch සඳහා Distro විවෘත කරන්න

මාතෘකාව සම්පූර්ණයෙන්ම ප්‍රතිනිර්මාණය කර ඇත, එය සත්කාරකත්වය සපයනු ලබන්නේ එඩ්වඩ් මෙඩ්විඩෙව් විසිනි, බොහෝ දෙනෙක් ඔහුව DevOps සහ SRE හි webinar හිදී දුටුවෝය. අධ්‍යාපනික යෙදුමක උදාහරණය භාවිතා කරමින් EFK සමඟ වැඩ කිරීමේ හොඳම භාවිතයන් ඔහු පවසනු ඇත. කිබානා සමඟ පුහුණුවීම් සිදුවනු ඇත.

මාතෘකාව #9: ChatOps සමඟ යටිතල පහසුකම් ස්වයංක්‍රීයකරණය

  • DevOps සහ ChatOps
  • ChatOps: ශක්තීන්
  • ස්ලැක් සහ විකල්ප
  • ChatOps සඳහා බොට්ස්
  • Hubot සහ විකල්ප
  • Безопасность
  • පරීක්ෂා කිරීම
  • හොඳම සහ නරකම භාවිතයන්

ChatOps විසින් අයිතීන් වෙන් කිරීම, වෙනත් පරිශීලකයෙකු විසින් කරන ලද ක්‍රියාවන් තහවුරු කිරීම, Mattermost ආකාරයෙන් Slack සඳහා විකල්පයක් පිළිබඳ න්‍යාය සහ භාවිතය, ඒකකයේ න්‍යාය සහ bot සඳහා ඒකාබද්ධතා පරීක්ෂණ සමඟ සත්‍යාපනය කිරීමේ පුරුද්ද එක් කරන ලදී.

DevOps අවපාතය ජනවාරි 30 වෙනිදා ආරම්භ වේ. මිල - 30.
කියවා අවසන් වූ අය සඳහා, habrapost ප්‍රවර්ධන කේතය භාවිතා කරන DevOps පාඨමාලාව සඳහා 15% ක වට්ටමක් ඇත.

ලියාපදිංචි මෙහි

ඔබව Slurms හි දැකීම ගැන මම සතුටු වෙමි!

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

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