Red Hat Ansible Engine 2.9 හි එළඹෙන නිකුතුව ආකර්ෂණීය වැඩිදියුණු කිරීම් ගෙන එයි, ඒවායින් සමහරක් මෙම ලිපියෙන් ආවරණය කෙරේ. සෑම විටම මෙන්, අපි ප්රජා සහයෝගය ඇතිව විවෘතව Ansible Network වැඩිදියුණු කිරීම් සිදු කරමින් සිටිමු. අප හා එක්වන්න - බලන්න
අපි මෑතකදී නිවේදනය කළ පරිදි,
- Arista EOS
- සිස්කෝ අයිඕඑස්
- Cisco IOS XR
- Cisco NX-OS
- ජුනිපර් ජූනෝස්
- VyOS
Ansible Automation දායකත්වය හරහා Red Hat විසින් සම්පුර්ණයෙන්ම සහාය දක්වන වේදිකාවල සම්පූර්ණ ලැයිස්තුවක් සඳහා,
අපි මොනවද ඉගෙන ගෙන තියෙන්නේ
පසුගිය වසර හතර තුළ, අපි ජාල ස්වයංක්රීය වේදිකාවක් සංවර්ධනය කිරීම ගැන බොහෝ දේ ඉගෙන ගත්තෙමු. ඒකත් අපි ඉගෙන ගත්තා ආකාරය වේදිකා කෞතුක වස්තු Ansible playbooks සහ අවසාන පරිශීලකයින් විසින් භූමිකාවන්හි භාවිතා වේ. සහ අපි සොයා ගත් දේ මෙන්න:
- සංවිධාන යනු එක් අයෙකුගෙන් පමණක් නොව බොහෝ වෙළෙන්දන්ගෙන් උපාංග ස්වයංක්රීය කරයි.
- ස්වයංක්රීයකරණය තාක්ෂණික සංසිද්ධියක් පමණක් නොව සංස්කෘතික එකක් ද වේ.
- පරිමාණයෙන් ජාල ස්වයංක්රීය කිරීම ස්වයංක්රීය සැලසුම්කරණයේ මූලික වාස්තු විද්යාත්මක මූලධර්ම නිසා පෙනෙනවාට වඩා දුෂ්කර ය.
අපි වසරකට පෙර අපගේ දිගුකාලීන වර්ධන සැලසුම් ගැන සාකච්ඡා කළ විට, අපගේ ආයතනික ගනුදෙනුකරුවන් පහත සඳහන් දෑ ඉල්ලා සිටියේය:
- කරුණු එකතු කිරීම වඩා හොඳින් ප්රමිතිගත කළ යුතු අතර සියලු උපාංග හරහා ස්වයංක්රීයකරණ කාර්ය ප්රවාහයන් සමඟ සමපාත විය යුතුය.
- උපාංගයේ වින්යාස කිරීම් යාවත්කාලීන කිරීම ද ප්රමිතිගත සහ අනුකූල විය යුතු අතර එමඟින් කරුණු එකතු කිරීමෙන් පසු ඇන්සිබල් මොඩියුල චක්රයේ දෙවන භාගය හැසිරවිය යුතුය.
- උපාංග වින්යාසය ව්යුහගත දත්ත බවට පරිවර්තනය කිරීම සඳහා අපට දැඩි සහ සහාය දක්වන ක්රම අවශ්ය වේ. මෙම පදනම මත, සත්යයේ මූලාශ්රය ජාල උපාංගයෙන් ගෙන යා හැක.
කරුණු වැඩිදියුණු කිරීම්
Ansible භාවිතයෙන් ජාල උපාංගවලින් කරුණු රැස් කිරීම බොහෝ විට අහඹු ලෙස සිදු වේ. වෙබ් පාදක වේදිකා වලට විවිධ මට්ටමේ කරුණු රැස් කිරීමේ හැකියාවන් ඇත, නමුත් ඒවාට ප්රධාන වටිනාකම් යුගලවල දත්ත විග්රහ කිරීම සහ ප්රමිතිගත කිරීම සඳහා ක්රියාකාරීත්වය අඩු හෝ නැත. කියවන්න
අපි Ansible Network Engine භූමිකාවේ වැඩ කරනවා ඔබ දැක ඇති. ස්වාභාවිකවම, 24K බාගැනීම් පසුව, Network Engine භූමිකාව ඉක්මනින් ජාල ස්වයංක්රීයකරණ අවස්ථා සඳහා Ansible Galaxy හි වඩාත් ජනප්රිය Ansible භූමිකාවන්ගෙන් එකක් බවට පත්ව ඇත. Ansible 2.8 හි අවශ්ය දේ සඳහා සූදානම් වීම සඳහා අපි මෙයින් බොහෝ දේ Ansible 2.9 වෙත ගෙන යාමට පෙර, මෙම Ansible භූමිකාව විධාන විග්රහ කිරීමට, විධාන කළමනාකරණය කිරීමට සහ ජාල උපාංග සඳහා දත්ත රැස් කිරීමට උපකාර වන පළමු මෙවලම් කට්ටලය සපයන ලදී.
ඔබ Network Engine භාවිතා කරන්නේ කෙසේදැයි දන්නේ නම්, මෙය Ansible හි භාවිතය සඳහා සත්ය දත්ත රැස් කිරීමට, විග්රහ කිරීමට සහ ප්රමිතිගත කිරීමට ඉතා කාර්යක්ෂම ක්රමයකි. මෙම භූමිකාවේ අවාසිය නම්, ඔබ එක් එක් වේදිකාව සඳහා සහ සියලුම ජාල ක්රියාකාරකම් සඳහා විග්රහ කරන්නන් සමූහයක් නිර්මාණය කිරීමට අවශ්ය වීමයි. විග්රහයන් නිර්මාණය කිරීම, නැව්ගත කිරීම සහ නඩත්තු කිරීම කොතරම් දුෂ්කර දැයි තේරුම් ගැනීමට, බලන්න
කෙටියෙන් කිවහොත්, උපාංගවලින් කරුණු ලබා ගැනීම සහ ඒවා ප්රධාන වටිනාකම් යුගල බවට සාමාන්යකරණය කිරීම පරිමාණයෙන් ස්වයංක්රීයකරණය සඳහා අත්යවශ්ය වේ, නමුත් ඔබට බොහෝ විකුණුම්කරුවන් සහ ජාල වේදිකා ඇති විට මෙය සාක්ෂාත් කර ගැනීම දුෂ්කර ය.
Ansible 2.9 හි ඇති සෑම ජාල සත්ය මොඩියුලයකටම දැන් ජාල උපාංගයක වින්යාසය විශ්ලේෂණය කර ව්යුහගත දත්ත ආපසු ලබා දිය හැක - අමතර පුස්තකාල, Ansible භූමිකාවන් හෝ අභිරුචි විග්රහ කරන්නන් නොමැතිව.
Ansible 2.9 සිට, යාවත්කාලීන කරන ලද ජාල මොඩියුලයක් නිකුත් කරන සෑම අවස්ථාවකම, මෙම වින්යාසයේ කොටස පිළිබඳ දත්ත සැපයීම සඳහා කරුණු මොඩියුලය වැඩි දියුණු කෙරේ. එනම්, කරුණු සහ මොඩියුලයන් වර්ධනය කිරීම දැන් එකම වේගයකින් සිදු වන අතර, ඒවා සැමවිටම පොදු දත්ත ව්යුහයක් ඇත.
ජාල උපාංගයක ඇති සම්පත් වින්යාසය නැවත ලබාගෙන ව්යුහගත දත්ත බවට ආකාර දෙකකින් පරිවර්තනය කළ හැක. ක්රම දෙකේදීම, ඔබට නව මූල පදයක් භාවිතයෙන් නිශ්චිත සම්පත් ලැයිස්තුවක් එකතු කර පරිවර්තනය කළ හැකිය gather_network_resources
. සම්පත් නම් මොඩියුල නාම වලට ගැලපේ, එය ඉතා පහසු වේ.
කරුණු එකතු කිරීමේදී:
මූල පදයක් භාවිතා කිරීම gather_facts
ඔබට Playbook ආරම්භයේදී වත්මන් උපාංග වින්යාසය ලබා ගත හැක, පසුව එය සම්පූර්ණ playbook පුරා භාවිතා කරන්න. උපාංගයෙන් ලබා ගත යුතු තනි සම්පත් සඳහන් කරන්න.
- hosts: arista
module_defaults:
eos_facts:
gather_subset: min
gather_network_resources:
- interfaces
gather_facts: True
මෙම උදාහරණවල අලුත් දෙයක් ඔබ දැක ඇති, එනම් - gather_facts: true
ජාල උපාංග සඳහා ස්වදේශීය කරුණු එකතු කිරීම සඳහා දැන් පවතී.
ජාල කරුණු මොඩියුලය සෘජුවම භාවිතා කිරීම:
- name: collect interface configuration facts
eos_facts:
gather_subset: min
gather_network_resources:
- interfaces
Playbook අතුරු මුහුණත පිළිබඳ පහත කරුණු ලබා දෙයි:
ansible_facts:
ansible_network_resources:
interfaces:
- enabled: true
name: Ethernet1
mtu: '1476'
- enabled: true
name: Loopback0
- enabled: true
name: Loopback1
- enabled: true
mtu: '1476'
name: Tunnel0
- enabled: true
name: Ethernet1
- enabled: true
name: Tunnel1
- enabled: true
name: Ethernet1
Ansible විසින් Arista උපාංගයෙන් ස්වදේශීය වින්යාසය ලබාගෙන එය ව්යුහගත දත්ත බවට පරිවර්තනය කරන ආකාරය සැලකිල්ලට ගන්න.
අතුරුමුහුණත් කරුණු Ansible ගබඩා කර ඇති විචල්යවලට එකතු කළ හැකි අතර සම්පත් මොඩියුලයකට ආදානය ලෙස ක්ෂණිකව හෝ පසුව භාවිතා කළ හැක. eos_interfaces
අතිරේක සැකසුම් හෝ පරිවර්තනයකින් තොරව.
සම්පත් මොඩියුල
එබැවින්, අපි කරුණු උපුටාගෙන, දත්ත සාමාන්යකරණය කර, ඒවා ප්රමිතිගත අභ්යන්තර දත්ත ව්යුහ රූප සටහනකට සවි කර සත්යයේ සූදානම් මූලාශ්රයක් ලබා ගත්තෙමු. හුරේ! ඇත්ත වශයෙන්ම මෙය විශිෂ්ටයි, නමුත් අපි තවමත් නිශ්චිත උපාංග වේදිකාව අපේක්ෂා කරන නිශ්චිත වින්යාසය වෙත යතුරු-අගය යුගල කෙසේ හෝ පරිවර්තනය කළ යුතුය. මෙම නව කරුණු එකතු කිරීමේ සහ සාමාන්යකරණ අවශ්යතා සපුරාලීමට අපට දැන් වේදිකාවට විශේෂිත මොඩියුල අවශ්ය වේ.
සම්පත් මොඩියුලයක් යනු කුමක්ද? ඔබට උපාංගයේ වින්යාස කිරීමේ කොටස් එම උපාංගය මඟින් සපයන සම්පත් ලෙස සිතිය හැක. ජාල සම්පත් මොඩියුල හිතාමතාම තනි සම්පතකට සීමා කර ඇති අතර සංකීර්ණ ජාල සේවා වින්යාස කිරීම සඳහා ගොඩනඟන කොටස් මෙන් ගොඩ ගැසිය හැක. එහි ප්රතිඵලයක් වශයෙන්, සම්පත් මොඩියුලයට කියවිය හැකි බැවින්, සම්පත් මොඩියුලයක් සඳහා අවශ්යතා සහ පිරිවිතර ස්වභාවිකව සරල කර ඇත. и ජාල උපාංගයක නිශ්චිත ජාල සේවාවක් වින්යාස කරන්න.
සම්පත් මොඩියුලයක් කරන්නේ කුමක්ද යන්න පැහැදිලි කිරීම සඳහා, නව ජාල සම්පත් කරුණු සහ මොඩියුලය භාවිතා කරමින් idempodent මෙහෙයුමක් පෙන්වන උදාහරණ ක්රීඩා පොතක් බලමු. eos_l3_interface
.
- name: example of facts being pushed right back to device.
hosts: arista
gather_facts: false
tasks:
- name: grab arista eos facts
eos_facts:
gather_subset: min
gather_network_resources: l3_interfaces
- name: ensure that the IP address information is accurate
eos_l3_interfaces:
config: "{{ ansible_network_resources['l3_interfaces'] }}"
register: result
- name: ensure config did not change
assert:
that: not result.changed
ඔබට පෙනෙන පරිදි, උපාංගයෙන් එකතු කරන ලද දත්ත පරිවර්තනයකින් තොරව අනුරූප සම්පත් මොඩියුලයට කෙලින්ම මාරු කරනු ලැබේ. දියත් කළ විට, Playbook උපාංගයෙන් අගයන් ලබාගෙන ඒවා අපේක්ෂිත අගයන් සමඟ සංසන්දනය කරයි. මෙම උදාහරණයේ දී, ආපසු ලබා දෙන අගයන් අපේක්ෂිත පරිදි වේ (එනම්, එය වින්යාස අපගමනය සඳහා පරීක්ෂා කරයි) සහ වින්යාසය වෙනස් වී ඇත්දැයි වාර්තා කරයි.
වින්යාස ප්ලාවිතය හඳුනා ගැනීම සඳහා කදිම ක්රමය වන්නේ කරුණු Ansible ගබඩා කර ඇති විචල්යවල ගබඩා කිරීම සහ ඒවා පරීක්ෂණ මාදිලියේ සම්පත් මොඩියුලය සමඟ වරින් වර භාවිතා කිරීමයි. යමෙකු අතින් අගයන් වෙනස් කර ඇත්දැයි බැලීමට මෙය සරල ක්රමයකි. බොහෝ අවස්ථා වලදී, බොහෝ මෙහෙයුම් Ansible Automation හරහා සිදු වුවද, ආයතන විසින් වෙනස් කිරීම් සහ වින්යාස කිරීම් අතින් සිදු කරනු ලබයි.
නව සම්පත් මොඩියුල පෙර ඒවාට වඩා වෙනස් වන්නේ කෙසේද?
ජාල ස්වයංක්රීය ඉංජිනේරුවෙකු සඳහා, Ansible 3 සහ පෙර අනුවාදවල ඇති සම්පත් මොඩියුල අතර ප්රධාන වෙනස්කම් 2.9ක් ඇත.
1) ලබා දී ඇති ජාල සම්පතක් සඳහා (එය වින්යාස කිරීමේ අංශයක් ලෙසද සැලකිය හැකිය), මොඩියුල සහ කරුණු සියලුම සහාය දක්වන ජාල මෙහෙයුම් පද්ධති හරහා එකවර පරිණාමය වේ. අපි හිතනවා Ansible එක network platform එකක resource configuration වලට සහය දක්වන්නේ නම්, අපි ඒකට හැම තැනම support කරන්න ඕනේ කියලා. ජාල ස්වයංක්රීය ඉංජිනේරුවෙකුට දැන් ස්වදේශීය සහ සහය දක්වන මොඩියුල සහිත සියලුම ජාල මෙහෙයුම් පද්ධති මත සම්පතක් (LLDP වැනි) වින්යාසගත කළ හැකි නිසා මෙය සම්පත් මොඩියුල භාවිතය සරල කරයි.
2) සම්පත් මොඩියුලවල දැන් රාජ්ය අගයක් ඇතුළත් වේ.
merged
: වින්යාසය සපයන ලද වින්යාසය සමඟ ඒකාබද්ධ වේ (පෙරනිමිය);replaced
: සම්පත් වින්යාසය සපයන ලද වින්යාසය සමඟ ප්රතිස්ථාපනය වනු ඇත;overridden
: සම්පත් වින්යාසය සපයන ලද වින්යාසය සමඟ ප්රතිස්ථාපනය වනු ඇත; අනවශ්ය සම්පත් අවස්ථා මකා දැමෙනු ඇත;deleted
: සම්පත් වින්යාසය මකා දමනු ඇත/පෙරනිමියට ප්රතිසාධනය කෙරේ.
3) සම්පත් මොඩියුලවල දැන් ස්ථාවර ප්රතිලාභ අගයන් ඇතුළත් වේ. ජාල සම්පත් මොඩියුලය ජාල උපාංගයට අවශ්ය වෙනස්කම් සිදු කර ඇති (හෝ යෝජිත) විට, එය එම යතුරු අගය යුගල නැවත playbook වෙත ලබා දෙයි.
before
: කාර්යයට පෙර ව්යුහගත දත්ත ආකාරයෙන් උපාංගයේ වින්යාසය;after
: උපාංගය වෙනස් වී ඇත්නම් (හෝ පරීක්ෂණ මාදිලිය භාවිතා කරන්නේ නම් වෙනස් විය හැක), ප්රතිඵලය වන වින්යාසය ව්යුහගත දත්ත ලෙස ආපසු ලබා දෙනු ඇත;commands
: ඕනෑම වින්යාස විධානයක් අවශ්ය තත්වයට ගෙන ඒම සඳහා උපාංගය මත ක්රියාත්මක වේ.
මේ සියල්ලෙන් අදහස් කරන්නේ කුමක්ද? එය වැදගත් වන්නේ ඇයි?
මෙම සටහන සංකීර්ණ සංකල්ප රාශියක් ආවරණය කරයි, නමුත් අවසානයේ දී ඔබ ස්වයංක්රීය වේදිකාවක් සඳහා සත්ය එකතු කිරීම, දත්ත සාමාන්යකරණය සහ ලූප් වින්යාස කිරීම සඳහා ව්යවසාය සේවාලාභීන් ඉල්ලා සිටින්නේ කුමක්ද යන්න පිළිබඳව ඔබට වඩා හොඳ අවබෝධයක් ලැබෙනු ඇතැයි අපි බලාපොරොත්තු වෙමු. නමුත් ඔවුන්ට මෙම වැඩිදියුණු කිරීම් අවශ්ය වන්නේ ඇයි? බොහෝ ආයතන දැන් ඔවුන්ගේ තොරතුරු තාක්ෂණ පරිසරය වඩාත් කඩිසර සහ තරඟකාරී කිරීමට ඩිජිටල් පරිවර්තනයක් අනුගමනය කරයි. හොඳ හෝ නරක සඳහා, බොහෝ ජාල ඉංජිනේරුවන් ජාල සංවර්ධකයින් බවට පත් වන්නේ ස්වයං-උනන්දුවෙන් හෝ කළමනාකාරිත්වයේ කැමැත්ත මතය.
තනි ජාල සැකිලි ස්වයංක්රීය කිරීම සිලෝස් ගැටළුව විසඳන්නේ නැති අතර කාර්යක්ෂමතාව යම් ප්රමාණයකට වැඩි කරන බව සංවිධාන අවබෝධ කරගෙන සිටී. Red Hat Ansible Automation Platform මඟින් ජාල උපාංගයක පාදක දත්ත ක්රමලේඛනගතව කළමනාකරණය කිරීම සඳහා දැඩි සහ සම්මත සම්පත් දත්ත ආකෘති සපයයි. එනම්, පරිශීලකයන් ක්රමක්රමයෙන් තනි වින්යාස කිරීමේ ක්රම අත්හරිමින් වඩාත් නවීන ක්රමවලට පක්ෂව, විශේෂිත වෙළෙන්දා ක්රියාත්මක කිරීමකට වඩා තාක්ෂණයන් (උදාහරණයක් ලෙස, IP ලිපින, VLAN, LLDP, ආදිය) අවධාරණය කරයි.
මෙයින් අදහස් කරන්නේ විශ්වාසදායක සහ ඔප්පු කරන ලද විධාන මොඩියුල සහ වින්යාස කිරීමේ දින ගණන් කර ඇති බව ද? කිසිම අවස්ථාවක. අපේක්ෂිත ජාල සම්පත් මොඩියුල සෑම අවස්ථාවකදීම හෝ සෑම වෙළෙන්දෙකුටම අදාළ නොවනු ඇත, එබැවින් ඇතැම් ක්රියාත්මක කිරීම් සඳහා ජාල ඉංජිනේරුවන් විසින් විධාන සහ වින්යාස මොඩියුල තවමත් අවශ්ය වනු ඇත. සම්පත් මොඩියුලවල අරමුණ වන්නේ විශාල ජින්ජා සැකිලි සරල කිරීම සහ ව්යුහගත JSON ආකෘතියකට ව්යුහගත නොවන උපාංග වින්යාසයන් සාමාන්යකරණය කිරීමයි. සම්පත් මොඩියුල සමඟින්, පවතින ජාල සඳහා ඔවුන්ගේ වින්යාසය පහසුවෙන් කියවිය හැකි සත්ය මූලාශ්රයක් නියෝජනය කරන ව්යුහගත යතුරු අගය යුගල බවට පරිවර්තනය කිරීම පහසු වනු ඇත. ව්යුහගත යතුරු-අගය යුගල භාවිතා කිරීමෙන්, ඔබට එක් එක් උපාංගයේ ධාවන වින්යාසවල සිට ස්වාධීන ව්යුහගත දත්ත සමඟ වැඩ කිරීමට සහ යටිතල පහසුකම්-කේත ප්රවේශයක ජාල ඉදිරියට ගෙන ඒමට හැකිය.
Ansible Engine 2.9 හි එන සම්පත් මොඩියුල මොනවාද?
Ansible 2.9 හි කුමක් සිදුවේදැයි අපි ඔබට විස්තරාත්මකව පැවසීමට පෙර, අපි සමස්ත කාර්යයේ විෂය පථය බෙදූ ආකාරය මතක තබා ගනිමු.
අපි ප්රවර්ග 7ක් හඳුනාගෙන එක් එක් ඒවාට නිශ්චිත ජාල සම්පත් පවරමු:
සටහන: තද අකුරින් ඇති සම්පත් Ansible 2.9 හි සැලසුම් කර ක්රියාත්මක කරන ලදී.
ව්යවසාය පාරිභෝගිකයින් සහ ප්රජාවෙන් ලැබෙන ප්රතිපෝෂණ මත පදනම්ව, ජාල ස්ථලක ප්රොටෝකෝල, අථත්යකරණය සහ අතුරුමුහුණත්වලට අදාළ මොඩියුලයන් ප්රථමයෙන් විසඳීම තාර්කික විය.
පහත සම්පත් මොඩියුල Ansible Network කණ්ඩායම විසින් සංවර්ධනය කරන ලද අතර Red Hat විසින් සහාය දක්වන වේදිකාවන්ට අනුරූප වේ:
පහත මොඩියුලයන් ඇන්සිබල් ප්රජාව විසින් සංවර්ධනය කර ඇත:
exos_lldp_global
- Extreme Networks වෙතින්.nxos_bfd_interfaces
- Cisco වෙතින්nxos_telemetry
- Cisco වෙතින්
ඔබට පෙනෙන පරිදි, සම්පත් මොඩියුල සංකල්පය අපගේ වේදිකා කේන්ද්රීය උපාය මාර්ගයට ගැලපේ. එනම්, ජාල මොඩියුල සංවර්ධනය කිරීමේදී ප්රමිතිකරණයට සහාය වීමට සහ ඇන්සිබල් භූමිකාවන් සහ ක්රීඩා පොත් මට්ටමින් පරිශීලකයින්ගේ කාර්යය සරල කිරීමට අපි අවශ්ය හැකියාවන් සහ කාර්යයන් ඇන්සිබල් තුළම ඇතුළත් කරමු. සම්පත් මොඩියුල සංවර්ධනය පුළුල් කිරීම සඳහා, ඇන්සිබල් කණ්ඩායම මොඩියුල බිල්ඩර් මෙවලම නිකුත් කළේය.
Ansible 2.10 සහ ඉන් ඔබ්බට සැලසුම්
Ansible 2.9 නිකුත් කළ පසු, අපි Ansible 2.10 සඳහා සම්පත් මොඩියුලවල මීළඟ කට්ටලය මත වැඩ කරන්නෙමු, එය තවදුරටත් ජාල ස්ථල විද්යාව සහ ප්රතිපත්ති වින්යාස කිරීමට භාවිතා කළ හැක, උදා.
සම්පත් සහ ආරම්භය
මූලාශ්රය: www.habr.com