වින්‍යාස කළමනාකරණය සමඟ ආශ්චර්යයන් නොමැතිව සේවාදායකයන් පිහිටුවීම පිළිබඳ ත්‍රාසජනක කතාවකි

එය අලුත් අවුරුද්ද ළං වෙමින් තිබුණි. රට පුරා සිටින ළමයින් දැනටමත් නත්තල් සීයා වෙත ලිපි යවා හෝ තමන් වෙනුවෙන් තෑගි ලබා දී ඇති අතර, ඔවුන්ගේ ප්‍රධාන විධායකයා, ප්‍රධාන සිල්ලර වෙළෙන්දෙකු වන අතර, විකුණුම්වල අපෝතියෝසිස් සඳහා සූදානම් වෙමින් සිටියේය. දෙසැම්බර් මාසයේදී එහි දත්ත මධ්යස්ථානයේ බර කිහිප වතාවක් වැඩිවේ. එමනිසා, සමාගම දත්ත මධ්‍යස්ථානය නවීකරණය කිරීමට තීරණය කර එහි සේවා කාලය අවසන් වන උපකරණ වෙනුවට නව සේවාදායකයන් දුසිම් කිහිපයක් ක්‍රියාත්මක කිරීමට තීරණය කළේය. කැරකෙන හිම පියලි පසුබිමට එරෙහිව මෙය කතාව අවසන් කරන අතර ත්‍රාසජනක කතාව ආරම්භ වේ.

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

නව සේවාදායකයන් ආරම්භ කිරීම නියමිත දිනට දැඩි ලෙස බැඳී ඇත. එය ගෙනයාමෙන් අදහස් කළේ තෑගි බිලියනයක නැව්ගත කිරීම සහ පද්ධති සංක්‍රමණය යන දෙකම අනතුරේ හෙළීමයි. ෆාදර් ෆ්‍රොස්ට් සහ සැන්ටා ක්ලවුස්ගෙන් සමන්විත කණ්ඩායමකට පවා දිනය වෙනස් කළ නොහැක - ඔබට ගබඩා කළමනාකරණය සඳහා SAP පද්ධතිය මාරු කළ හැක්කේ වසරකට වරක් පමණි. දෙසැම්බර් 31 සිට ජනවාරි 1 දක්වා, සිල්ලර වෙළෙන්දාගේ විශාල ගබඩා, මුළු පාපන්දු පිටි 20 ක විශාලත්වය, පැය 15 ක් සඳහා ඔවුන්ගේ වැඩ නතර කරයි. තවද පද්ධතිය චලනය කිරීමට ඇති එකම කාල පරිච්ඡේදය මෙයයි. සේවාදායකයන් හඳුන්වා දීමේදී අපට දෝෂ සඳහා ඉඩක් නොතිබුණි.

මට පැහැදිලිව කියන්නට ඉඩ දෙන්න: මගේ කතාව අපගේ කණ්ඩායම භාවිතා කරන මෙවලම් සහ වින්‍යාස කළමනාකරණ ක්‍රියාවලිය පිළිබිඹු කරයි.

වින්‍යාස කළමනාකරණ සංකීර්ණය මට්ටම් කිහිපයකින් සමන්විත වේ. ප්රධාන අංගය වන්නේ CMS පද්ධතියයි. කාර්මික මෙහෙයුමේදී, මට්ටම් වලින් එකක් නොමැති වීම අනිවාර්යයෙන්ම අප්රසන්න ප්රාතිහාර්යයන් කරා ගෙන යනු ඇත.

OS ස්ථාපන කළමනාකරණය

පළමු මට්ටම භෞතික සහ අථත්ය සේවාදායකයන් මත මෙහෙයුම් පද්ධති ස්ථාපනය කිරීම කළමනාකරණය කිරීමේ පද්ධතියකි. එය මූලික OS වින්‍යාසයන් නිර්මාණය කරයි, මානව සාධකය ඉවත් කරයි.

මෙම පද්ධතිය භාවිතා කරමින්, වැඩිදුර ස්වයංක්‍රීයකරණය සඳහා සුදුසු OS සහිත සම්මත සේවාදායක අවස්ථා අපට ලැබුණි. “වත් කිරීම” අතරතුර ඔවුන්ට අවම දේශීය පරිශීලකයින් සහ පොදු SSH යතුරු කට්ටලයක් මෙන්ම ස්ථාවර OS වින්‍යාසයක් ද ලැබුණි. CMS හරහා සේවාදායකයන් කළමනාකරණය කිරීමට අපට සහතික විය හැකි අතර OS මට්ටමින් "පහළින්" විස්මයන් නොමැති බව සහතික විය.

ස්ථාපන කළමනාකරණ පද්ධතිය සඳහා "උපරිම" කාර්යය වන්නේ BIOS/Firmware මට්ටමේ සිට OS වෙත සේවාදායකයන් ස්වයංක්‍රීයව වින්‍යාස කිරීමයි. මෙහි බොහෝ දේ රඳා පවතින්නේ උපකරණ සහ සැකසුම් කාර්යයන් මත ය. විෂමජාතීය උපකරණ සඳහා, ඔබට සලකා බැලිය හැකිය රතු මාළු API. සියලුම දෘඩාංග එක් වෙළෙන්දෙකුගෙන් නම්, බොහෝ විට සූදානම් කළ කළමනාකරණ මෙවලම් භාවිතා කිරීම වඩාත් පහසු වේ (උදාහරණයක් ලෙස, HP ILO ඇම්ප්ලිෆයර්, DELL OpenManage, ආදිය).

භෞතික සේවාදායකයන් මත OS ස්ථාපනය කිරීම සඳහා, අපි මෙහෙයුම් සේවාව සමඟ එකඟ වූ ස්ථාපන පැතිකඩ කට්ටලයක් නිර්වචනය කරන සුප්රසිද්ධ Cobbler භාවිතා කළෙමු. යටිතල ව්‍යුහයට නව සේවාදායකයක් එක් කරන විට, ඉංජිනේරුවරයා සේවාදායකයේ MAC ලිපිනය Cobbler හි අවශ්‍ය පැතිකඩට සම්බන්ධ කළේය. පළමු වරට ජාලය හරහා ආරම්භ කරන විට, සේවාදායකයට තාවකාලික ලිපිනයක් සහ නැවුම් මෙහෙයුම් පද්ධතියක් ලැබුණි. පසුව එය ඉලක්කගත VLAN/IP ලිපිනයට මාරු කර එහි දිගටම වැඩ කළා. ඔව්, VLAN වෙනස් කිරීමට කාලය ගත වන අතර සම්බන්ධීකරණය අවශ්‍ය වේ, නමුත් එය නිෂ්පාදන පරිසරයක් තුළ සේවාදායකය අහම්බෙන් ස්ථාපනය කිරීමට එරෙහිව අමතර ආරක්ෂාවක් සපයයි.

අපි HashiСorp Packer භාවිතයෙන් සකස් කරන ලද සැකිලි මත පදනම්ව අතථ්‍ය සේවාදායකයන් නිර්මාණය කළෙමු. හේතුව එකම විය: OS ස්ථාපනය කිරීමේදී සිදුවිය හැකි මානව දෝෂ වැළැක්වීම සඳහා. නමුත්, භෞතික සේවාදායකයන් මෙන් නොව, PXE, ජාල ආරම්භ කිරීම සහ VLAN වෙනස්කම් සඳහා Packer ඉවත් කරයි. මෙය අතථ්‍ය සේවාදායකයන් නිර්මාණය කිරීම පහසු සහ සරල කර ඇත.

වින්‍යාස කළමනාකරණය සමඟ ආශ්චර්යයන් නොමැතිව සේවාදායකයන් පිහිටුවීම පිළිබඳ ත්‍රාසජනක කතාවකි
සහල්. 1. මෙහෙයුම් පද්ධති ස්ථාපනය කළමනාකරණය කිරීම.

රහස් කළමනාකරණය

ඕනෑම වින්‍යාස කළමනාකරණ පද්ධතියක සාමාන්‍ය පරිශීලකයින්ගෙන් සැඟවිය යුතු දත්ත අඩංගු වන නමුත් පද්ධති සකස් කිරීමට අවශ්‍ය වේ. මේවා දේශීය පරිශීලකයින් සහ සේවා ගිණුම්, සහතික යතුරු, විවිධ API ටෝකන ආදිය සඳහා මුරපද වේ. ඒවා සාමාන්‍යයෙන් "රහස්" ලෙස හැඳින්වේ.

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

  • සෘජුවම වින්‍යාස පාලන කේතයේ හෝ ගබඩාවේ ඇති ගොනු වල;
  • විශේෂිත වින්‍යාස කළමනාකරණ මෙවලම්වල (උදාහරණයක් ලෙස, Ansible Vault);
  • CI/CD පද්ධතිවල (Jenkins/TeamCity/GitLab/etc.) හෝ වින්‍යාස කළමනාකරණ පද්ධතිවල (Ansible Tower/Ansible AWX);
  • රහස් "අතින්" මාරු කළ හැකිය. උදාහරණයක් ලෙස, ඒවා නිශ්චිත ස්ථානයක තබා ඇති අතර පසුව ඒවා වින්‍යාස කළමනාකරණ පද්ධති විසින් භාවිතා කරනු ලැබේ;
  • ඉහත විවිධ සංයෝජන.

සෑම ක්රමයක්ම තමන්ගේම අවාසි ඇත. ප්රධාන එක නම් රහස් සඳහා ප්රවේශය සඳහා ප්රතිපත්ති නොමැති වීමයි: ඇතැම් රහස් භාවිතා කළ හැක්කේ කාටද යන්න තීරණය කිරීමට නොහැකි හෝ අපහසු වේ. තවත් අවාසියක් වන්නේ ප්රවේශ විගණනය සහ සම්පූර්ණ ජීවන චක්රයක් නොමැතිකමයි. උදාහරණයක් ලෙස, කේතයේ සහ අදාළ පද්ධති ගණනාවක ලියා ඇති පොදු යතුරක් ඉක්මනින් ප්‍රතිස්ථාපනය කරන්නේ කෙසේද?

අපි මධ්‍යගත රහස් ගබඩා HashiCorp Vault භාවිත කළා. මෙය අපට ඉඩ දුන්නේ:

  • රහස් සුරක්ෂිතව තබා ගන්න. ඒවා සංකේතනය කර ඇති අතර, යමෙකු වෝල්ට් දත්ත ගබඩාවට ප්‍රවේශය ලබා ගත්තද (උදාහරණයක් ලෙස, එය උපස්ථයකින් ප්‍රතිස්ථාපනය කිරීමෙන්), එහි ගබඩා කර ඇති රහස් කියවීමට ඔවුන්ට නොහැකි වනු ඇත;
  • රහස් වෙත ප්‍රවේශය සඳහා ප්‍රතිපත්ති සංවිධානය කරන්න. පරිශීලකයින්ට සහ යෙදුම් වලට ලබා ගත හැක්කේ ඔවුන්ට "වෙන් කර ඇති" රහස් පමණි;
  • රහස් සඳහා විගණන ප්රවේශය. රහස් සහිත ඕනෑම ක්‍රියාවක් වෝල්ට් විගණන ලොගයේ සටහන් වේ;
  • රහස් සමඟ වැඩ කිරීමේ සම්පූර්ණ "ජීවන චක්රය" සංවිධානය කරන්න. ඒවා නිර්මාණය කළ හැකිය, අවලංගු කළ හැකිය, කල් ඉකුත්වන දිනයක් නියම කළ හැකිය.
  • රහස් සඳහා ප්රවේශය අවශ්ය අනෙකුත් පද්ධති සමඟ ඒකාබද්ධ කිරීම පහසුය;
  • තවද අන්තයේ සිට අගට සංකේතනය කිරීම, OS සහ දත්ත සමුදාය සඳහා එක් වරක් මුරපද, බලයලත් මධ්‍යස්ථානවල සහතික ආදිය භාවිතා කරන්න.

දැන් අපි මධ්‍යම සත්‍යාපනය සහ අවසර පද්ධතිය වෙත යමු. එය නොමැතිව කළ හැකි විය, නමුත් බොහෝ සම්බන්ධිත පද්ධතිවල පරිශීලකයින් පරිපාලනය කිරීම ඉතා සුළු දෙයක් නොවේ. අපි LDAP සේවාව හරහා සත්‍යාපනය සහ අවසරය වින්‍යාස කර ඇත. එසේ නොමැතිනම්, Voult හට පරිශීලකයින් සඳහා සත්‍යාපන ටෝකන අඛණ්ඩව නිකුත් කිරීමට සහ ඒවා නිරීක්ෂණය කිරීමට සිදුවනු ඇත. පරිශීලකයින් මකා දැමීම සහ එකතු කිරීම "මම මෙම පරිශීලක ගිණුම සෑම තැනකම සෑදුවාද / මකා දැමුවාද?" ගවේෂණයක් බවට පත්වේ.

අපි අපගේ පද්ධතියට තවත් මට්ටමක් එක් කරන්නෙමු: රහස් කළමනාකරණය සහ මධ්‍යම සත්‍යාපනය/අවසරය:

වින්‍යාස කළමනාකරණය සමඟ ආශ්චර්යයන් නොමැතිව සේවාදායකයන් පිහිටුවීම පිළිබඳ ත්‍රාසජනක කතාවකි
සහල්. 2. රහස් කළමනාකරණය.

වින්යාස කළමනාකරණය

අපි හරයට ආවා - CMS පද්ධතිය. අපගේ නඩුවේදී, මෙය Ansible සහ Red Hat Ansible AWX වල එකතුවකි.

Ansible වෙනුවට Chef, Puppet, SaltStack භාවිතා කළ හැකිය. අපි නිර්ණායක කිහිපයක් මත පදනම්ව Ansible තෝරා ගත්තෙමු.

  • පළමුව, එය බහුකාර්යතාවයි. පාලනය සඳහා සූදානම් කළ මොඩියුල කට්ටලයක් එය සිත් ඇදගන්නා සුළු ය. ඔබට එය ප්‍රමාණවත් නොවේ නම්, ඔබට GitHub සහ Galaxy මත සෙවිය හැක.
  • දෙවනුව, කළමනාකරණය කරන ලද උපකරණ මත නියෝජිතයන් ස්ථාපනය කිරීම සහ සහාය දීම අවශ්ය නොවේ, ඔවුන් බර පැටවීමට බාධා නොකරන බව ඔප්පු කිරීම සහ "පිටු සලකුණු" නොමැති බව තහවුරු කිරීම.
  • තෙවනුව, Ansible හට ඇතුල් වීමට අඩු බාධකයක් ඇත. දක්ෂ ඉංජිනේරුවෙකු නිෂ්පාදනය සමඟ වැඩ කරන පළමු දිනයේ වචනාර්ථයෙන් වැඩ කරන ක්‍රීඩා පොතක් ලියයි.

නමුත් නිෂ්පාදන පරිසරයක ඇන්සිබල් පමණක් අපට ප්‍රමාණවත් නොවීය. එසේ නොවුවහොත්, ප්රවේශය සීමා කිරීම සහ පරිපාලකයින්ගේ ක්රියාවන් විගණනය කිරීම සම්බන්ධයෙන් බොහෝ ගැටළු මතු වනු ඇත. ප්රවේශය සීමා කරන්නේ කෙසේද? සියල්ලට පසු, එක් එක් දෙපාර්තමේන්තුවට කළමනාකරණය කිරීම (කියවීම: Ansible playbook ධාවනය කිරීම) "තමන්ගේම" සේවාදායක කට්ටලයක් අවශ්ය විය. නිශ්චිත Ansible playbooks ධාවනය කිරීමට ඇතැම් සේවකයින්ට පමණක් ඉඩ දෙන්නේ කෙසේද? එසේත් නැතිනම් Ansible ධාවනය වන සර්වර් සහ උපකරණ පිළිබඳ දේශීය දැනුම විශාල ප්‍රමාණයක් සැකසීමෙන් තොරව ප්ලේබුක් දියත් කළේ කවුරුන්දැයි සොයා ගන්නේ කෙසේද?

එවැනි ගැටළු වල සිංහ කොටස Red Hat විසින් විසඳනු ලැබේ ඇන්සිබල් කුළුණ, හෝ ඔහුගේ විවෘත මූලාශ්‍ර upstream ව්‍යාපෘතිය Ansible AWX. ඒ නිසා අපි පාරිභෝගිකයා සඳහා එය වඩාත් කැමති විය.

අපගේ CMS පද්ධතියේ ප්‍රතිමූර්තියට තවත් එක් ස්පර්ශයක්. Ansible playbook කේත ගබඩා කළමණාකරණ පද්ධතිවල ගබඩා කළ යුතුය. අපිට ඒක තියෙනවා GitLab CE.

එබැවින්, වින්‍යාසයන්ම කළමනාකරණය කරනු ලබන්නේ Ansible/Ansible AWX/GitLab සංයෝගයක් මගිනි (රූපය 3 බලන්න). ඇත්ත වශයෙන්ම, AWX/GitLab තනි සත්‍යාපන පද්ධතියක් සමඟ ඒකාබද්ධ වී ඇති අතර, Ansible playbook HashiCorp Vault සමඟ ඒකාබද්ධ වේ. වින්‍යාසයන් නිෂ්පාදන පරිසරයට ඇතුළු වන්නේ Ansible AWX හරහා පමණි, එහි සියලුම “ක්‍රීඩාවේ නීති” නිශ්චිතව දක්වා ඇත: කුමක් වින්‍යාසගත කළ හැක්කේ කාටද, CMS සඳහා වින්‍යාස කළමනාකරණ කේතය ලබා ගන්නේ කොහෙන්ද යනාදිය.

වින්‍යාස කළමනාකරණය සමඟ ආශ්චර්යයන් නොමැතිව සේවාදායකයන් පිහිටුවීම පිළිබඳ ත්‍රාසජනක කතාවකි
සහල්. 3. වින්‍යාස කළමනාකරණය.

පරීක්ෂණ කළමනාකරණය

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

මෙය වහාම සිදු නොකළහොත්, වින්‍යාසය සඳහා ලියා ඇති භූමිකාවන් සහාය දැක්වීම සහ වෙනස් කිරීම නවත්වනු ඇත, නැතහොත් නිෂ්පාදනයේ දියත් කිරීම නවත්වනු ඇත. මෙම වේදනාව සඳහා ප්‍රතිකාරය දන්නා අතර එය මෙම ව්‍යාපෘතියෙන් ඔප්පු වී ඇත:

  • සෑම භූමිකාවක්ම ඒකක පරීක්ෂණ මගින් ආවරණය කෙරේ;
  • වින්‍යාසයන් කළමනාකරණය කරන කේතයේ යම් වෙනසක් සිදු වූ විට පරීක්ෂණ ස්වයංක්‍රීයව ක්‍රියාත්මක වේ;
  • වින්‍යාස කළමනාකරණ කේතයේ වෙනස්කම් නිෂ්පාදන පරිසරයට මුදා හරිනු ලබන්නේ සියලුම පරීක්ෂණ සහ කේත සමාලෝචනය සාර්ථකව සමත් වීමෙන් පසුව පමණි.

කේත සංවර්ධනය සහ වින්‍යාස කළමනාකරණය සන්සුන් සහ වඩාත් පුරෝකථනය කළ හැකි බවට පත්ව ඇත. අඛණ්ඩ පරීක්ෂණ සංවිධානය කිරීම සඳහා, අපි GitLab CI/CD මෙවලම් කට්ටලය භාවිතා කළෙමු Ansible Molecule.

වින්‍යාස කළමනාකරණ කේතයේ වෙනසක් ඇති විට, GitLab CI/CD අණුව අමතයි:

  • එය කේත වාක්‍ය ඛණ්ඩය පරීක්ෂා කරයි,
  • ඩොකර් කන්ටේනරය ඔසවයි,
  • සාදන ලද බහාලුමට වෙනස් කරන ලද කේතය යොදයි,
  • idempotency සඳහා භූමිකාව පරීක්ෂා කර මෙම කේතය සඳහා පරීක්ෂණ පවත්වයි (මෙහි කැටිති ප්‍රතික්‍රියා කළ හැකි භූමිකාවේ මට්ටමින් ඇත, Fig. 4 බලන්න).

අපි Ansible AWX භාවිතයෙන් නිෂ්පාදන පරිසරයට වින්‍යාසයන් ලබා දුන්නෙමු. මෙහෙයුම් ඉංජිනේරුවන් පූර්ව නිශ්චිත සැකිලි හරහා වින්‍යාස වෙනස්කම් යොදන ලදී. AWX එය භාවිතා කරන සෑම අවස්ථාවකම GitLab මාස්ටර් ශාඛාවෙන් කේතයේ නවතම අනුවාදය ස්වාධීනව "ඉල්ලුවා". මේ ආකාරයෙන් අපි නිෂ්පාදන පරිසරය තුළ පරීක්ෂා නොකළ හෝ යල් පැන ගිය කේත භාවිතය බැහැර කළෙමු. ස්වාභාවිකවම, කේතය ප්‍රධාන ශාඛාවට ඇතුළු වූයේ පරීක්ෂා කිරීම, සමාලෝචනය සහ අනුමැතියෙන් පසුව පමණි.

වින්‍යාස කළමනාකරණය සමඟ ආශ්චර්යයන් නොමැතිව සේවාදායකයන් පිහිටුවීම පිළිබඳ ත්‍රාසජනක කතාවකි
සහල්. 4. GitLab CI/CD හි භූමිකාවන් ස්වයංක්‍රීයව පරීක්ෂා කිරීම.

නිෂ්පාදන පද්ධතිවල ක්‍රියාකාරිත්වය හා සම්බන්ධ ගැටලුවක් ද තිබේ. සැබෑ ජීවිතයේ දී, CMS කේතය හරහා පමණක් වින්‍යාසය වෙනස් කිරීම ඉතා අපහසුය. කේත සංස්කරණය කිරීම, පරීක්ෂා කිරීම, අනුමැතිය යනාදිය බලා නොසිට ඉංජිනේරුවෙකු “මෙතැන සහ දැන්” වින්‍යාසය වෙනස් කළ යුතු විට හදිසි අවස්ථා පැන නගී.

මෙහි ප්‍රතිඵලයක් වශයෙන්, අතින් සිදුකරන වෙනස්කම් හේතුවෙන්, එකම වර්ගයේ උපකරණවල වින්‍යාසය තුළ නොගැලපීම් දිස්වේ (උදාහරණයක් ලෙස, sysctl සැකසුම් HA පොකුරු නෝඩ් මත වෙනස් ලෙස වින්‍යාස කර ඇත). නැතහොත් CMS කේතයේ දක්වා ඇති උපකරණයේ සැබෑ වින්‍යාසය වෙනස් වේ.

එබැවින්, අඛණ්ඩ පරීක්ෂාවට අමතරව, අපි වින්‍යාස විෂමතා සඳහා නිෂ්පාදන පරිසරයන් පරීක්ෂා කරමු. අපි සරලම විකල්පය තෝරා ගත්තෙමු: CMS වින්‍යාස කේතය “වියළි ධාවන” මාදිලියේ ධාවනය කිරීම, එනම් වෙනස්කම් යෙදීමෙන් තොරව, නමුත් සැලසුම් කළ සහ සත්‍ය වින්‍යාසය අතර ඇති සියලුම විෂමතා දැනුම් දීමෙන්. නිෂ්පාදන සේවාදායක මත "-චෙක්" විකල්පය සමඟින් සියලුම Ansible playbooks කාලානුරූපව ධාවනය කිරීමෙන් අපි මෙය ක්‍රියාත්මක කළෙමු. සෑම විටම, Ansible AWX ප්ලේබුක් දියත් කිරීම සහ යාවත්කාලීනව තබා ගැනීම සඳහා වගකිව යුතුය (රූපය 5 බලන්න):

වින්‍යාස කළමනාකරණය සමඟ ආශ්චර්යයන් නොමැතිව සේවාදායකයන් පිහිටුවීම පිළිබඳ ත්‍රාසජනක කතාවකි
සහල්. 5. Ansible AWX හි වින්‍යාස විෂමතා සඳහා පරීක්ෂා කරයි.

පරීක්ෂා කිරීමෙන් පසුව, AWX පරිපාලකයින්ට විෂමතා වාර්තාවක් යවයි. ඔවුන් ගැටළු සහගත වින්‍යාසය අධ්‍යයනය කර පසුව සකස් කරන ලද ක්‍රීඩා පොත් හරහා එය නිවැරදි කරයි. නිෂ්පාදන පරිසරය තුළ අපි වින්‍යාසය පවත්වා ගෙන යන ආකාරය මෙය වන අතර CMS සැමවිටම යාවත්කාලීනව සහ සමමුහුර්ත වේ. මෙය "නිෂ්පාදන" සේවාදායකයන් මත CMS කේතය භාවිතා කරන විට අප්රසන්න "ප්රාතිහාර්යයන්" ඉවත් කරයි.

අපි දැන් Ansible AWX/GitLab/Molecule වලින් සමන්විත වැදගත් පරීක්ෂණ ස්ථරයක් ඇත (Figure 6).

වින්‍යාස කළමනාකරණය සමඟ ආශ්චර්යයන් නොමැතිව සේවාදායකයන් පිහිටුවීම පිළිබඳ ත්‍රාසජනක කතාවකි
සහල්. 6. පරීක්ෂණ කළමනාකරණය.

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

අද දින සේවාදායකයන් සහ පරිසරයන්හි සැකසුම් තුළ "රහස් දැනුමක්" නොමැත. අවශ්‍ය සියලුම අංග ක්‍රීඩා පොතේ පිළිබිඹු වේ. තවත් නිර්මාණශීලීත්වය සහ නොපැහැදිලි උපදෙස් නොමැත: "සාමාන්‍ය Oracle මෙන් එය ස්ථාපනය කරන්න, නමුත් ඔබට sysctl සැකසුම් කිහිපයක් සඳහන් කර අවශ්‍ය UID සහිත පරිශීලකයින් එක් කිරීමට අවශ්‍ය වේ. ඔපරේෂන් එකේ ඉන්න කොල්ලන්ගෙන් අහපන් උන් දන්නවා".

වින්‍යාස විෂමතා හඳුනා ගැනීමට සහ ඒවා ක්‍රියාකාරීව නිවැරදි කිරීමට ඇති හැකියාව මනසේ සාමය ලබා දෙයි. වින්‍යාස කළමනාකරණ පද්ධතියක් නොමැතිව, මෙය සාමාන්‍යයෙන් වෙනස් ලෙස පෙනේ. එක් දිනක් නිෂ්පාදනයට "වෙඩි තබන" තෙක් ගැටළු එකතු වේ. ඉන්පසු විස්තර කිරීමක් සිදු කරනු ලැබේ, වින්‍යාසයන් පරීක්ෂා කර නිවැරදි කරනු ලැබේ. සහ චක්රය නැවතත් පුනරාවර්තනය වේ

ඇත්ත වශයෙන්ම, අපි සේවාදායකයන් ක්‍රියාත්මක කිරීම දින කිහිපයක සිට පැය දක්වා වේගවත් කළෙමු.

හොඳයි, අලුත් අවුරුදු උදාවේදීම, ළමයින් ප්‍රීතියෙන් තෑගි අසුරන විට සහ වැඩිහිටියන් නාද වන විට ප්‍රාර්ථනා කරන විට, අපගේ ඉංජිනේරුවන් SAP පද්ධතිය නව සේවාදායකයන් වෙත සංක්‍රමණය කළහ. සැන්ටා ක්ලවුස් පවා පවසන්නේ හොඳම ආශ්චර්යයන් හොඳින් සූදානම් කර ඇති බවයි.

PS අපගේ කණ්ඩායම බොහෝ විට ගනුදෙනුකරුවන්ට හැකිතාක් සරලව වින්‍යාස කළමනාකරණ ගැටළු විසඳීමට අවශ්‍ය බව හමු වේ. ඉතා මැනවින්, මැජික් මගින් මෙන් - එක් මෙවලමක් සමඟ. නමුත් ජීවිතයේ සෑම දෙයක්ම වඩාත් සංකීර්ණ වේ (ඔව්, රිදී උණ්ඩ නැවත ලබා දුන්නේ නැත): ඔබ පාරිභෝගික කණ්ඩායමට පහසු වන මෙවලම් භාවිතයෙන් සම්පූර්ණ ක්රියාවලියක් නිර්මාණය කළ යුතුය.

කර්තෘ: Sergey Artemov, දෙපාර්තමේන්තු ගෘහ නිර්මාණ ශිල්පියා DevOps විසඳුම් "Jet Infosystems"

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

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