ඔබගේ ජාල යටිතල පහසුකම් පාලනය කරන්නේ කෙසේද. හතරවන පරිච්ඡේදය. ස්වයංක්රීයකරණය. සැකිලි

මෙම ලිපිය "ඔබේ ජාල යටිතල පහසුකම් පාලනය කරන්නේ කෙසේද" යන ලිපි මාලාවේ හයවන ලිපියයි. ලිපි මාලාවේ සියලුම ලිපිවල අන්තර්ගතය සහ සබැඳි සොයා ගත හැක මෙහි.

මාතෘකා කිහිපයක් ඉතිරි කර ඇති මම නව පරිච්ඡේදයක් ආරම්භ කිරීමට තීරණය කළෙමි.

මම තව ටිකකින් ආරක්ෂාවට එන්නම්. මෙහිදී මට එක් සරල නමුත් ඵලදායි ප්‍රවේශයක් සාකච්ඡා කිරීමට අවශ්‍යය, එය එක් ආකාරයකින් හෝ වෙනත් ආකාරයකින් බොහෝ දෙනෙකුට ප්‍රයෝජනවත් විය හැකි බව මට විශ්වාසයි. මෙය ස්වයංක්‍රීයකරණය ඉංජිනේරුවෙකුගේ ජීවිතය වෙනස් කරන්නේ කෙසේද යන්න පිළිබඳ කෙටි කතාවකි. අපි සැකිලි භාවිතා කිරීම ගැන කතා කරමු. අවසානයේ මගේ ව්‍යාපෘති ලැයිස්තුවක් ඇත, මෙහි විස්තර කර ඇති සියල්ල ක්‍රියාත්මක වන ආකාරය ඔබට දැක ගත හැකිය.

ජාලය සඳහා DevOps

ස්ක්‍රිප්ට් එකක් සමඟ වින්‍යාසයක් නිර්මාණය කිරීම, තොරතුරු තාක්ෂණ යටිතල ව්‍යුහයේ වෙනස්කම් පාලනය කිරීමට GIT භාවිතා කිරීම, දුරස්ථ “උඩුගත කිරීම” - ඔබ DevOps ප්‍රවේශයේ තාක්ෂණික ක්‍රියාත්මක කිරීම ගැන සිතන විට මෙම අදහස් මුලින්ම පැමිණේ. වාසි පැහැදිලිය. එහෙත්, අවාසනාවකට මෙන්, අවාසි ද ඇත.

මීට වසර 5 කට පෙර, අපගේ සංවර්ධකයින් අප වෙත පැමිණි විට, ජාලකරුවන්, මෙම යෝජනා සමඟ, අපි සතුටට පත් නොවීය.

විවිධ වෙළෙන්දන් 10 දෙනෙකුගෙන් පමණ උපකරණ වලින් සමන්විත තරමක් මොට්ලි ජාලයක් අපට උරුම වූ බව මම පැවසිය යුතුය. අපගේ ප්‍රියතම cli හරහා සමහර දේවල් වින්‍යාස කිරීම පහසු විය, නමුත් අනෙක් ඒවා අපි GUI භාවිතා කිරීමට කැමැත්තෙමු. මීට අමතරව, "සජීවී" උපකරණ මත දිගු වැඩ කටයුතු සැබෑ කාලීන පාලනය කිරීමට අපට උගන්වා ඇත. උදාහරණයක් ලෙස, වෙනස්කම් සිදු කරන විට, cli හරහා කෙලින්ම වැඩ කිරීමට මට වඩාත් පහසුවක් දැනේ. මේ ආකාරයෙන් මට යමක් වැරදී ඇති බව ඉක්මනින් දැකගත හැකි අතර වෙනස්කම් ආපසු හරවන්න. මේ සියල්ල ඔවුන්ගේ අදහස්වලට යම් පටහැනි විය.

වෙනත් ප්‍රශ්න ද පැන නගී, උදාහරණයක් ලෙස, මෘදුකාංගයේ අනුවාදයෙන් අනුවාදයට අතුරු මුහුණත තරමක් වෙනස් විය හැකිය. මෙය අවසානයේ ඔබගේ ස්ක්‍රිප්ටය වැරදි "config" නිර්මාණය කිරීමට හේතු වේ. "ධාවනය" සඳහා නිෂ්පාදනය භාවිතා කිරීමට මම කැමති නැත.

එසේත් නැතිනම්, වින්‍යාස විධාන නිවැරදිව යෙදී ඇති බව තේරුම් ගන්නේ කෙසේද සහ දෝෂයක් ඇති වුවහොත් කුමක් කළ යුතුද?

මේ සියලු ප්‍රශ්න විසඳිය නොහැකි බව මට කියන්න අවශ්‍ය නැහැ. “A” යැයි පැවසීම “B” යැයි පැවසීම ද අර්ථවත් වන අතර, ඔබට සංවර්ධනයේ දී මෙන් වෙනස් කිරීමේ පාලනය සඳහා එකම ක්‍රියාවලීන් භාවිතා කිරීමට අවශ්‍ය නම්, ඔබට නිෂ්පාදනයට අමතරව dev සහ වේදිකා පරිසරයන් තිබිය යුතුය. එවිට මෙම ප්රවේශය සම්පූර්ණ බව පෙනේ. නමුත් එය කොපමණ මුදලක් වැය වේද?

නමුත් අවාසි ප්‍රායෝගිකව සමතලා කරන විට එක් තත්වයක් පවතින අතර වාසි පමණක් ඉතිරි වේ. මම කතා කරන්නේ නිර්මාණ කටයුතු ගැන.

ව්යාපෘති

පසුගිය වසර දෙක තුළ මම විශාල සැපයුම්කරුවෙකු සඳහා දත්ත මධ්‍යස්ථානයක් තැනීමේ ව්‍යාපෘතියකට සහභාගී වී සිටිමි. මෙම ව්‍යාපෘතියේ F5 සහ Palo Alto සඳහා මම වගකිව යුතුය. සිස්කෝගේ දෘෂ්ටි කෝණයෙන්, මෙය "තුන්වන පාර්ශවීය උපකරණ" වේ.

මට පෞද්ගලිකව, මෙම ව්‍යාපෘතියේ වෙනම අදියර දෙකක් තිබේ.

පළමු අදියර

මම නිමක් නැතිව කාර්යබහුල වූ පළමු වසරේ මම රාත්‍රී සහ සති අන්තවල වැඩ කළෙමි. මට ඔළුව උස්සන්න බැරි වුණා. කළමනාකාරිත්වයේ සහ පාරිභෝගිකයාගේ පීඩනය ශක්තිමත් සහ අඛණ්ඩ විය. නිරන්තර චර්යාවක දී, මට ක්‍රියාවලිය ප්‍රශස්ත කිරීමට උත්සාහ කිරීමට පවා නොහැකි විය. එය සැලසුම් ලියකියවිලි සකස් කිරීම වැනි උපකරණවල වින්යාසය පමණක් නොවේ.

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

මේක අවුරුද්දක් ගියා. මෙම ව්‍යාපෘතිය, මා තේරුම් ගත් පරිදි, සෑම කෙනෙකුටම පහසු නොවීය, නමුත් ක්‍රමයෙන් සේවාදායකයා වඩ වඩාත් සෑහීමකට පත් වූ අතර, මෙය දිනචරියාවෙන් කොටසක් ගැනීමට හැකි අතිරේක ඉංජිනේරුවන් බඳවා ගැනීමට හැකි විය.

දැන් අපිට ටිකක් වටපිට බලන්න පුළුවන්.
තවද මෙය දෙවන අදියරේ ආරම්භය විය.

දෙවන අදියර

මම ක්රියාවලිය ස්වයංක්රීය කිරීමට තීරණය කළා.

එකල සංවර්ධකයින් සමඟ මා කළ සන්නිවේදනයෙන් මට වැටහුණු දෙය නම් (අපි උපහාර දැක්විය යුතුයි, අපට ශක්තිමත් කණ්ඩායමක් සිටියා) නම්, බැලූ බැල්මට DOS මෙහෙයුම් පද්ධතියේ ලෝකයෙන් යමක් පෙනුනද, පෙළ ආකෘතියට අංකයක් ඇත. වටිනා දේපල .
එබැවින්, උදාහරණයක් ලෙස, ඔබට GIT සහ එහි සියලුම ව්‍යුත්පන්නයන්ගෙන් පූර්ණ ප්‍රයෝජන ගැනීමට අවශ්‍ය නම්, පෙළ ආකෘතිය ප්‍රයෝජනවත් වනු ඇත. ඒ වගේම මට ඕන වුණා.

හොඳයි, ඔබට සරලවම වින්‍යාසයක් හෝ විධාන ලැයිස්තුවක් ගබඩා කළ හැකි බව පෙනේ, නමුත් වෙනස්කම් කිරීම තරමක් අපහසුය. මීට අමතරව, සැලසුම් කිරීමේදී තවත් වැදගත් කාර්යයක් තිබේ. ඔබේ සැලසුම සමස්තයක් ලෙස (පහළ මට්ටමේ සැලසුම්) සහ නිශ්චිත ක්‍රියාත්මක කිරීම (ජාල ක්‍රියාත්මක කිරීමේ සැලැස්ම) විස්තර කරන ලියකියවිලි ඔබ සතුව තිබිය යුතුය. තවද මෙම අවස්ථාවේ දී, සැකිලි භාවිතා කිරීම ඉතා සුදුසු විකල්පයක් ලෙස පෙනේ.

එබැවින්, YAML සහ Jinja2 භාවිතා කරන විට, IP ලිපින, BGP AS අංක, ... වැනි වින්‍යාස පරාමිතීන් සහිත YAML ගොනුවක් NIP හි කාර්යභාරය මනාව ඉටු කරන අතර Jinja2 සැකිලි වල සැලසුමට අනුරූප වාක්‍ය ඛණ්ඩ ඇතුළත් වේ, එනම් එය අත්‍යවශ්‍යයෙන්ම a. LLD පිළිබිඹුව.

YAML සහ Jinja2 ඉගෙන ගන්න දවස් දෙකක් ගියා. මෙය ක්‍රියාත්මක වන ආකාරය තේරුම් ගැනීමට හොඳ උදාහරණ කිහිපයක් ප්‍රමාණවත්ය. ඉන්පසු අපගේ නිර්මාණයට ගැලපෙන සියලුම සැකිලි නිර්මාණය කිරීමට සති දෙකක් පමණ ගත විය: Palo Alto සඳහා සතියක් සහ F5 සඳහා තවත් සතියක්. මේ සියල්ල corporate githab හි පළ කර ඇත.

දැන් වෙනස් කිරීමේ ක්‍රියාවලිය මේ ආකාරයෙන් දිස් විය:

  • YAML ගොනුව වෙනස් කළා
  • සැකිල්ලක් භාවිතයෙන් වින්‍යාස ගොනුවක් සාදන ලදී (Jinja2)
  • දුරස්ථ ගබඩාවක සුරකින ලදී
  • සාදන ලද වින්‍යාසය උපකරණ වෙත උඩුගත කරන ලදී
  • මම දෝෂයක් දුටුවෙමි
  • YAML ගොනුව හෝ Jinja2 අච්චුව වෙනස් කරන ලදී
  • සැකිල්ලක් භාවිතයෙන් වින්‍යාස ගොනුවක් සාදන ලදී (Jinja2)
  • ...

මුලදී බොහෝ කාලයක් සංස්කරණ සඳහා වැය කළ බව පැහැදිලිය, නමුත් සතියකට හෝ දෙකකට පසුව මෙය තරමක් දුර්ලභ විය.

සෑම දෙයක්ම දෝෂහරණය කිරීමට හොඳ පරීක්ෂණයක් සහ අවස්ථාවක් වූයේ නම් කිරීමේ සම්මුතිය වෙනස් කිරීමට සේවාදායකයාගේ ආශාවයි. F5 සමඟ වැඩ කළ අය තත්වයේ විචිත්‍රවත් බව තේරුම් ගනී. නමුත් මට ඒ සියල්ල ඉතා සරල විය. මම YAML ගොනුවේ නම් වෙනස් කර, උපකරණයෙන් සම්පූර්ණ වින්‍යාසය මකා, නව එකක් ජනනය කර එය උඩුගත කළෙමි. දෝෂ නිවැරදි කිරීම් ඇතුළුව සෑම දෙයක්ම දින 4 ක් ගත විය: එක් එක් තාක්ෂණය සඳහා දින දෙකක්. ඉන් පසුව, මම ඊළඟ අදියර සඳහා සූදානම්ව සිටියෙමි, එනම් DEV සහ Staging දත්ත මධ්‍යස්ථාන නිර්මාණය කිරීම.

දේව් සහ වේදිකාගත කිරීම

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

අපි සාරාංශ කරමු

ඉතින්, මට පහළ රේඛාවේ ඇත්තේ කුමක්ද?

  • වින්‍යාසය වෙනස් කිරීමට මා කළ යුත්තේ වින්‍යාස පරාමිතීන් සහිත සරල, පැහැදිලිව ව්‍යුහගත YAML ගොනුවක් වෙනස් කිරීමයි. මම කිසිවිටක python script එක වෙනස් නොකරන අතර ඉතා කලාතුරකින් (දෝෂයක් ඇත්නම් පමණක්) Jinja2 heatlate එක වෙනස් කරමි.
  • ලේඛනගත කිරීමේ දෘෂ්ටි කෝණයෙන්, මෙය පාහේ පරිපූර්ණ තත්වයකි. ඔබ ලේඛන වෙනස් කරන්න (YAML ගොනු NIP ලෙස සේවය කරයි) සහ මෙම වින්‍යාසය උපකරණ වෙත උඩුගත කරන්න. මේ ආකාරයට ඔබේ ලේඛන සෑම විටම යාවත්කාලීන වේ

මේ සියල්ල හේතු විය

  • දෝෂ අනුපාතය ආසන්න වශයෙන් 0 දක්වා පහත වැටී ඇත
  • දිනචරියාවෙන් සියයට 90ක්ම ඉවරයි
  • ක්රියාත්මක කිරීමේ වේගය සැලකිය යුතු ලෙස වැඩි වී ඇත

ගෙවන්න, F5Y, ACY

එය ක්‍රියාත්මක වන ආකාරය තේරුම් ගැනීමට උදාහරණ කිහිපයක් ප්‍රමාණවත් බව මම කීවෙමි.
මෙන්න මගේ වැඩ අතරතුර නිර්මාණය කරන ලද දේවල කෙටි (සහ ඇත්ත වශයෙන්ම වෙනස් කරන ලද) අනුවාදයකි.

ගෙවන්න = යෙදවීම Pහෙලෝ Aසිට Yaml = Yaml වෙතින් Palo Alto
F5Y = යෙදවීම F5 සිට Yaml = F5 සිට Yaml (ළඟදීම පැමිණේ)
ඒසී = යෙදවීම ACමම සිට Yaml = F5 සිට Yaml

මම ACY ගැන වචන කිහිපයක් එකතු කරන්නම් (ACI සමඟ පටලවා නොගත යුතුය).

ACI එකත් එක්ක වැඩ කරපු අය දන්නවා මේ ආශ්චර්යය (ඒවගේම හොඳ විදිහටත්) අනිවාර්යයෙන්ම නෙට්වර්ක්කාරයෝ හදපු එකක් නෙවෙයි කියලා :). ජාලය ගැන ඔබ දැන සිටි සියල්ල අමතක කරන්න - එය ඔබට ප්රයෝජනවත් නොවනු ඇත!
එය ටිකක් අතිශයෝක්තියට නංවා ඇත, නමුත් එය දළ වශයෙන් මම ACI සමඟ වැඩ කිරීම, පසුගිය වසර 3 තුළ නිරන්තරයෙන් අත්විඳින බව හැඟීමයි.

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

මෙම ව්‍යාපෘතියේ ඉංජිනේරුවන් හරියටම එකම අරමුණු සඳහා YAML වෙනුවට ACI වින්‍යාස කිරීමට Excel භාවිතා කරයි. ඇත්ත වශයෙන්ම, එක්සෙල් භාවිතා කිරීමේ වාසි ඇත:

  • ඔබගේ NIP එක ගොනුවක
  • සේවාදායකයාට නැරඹීමට ප්‍රසන්න ලස්සන සලකුණු
  • ඔබට සමහර excel මෙවලම් භාවිතා කළ හැකිය

නමුත් එක් අවාසියක් ඇති අතර, මගේ මතය අනුව එය වාසි වලට වඩා වැඩි ය. වෙනස්කම් පාලනය කිරීම සහ කණ්ඩායම් වැඩ සම්බන්ධීකරණය කිරීම වඩාත් අපහසු වේ.

ACY යනු ඇත්ත වශයෙන්ම ACI වින්‍යාස කිරීම සඳහා 3 වන පාර්ශවය සඳහා මා භාවිතා කළ ප්‍රවේශවලම යෙදුමකි.

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

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