ื“ื™ ื™ืŸ ืคึผืœื™ื™ึทื‘ืึธืึธืง. ื ืขื˜ื•ื•ืึธืจืงื™ื ื’ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืื™ืŸ ื“ื™ ื ื™ื™ึทืข Ansible Engine 2.9

ื“ื™ ื™ืŸ ืคึผืœื™ื™ึทื‘ืึธืึธืง. ื ืขื˜ื•ื•ืึธืจืงื™ื ื’ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืื™ืŸ ื“ื™ ื ื™ื™ึทืข Ansible Engine 2.9

ื“ื™ ืึทืคึผืงืึทืžื™ื ื’ ืžืขืœื“ื•ื ื’ ืคื•ืŸ Red Hat Ansible Engine 2.9 ื‘ืจืขื ื’ื˜ ื™ืงืกื™ื™ื˜ื™ื ื’ ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ, ืขื˜ืœืขื›ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื•ื•ืึธืก ื–ืขื ืขืŸ ื“ื™ืกืงืึทืกื˜ ืื™ืŸ ื“ืขื ืึทืจื˜ื™ืงืœ. ื•ื•ื™ ืฉื˜ืขื ื“ื™ืง, ืžื™ืจ ื”ืึธื‘ืŸ ื“ืขื•ื•ืขืœืึธืคึผื™ื ื’ ืึทื ืกื™ื‘ืœืข ื ืขื˜ื•ื•ืึธืจืง ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ ืืคืŸ, ืžื™ื˜ ืงื”ืœ ืฉื˜ื™ืฆืŸ. ืคืึทืจื‘ื™ื ื“ืŸ ืื•ื ื“ื– - ื ืขืžืขืŸ ืึท ืงื•ืง ื‘ื™ื™ึท ืึทืจื•ื™ืกื’ืขื‘ืŸ ื‘ืจืขื˜ ืื•ื™ืฃ GitHub ืื•ืŸ ืœืขืจื ืขืŸ ื“ื™ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคึผืœืึทืŸ ืคึฟืึทืจ ืžืขืœื“ื•ื ื’ ืคื•ืŸ Red Hat Ansible Engine 2.9 ืื•ื™ืฃ ื“ื™ ื•ื•ื™ืงื™ ื‘ืœืึทื˜ ืคึฟืึทืจ ืึทื ืกื™ื‘ืœืข ื ืขื˜ื•ื•ืึธืจืง.

ื•ื•ื™ ืžื™ืจ ืœืขืฆื˜ื ืก ืžื•ื“ื™ืข, ืจืขื“ ื”ืึทื˜ ืึทื ืกื™ื‘ืœืข ืึทื•ื˜ืึธืžืึทื˜ื™ืึธืŸ ืคึผืœืึทื˜ืคืึธืจืžืข ืื™ืฆื˜ ื›ื•ืœืœ Ansible ื˜ืึทื•ืขืจ, Ansible Engine ืื•ืŸ ืึทืœืข Ansible ื ืขื˜ื•ื•ืึธืจืง ืื™ื ื”ืึทืœื˜. ื ืึธื•ื•ืึทื“ื™ื™ึทืก, ืจื•ื‘ึฟ ืคืึธืœืงืก ื ืขื˜ื•ื•ืึธืจืงื™ื ื’ ืคึผืœืึทื˜ืคืึธืจืžืก ื–ืขื ืขืŸ ื™ืžืคึผืœืึทืžืขื ืึทื“ ื“ื•ืจืš Ansible ืžืึทื“ื–ืฉื•ืœื–. ืœืžืฉืœ:

  • Arista EOS
  • ืกื™ืกืงืึธ ื™ืึธืก
  • Cisco IOS XR
  • ืกื™ืกืงืึธ ื ืงืก-ืึธืก
  • ื“ื–ืฉื•ื ื™ืคึผืขืจ ื“ื–ืฉื•ื ืึธืก
  • VyOS

ืคึฟืึทืจ ืึท ื’ืึทื ืฅ ืจืฉื™ืžื” ืคื•ืŸ ืคึผืœืึทื˜ืคืึธืจืžืก ื•ื•ืึธืก ื–ืขื ืขืŸ ื’ืึธืจ ื’ืขืฉื˜ื™ืฆื˜ ื“ื•ืจืš Red Hat ื“ื•ืจืš Ansible Automation ืึทื‘ืึธื ืขืžืขื ื˜, ืืจื•ื™ืก ื“ื.

ื•ื•ืึธืก ื”ืึธื‘ืŸ ืžื™ืจ ื’ืขืœืขืจื ื˜

ืื™ืŸ ื“ื™ ืœืขืฆื˜ืข ืคื™ืจ ื™ืึธืจ, ืžื™ืจ ื”ืึธื‘ืŸ ื’ืขืœืขืจื ื˜ ืึท ืคึผืœืึทืฅ ื•ื•ืขื’ืŸ ื“ืขื•ื•ืขืœืึธืคึผื™ื ื’ ืึท ื ืขืฅ ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ืคึผืœืึทื˜ืคืึธืจืžืข. ืžื™ืจ ืื•ื™ืš ื’ืขืœืขืจื ื˜ ืึทื– ื•ื•ื™ ืคึผืœืึทื˜ืคืึธืจืžืข ืึทืจื˜ืึทืคืึทืงืฅ ื–ืขื ืขืŸ ื’ืขื ื™ืฆื˜ ืื™ืŸ Ansible ืคึผืœื™ื™ึทื‘ืึธืึธืงืก ืื•ืŸ ืจืึธืœืขืก ื“ื•ืจืš ืกื•ืฃ ื ื™ืฆืขืจืก. ืื•ืŸ ื“ืึธ ืก ื•ื•ืึธืก ืžื™ืจ ื’ืขืคื•ื ืขืŸ:

  • ืึธืจื’ืึทื ืึทื–ื™ื™ืฉืึทื ื– ื–ืขื ืขืŸ ืึธื˜ืึทืžื™ื™ื˜ื™ื ื’ ื“ืขื•ื•ื™ืกืขืก ืคื•ืŸ ื ื™ื˜ ื‘ืœื•ื™ื– ืื™ื™ืŸ, ืึธื‘ืขืจ ืคื™ืœืข ื•ื•ืขื ื“ืึธืจืก.
  • ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ืื™ื– ื ื™ื˜ ื‘ืœื•ื™ื– ืึท ื˜ืขื›ื ื™ืฉ ื“ืขืจืฉื™ื™ื ื•ื ื’, ืึธื‘ืขืจ ืื•ื™ืš ืึท ืงื•ืœื˜ื•ืจ.
  • ืึทื•ื˜ืึธืžืึทื˜ื™ื ื’ ื ืขื˜ื•ื•ืึธืจืงืก ืื™ืŸ ื•ื•ืึธื’ ืื™ื– ืžืขืจ ืฉื•ื•ืขืจ ื•ื•ื™ ืขืก ืžื™ื™ื ื˜ ืจืขื›ื˜ ืฆื• ื“ื™ ืคื•ื ื“ืึทืžืขื ื˜ืึทืœ ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจืึทืœ ืคึผืจื™ื ืกืึทืคึผืึทืœื– ืคื•ืŸ ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ืคึผืœืึทืŸ.

ื•ื•ืขืŸ ืžื™ืจ ื“ื™ืกืงืึทืกื˜ ืื•ื ื“ื–ืขืจ ืœืึทื ื’-ื˜ืขืจืžื™ืŸ ื•ื•ื•ึผืงืก ืคึผืœืึทื ื– ืžื™ื˜ ืึท ื™ืึธืจ ืฆื•ืจื™ืง, ืื•ื ื“ื–ืขืจ ืคึฟื™ืจืžืข ืงืœื™ื™ืึทื ืฅ ื’ืขื‘ืขื˜ืŸ ื“ื™ ืคืืœื’ืขื ื“ืข:

  • ืคืึทืงื˜ ื–ืึทืžืœื•ื ื’ ื“ืึทืจืฃ ื–ื™ื™ืŸ ื‘ืขืกืขืจ ืกื˜ืึทื ื“ืขืจื“ื™ื™ื–ื“ ืื•ืŸ ืึทืœื™ื™ื ื“ ืžื™ื˜ ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ื•ื•ืึธืจืงืคืœืึธื•ื– ืึทืจื™ื‘ืขืจ ืึทืœืข ื“ืขื•ื•ื™ืกืขืก.
  • ืึทืคึผื“ื™ื™ื˜ื™ื ื’ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทื ื– ืื•ื™ืฃ ื“ื™ ืžื™ื˜ืœ ืื•ื™ืš ืžื•ื–ืŸ ื–ื™ื™ืŸ ืกื˜ืึทื ื“ืขืจื“ื™ื™ื–ื“ ืื•ืŸ ืงืึธื ืกื™ืกื˜ืขื ื˜ ืึทื–ื•ื™ ืึทื– Ansible ืžืึทื“ื–ืฉื•ืœื– ืฉืขืคึผืŸ ื“ื™ ืจื’ืข ื”ืขืœืคื˜ ืคื•ืŸ ื“ื™ ืฆื™ืงืœ ื ืึธืš ืงืึทืœืขืงื˜ื™ื ื’ ืคืืงื˜ืŸ.
  • ืžื™ืจ ื“ืึทืจืคึฟืŸ ืฉื˜ืจืขื ื’ ืื•ืŸ ื’ืขืฉื˜ื™ืฆื˜ ืžืขื˜ื”ืึธื“ืก ืคึฟืึทืจ ืงืึทื ื•ื•ืขืจื˜ื™ื ื’ ืžื™ื˜ืœ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืื™ืŸ ืกื˜ืจืึทืงื˜ืฉืขืจื“ ื“ืึทื˜ืŸ. ืื•ื™ืฃ ื“ืขื ื™ืงืขืจ, ื“ืขืจ ืžืงื•ืจ ืคื•ืŸ ืืžืช ืงืขื ืขืŸ ื–ื™ื™ืŸ ืืจื™ื‘ืขืจื’ืขืคืืจืŸ ืคื•ืŸ ื“ื™ ื ืขืฅ ืžื™ื˜ืœ.

ืคืึทืงื˜ ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ

ืงืึทืœืขืงื˜ื™ื ื’ ืคืืงื˜ืŸ ืคื•ืŸ ื ืขืฅ ื“ืขื•ื•ื™ืกืขืก ื ื™ืฆืŸ Ansible ืึธืคื˜ ื›ืึทืคึผืึทื ื– ืจืึทื ื“ืึธื. ื ืขื˜ื•ื•ืึธืจืง ืคึผืœืึทื˜ืคืึธืจืžืก ื”ืึธื‘ืŸ ื•ื•ืขืจื™ื™ืึทื˜ื™ื– ืคื•ืŸ ืคืึทืงื˜-ื–ืึทืžืœื•ื ื’ ืงื™ื™ืคึผืึทื‘ื™ืœืึทื˜ื™ื–, ืึธื‘ืขืจ ื–ื™ื™ ื”ืึธื‘ืŸ ืงืœื™ื™ืŸ ืึธื“ืขืจ ืงื™ื™ืŸ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ืคึฟืึทืจ ืคึผืึทืจืกื™ื ื’ ืื•ืŸ ืกื˜ืึทื ื“ืขืจื“ื™ื™ื–ื™ื ื’ ืฉืœื™ืกืœ-ื•ื•ืขืจื˜ ืคืึทืจื˜ืจืขื˜ื•ื ื’ ืคื•ืŸ ื“ืึทื˜ืŸ. ืœื™ื™ืขื ืขืŸ ืคึผืึธืกื˜ืŸ Ken Celenza ื•ื•ืขื’ืŸ ื•ื•ื™ ืฉื•ื•ืขืจ ืื•ืŸ ื•ื•ื™ื™ื˜ื™ืงื“ื™ืง ืขืก ืงืขืŸ ื–ื™ื™ืŸ ืฆื• ืคื•ื ืึทื ื“ืขืจืงืœื™ื™ึทื‘ืŸ ืื•ืŸ ื ืึธืจืžืึทืœื™ื™ื– ืคืึทืงื˜ืฉื•ืึทืœ ื“ืึทื˜ืŸ.

ืื™ืจ ืงืขืŸ ื”ืึธื‘ืŸ ื‘ืืžืขืจืงื˜ ืึทื– ืžื™ืจ ืืจื‘ืขื˜ืŸ ืื•ื™ืฃ ื“ื™ ืจืึธืœืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹Ansible Network Engine. ื’ืขื•ื•ื™ื™ื ื˜ืœืขืš, 24 ืง ื“ืึทื•ื ืœืึธื•ื“ื– ืฉืคึผืขื˜ืขืจ, ื“ื™ ื ืขื˜ื•ื•ืึธืจืง ืขื ื’ื™ื ืข ืจืึธืœืข ืื™ื– ื’ืขืฉื•ื•ื™ื ื“ ื’ืขื•ื•ืืจืŸ ืื™ื™ื ืขืจ ืคื•ืŸ ื“ื™ ืžืขืจืกื˜ ืคืึธืœืงืก ืึทื ืกื™ื‘ืœืข ืจืึธืœืขืก ืื™ืŸ ืึทื ืกื™ื‘ืœืข ื’ืึทืœืึทืงืกื™ ืคึฟืึทืจ ื ืขืฅ ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ืกื™ื ืขืจื™ืึธื•ื–. ืื™ื™ื“ืขืจ ืžื™ืจ ืืจื™ื‘ืขืจื’ืขืคืืจืŸ ืคื™ืœ ืคื•ืŸ ื“ืขื ืื™ืŸ Ansible 2.8 ืฆื• ืฆื•ื’ืจื™ื™ื˜ืŸ ืคึฟืึทืจ ื•ื•ืึธืก ื•ื•ืึธืœื˜ ื–ื™ื™ืŸ ื“ืืจืฃ ืื™ืŸ Ansible 2.9, ื“ื™ Ansible ืจืึธืœืข ืฆื•ื’ืขืฉื˜ืขืœื˜ ื“ืขืจ ืขืจืฉื˜ืขืจ ื’ืึทื ื’ ืคื•ืŸ ืžื›ืฉื™ืจื™ื ืฆื• ื”ืขืœืคึฟืŸ ืคึผืึทืจืก ืงืึทืžืึทื ื“ื–, ืคื™ืจืŸ ืงืึทืžืึทื ื“ื– ืื•ืŸ ืงืœื™ื™ึทื‘ืŸ ื“ืึทื˜ืŸ ืคึฟืึทืจ ื ืขืฅ ื“ืขื•ื•ื™ืกืขืก.

ืื•ื™ื‘ ืื™ืจ ื•ื•ื™ืกืŸ ื•ื•ื™ ืฆื• ื ื•ืฆืŸ ื ืขื˜ื•ื•ืึธืจืง ืขื ื’ื™ื ืข, ื“ืึธืก ืื™ื– ืึท ื–ื™ื™ืขืจ ืขืคืขืงื˜ื™ื•ื• ื•ื•ืขื’ ืฆื• ื–ืึทืžืœืขืŸ, ืคึผืึทืจืก ืื•ืŸ ืกื˜ืึทื ื“ืขืจื“ื™ื™ื– ืคืึทืงื˜ ื“ืึทื˜ืŸ ืคึฟืึทืจ ื ื•ืฆืŸ ืื™ืŸ Ansible. ื“ื™ ื›ื™ืกืึธืจืŸ ืคื•ืŸ ื“ืขื ืจืึธืœืข ืื™ื– ืึทื– ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืฉืึทืคึฟืŸ ืึท ื’ืึทื ืฅ ื‘ื™ื ื˜ืœ ืคื•ืŸ ืคึผืึทืจืกืขืจื– ืคึฟืึทืจ ื™ืขื“ืขืจ ืคึผืœืึทื˜ืคืึธืจืžืข ืื•ืŸ ืคึฟืึทืจ ืึทืœืข ื ืขืฅ ืึทืงื˜ื™ื•ื•ื™ื˜ืขื˜ืŸ. ืฆื• ืคึฟืึทืจืฉื˜ื™ื™ืŸ ื•ื•ื™ ืฉื•ื•ืขืจ ืขืก ืื™ื– ืฆื• ืฉืึทืคึฟืŸ, ืฉื™ืงืŸ ืื•ืŸ ื˜ื™ื™ึทื ืขืŸ ืคึผืึทืจืกืขืจื–, ืงื•ืง ืื™ืŸ ืžืขืจ ื•ื•ื™ 1200 ืคึผืึทืจืกืขืจืก ืคื•ืŸ ื“ื™ ื’ื™ื™ื– ืคื•ืŸ ืกื™ืกืงืึธ.

ืื™ืŸ ืึท ื ืึทื˜ืฉืขืœ, ื‘ืึทืงื•ืžืขืŸ Facts ืคื•ืŸ ื“ืขื•ื•ื™ืกืขืก ืื•ืŸ ื ืึธืจืžืึทืœื™ื™ื–ื™ื ื’ ื–ื™ื™ ืื™ืŸ ืฉืœื™ืกืœ-ื•ื•ืขืจื˜ ืคึผืขืจื– ืื™ื– ื™ืงืขืจื“ื™ืง ืคึฟืึทืจ ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ืื™ืŸ ื•ื•ืึธื’, ืึธื‘ืขืจ ื“ืขืจื’ืจื™ื™ื›ืŸ ื“ืขื ืื™ื– ืฉื•ื•ืขืจ ื•ื•ืขืŸ ืื™ืจ ื”ืึธื‘ืŸ ืคื™ืœืข ื•ื•ืขื ื“ืึธืจืก ืื•ืŸ ื ืขืฅ ืคึผืœืึทื˜ืคืึธืจืžืก.

ื™ืขื“ืขืจ ื ืขืฅ ืคืึทืงื˜ ืžืึธื“ื•ืœืข ืื™ืŸ Ansible 2.9 ืงืขื ืขืŸ ืื™ืฆื˜ ืึทื ืึทืœื™ื™ื– ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืคื•ืŸ ืึท ื ืขืฅ ืžื™ื˜ืœ ืื•ืŸ ืฆื•ืจื™ืงืงื•ืžืขืŸ ืกื˜ืจืึทืงื˜ืฉืขืจื“ ื“ืึทื˜ืŸ - ืึธืŸ ื ืึธืš ืœื™ื™ื‘ืจืขืจื™ื–, Ansible ืจืึธืœืขืก ืึธื“ืขืจ ืžื ื”ื’ ืคึผืึทืจืกืขืจื–.

ื–ื™ื ื˜ Ansible 2.9, ื™ืขื“ืขืจ ืžืึธืœ ืึท ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜ ื ืขืฅ ืžืึธื“ื•ืœืข ืื™ื– ื‘ืืคืจื™ื™ื˜, ื“ื™ ืคืึทืงื˜ ืžืึธื“ื•ืœืข ืื™ื– ื™ืžืคึผืจื•ื•ื•ื“ ืฆื• ืฆื•ืฉื˜ืขืœืŸ ื“ืึทื˜ืŸ ื•ื•ืขื’ืŸ ื“ืขื ืึธืคึผื˜ื™ื™ืœื•ื ื’ ืคื•ืŸ ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ. ืึทื– ืื™ื–, ื“ื™ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคื•ืŸ ืคืืงื˜ืŸ ืื•ืŸ ืžืึทื“ื–ืฉื•ืœื– ืื™ืฆื˜ ืึทืงืขืจื– ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ื’ืึทื ื’, ืื•ืŸ ื–ื™ื™ ื•ื•ืขืœืŸ ืฉื˜ืขื ื“ื™ืง ื”ืึธื‘ืŸ ืึท ืคึผืจืึธืกื˜ ื“ืึทื˜ืŸ ืกื˜ืจื•ืงื˜ื•ืจ.

ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืคื•ืŸ ืจืขืกื•ืจืกืŸ ืื•ื™ืฃ ืึท ื ืขืฅ ืžื™ื˜ืœ ืงืขื ืขืŸ ื–ื™ื™ืŸ ืจื™ื˜ืจื™ื•ื•ื“ ืื•ืŸ ืงืึธื ื•ื•ืขืจื˜ืขื“ ืื™ืŸ ืกื˜ืจืึทืงื˜ืฉืขืจื“ ื“ืึทื˜ืŸ ืื™ืŸ ืฆื•ื•ื™ื™ ื•ื•ืขื’ืŸ. ืื™ืŸ ื‘ื™ื™ื“ืข ื•ื•ืขื’ืŸ, ืื™ืจ ืงืขื ืขืŸ ืงืœื™ื™ึทื‘ืŸ ืื•ืŸ ื™ื‘ืขืจืžืึทื›ืŸ ืึท ืกืคึผืขืฆื™ืคื™ืฉ ืจืฉื™ืžื” ืคื•ืŸ ืจืขืกื•ืจืกืŸ ื ื™ืฆืŸ ืึท ื ื™ื™ึทืข ืงื™ื•ื•ืขืจื“ gather_network_resources. ื“ื™ ืžื™ื˜ืœ ื ืขืžืขืŸ ื’ืœื™ื™ึทื›ืŸ ื“ื™ ืžืึธื“ื•ืœืข ื ืขืžืขืŸ, ื•ื•ืึธืก ืื™ื– ื–ื™ื™ืขืจ ื‘ืึทืงื•ื•ืขื.

ื‘ืฉืขืช ืงืึทืœืขืงื˜ื™ื ื’ Facts:

ื ื™ืฆืŸ ืึท ืงื™ื•ื•ืขืจื“ gather_facts ืื™ืจ ืงืขื ืขืŸ ืฆื•ืจื™ืงืงืจื™ื’ืŸ ื“ื™ ืงืจืึทื ื˜ ืžื™ื˜ืœ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืื™ืŸ ื“ื™ ืึธื ื”ื™ื™ื‘ ืคื•ืŸ ื“ื™ ืคึผืœื™ื™ึทื‘ืึธืึธืง, ืื•ืŸ ื“ืขืžืึธืœื˜ ื ื•ืฆืŸ ืขืก ืื™ื‘ืขืจ ื“ื™ ื’ืื ืฆืข ืคึผืœื™ื™ึทื‘ืึธืึธืง. ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื“ื™ ื™ื—ื™ื“ ืจืขืกื•ืจืกืŸ ืฆื• ื–ื™ื™ืŸ ืจื™ื˜ืจื™ื•ื•ื“ ืคื•ืŸ ื“ื™ ืžื™ื˜ืœ.

- 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

ื“ื™ ืคึผืœื™ื™ึทื‘ืึธืึธืง ื’ื™ื˜ ื“ื™ ืคืืœื’ืขื ื“ืข ืคืืงื˜ืŸ ื•ื•ืขื’ืŸ ื“ื™ ืฆื•ื‘ื™ื ื“:

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 ืึธืŸ ื ืึธืš ืคึผืจืึทืกืขืกื™ื ื’ ืึธื“ืขืจ ืงืึทื ื•ื•ืขืจื–ืฉืึทืŸ.

ืžื™ื˜ืœ ืžืึธื“ื•ืœืขืก

ืึทื–ื•ื™, ืžื™ืจ ื™ืงืกื˜ืจืึทืงื˜ื™ื“ ื“ื™ ืคืืงื˜ืŸ, ื ืึธืจืžืึทืœื™ื™ื–ื“ ื“ื™ ื“ืึทื˜ืŸ, ืฉื˜ืขืœืŸ ื–ื™ื™ ืื™ืŸ ืึท ืกื˜ืึทื ื“ืขืจื“ื™ื™ื–ื“ ื™ื ืขืจืœืขืš ื“ืึทื˜ืŸ ืกื˜ืจื•ืงื˜ื•ืจ ื“ื™ืึทื’ืจืึทืžืข ืื•ืŸ ื‘ืืงื•ืžืขืŸ ืึท ืคืึทืจื˜ื™ืง ืžืงื•ืจ ืคื•ืŸ ืืžืช. ื”ืืจื™ื™! ื“ืึธืก ืื™ื– ื“ืึธืš ื’ืจื•ื™ืก, ืึธื‘ืขืจ ืžื™ืจ ื ืึธืš ื“ืึทืจืคึฟืŸ ืฆื• ืขืคืขืก ื’ืขืจ ื“ื™ ืฉืœื™ืกืœ-ื•ื•ืขืจื˜ ืคึผืขืจื– ืฆื•ืจื™ืง ืฆื• ื“ื™ ืกืคึผืขืฆื™ืคื™ืฉ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื•ื•ืึธืก ื“ื™ ืกืคึผืขืฆื™ืคื™ืฉ ืžื™ื˜ืœ ืคึผืœืึทื˜ืคืึธืจืžืข ื™ืงืกืคึผืขืงืฅ. ืžื™ืจ ืื™ืฆื˜ ื“ืึทืจืคึฟืŸ ืคึผืœืึทื˜ืคืึธืจืžืข-ืกืคึผืขืฆื™ืคื™ืฉ ืžืึทื“ื–ืฉื•ืœื– ืฆื• ื˜ืจืขืคืŸ ื“ื™ ื ื™ื™ึทืข ืคืึทืงื˜-ื–ืึทืžืœื•ื ื’ ืื•ืŸ ื ืึธืจืžืึทืœื™ื–ื™ื™ืฉืึทืŸ ืจืขืงื•ื•ื™ืจืขืžืขื ืฅ.

ื•ื•ืึธืก ืื™ื– ืึท ืžื™ื˜ืœ ืžืึธื“ื•ืœืข? ืื™ืจ ืงืขื ืขืŸ ื˜ืจืึทื›ื˜ืŸ ืคื•ืŸ ืึท ืžื™ื˜ืœ ืก ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืกืขืงืฉืึทื ื– ื•ื•ื™ ืจืขืกื•ืจืกืŸ ืฆื•ื’ืขืฉื˜ืขืœื˜ ื“ื•ืจืš ื“ืขื ืžื™ื˜ืœ. ื ืขืฅ ืžื™ื˜ืœ ืžืึทื“ื–ืฉื•ืœื– ื–ืขื ืขืŸ ื‘ืขืงื™ื•ื•ืŸ ืœื™ืžื™ื˜ืขื“ ืฆื• ืึท ืื™ื™ืŸ ืžื™ื˜ืœ ืื•ืŸ ืงืขื ืขืŸ ื–ื™ื™ืŸ ืกื˜ืึทืงื˜ ื•ื•ื™ ื‘ื ื™ืŸ ื‘ืœืึทืงืก ืฆื• ืงืึทื ืคื™ื’ื™ืขืจ ืงืึธืžืคึผืœืขืงืก ื ืขืฅ ื‘ืึทื“ื™ื ื•ื ื’ืก. ื•ื•ื™ ืึท ืจืขื–ื•ืœื˜ืึทื˜, ื“ื™ ืจืขืงื•ื•ื™ืจืขืžืขื ืฅ ืื•ืŸ ืกืคึผืขืกืึทืคืึทืงื™ื™ืฉืึทื ื– ืคึฟืึทืจ ืึท ืžื™ื˜ืœ ืžืึธื“ื•ืœืข ื–ืขื ืขืŸ ื’ืขื•ื•ื™ื™ื ื˜ืœืขืš ืกื™ืžืคึผืœืึทืคื™ื™ื“, ื–ื™ื ื˜ ื“ื™ ืžื™ื˜ืœ ืžืึธื“ื•ืœืข ืงืขื ืขืŸ ืœื™ื™ืขื ืขืŸ ะธ ืงืึทื ืคื™ื’ื™ืขืจ ืึท ืกืคึผืขืฆื™ืคื™ืฉ ื ืขืฅ ื“ื™ื ืกื˜ ืื•ื™ืฃ ืึท ื ืขืฅ ืžื™ื˜ืœ.

ืฆื• ื“ืขืจืงืœืขืจืŸ ื•ื•ืึธืก ืึท ืžื™ื˜ืœ ืžืึธื“ื•ืœืข ื˜ื•ื˜, ืœืึธืžื™ืจ ืงื•ืงืŸ ืื™ืŸ ืึท ื‘ื™ื™ืฉืคึผื™ืœ ืคึผืœื™ื™ึทื‘ืึธืึธืง ื•ื•ืึธืก ื•ื•ื™ื™ื–ื˜ ืึทืŸ ื™ืžืคึผืึธื“ืึทื ื˜ ืึธืคึผืขืจืึทืฆื™ืข ื ื™ืฆืŸ ื ื™ื™ึท ื ืขืฅ ืžื™ื˜ืœ ืคืืงื˜ืŸ ืื•ืŸ ืžืึธื“ื•ืœืข 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

ื•ื•ื™ ืื™ืจ ืงืขื ืขืŸ ื–ืขืŸ, ื“ื™ ื“ืึทื˜ืŸ ื’ืขื–ืืžืœื˜ ืคื•ืŸ ื“ื™ ืžื™ื˜ืœ ื–ืขื ืขืŸ ื˜ืจืึทื ืกืคืขืจื“ ื’ืœื™ื™ึทืš ืฆื• ื“ื™ ืงืึธืจืึทืกืคึผืึทื ื“ื™ื ื’ ืžื™ื˜ืœ ืžืึธื“ื•ืœืข ืึธืŸ ืงืึทื ื•ื•ืขืจื–ืฉืึทืŸ. ื•ื•ืขืŸ ืœืึธื ื˜ืฉื˜, ื“ื™ ืคึผืœื™ื™ึทื‘ืึธืึธืง ืจื™ื˜ืจื™ื•ื•ื– ื•ื•ืึทืœื•ืขืก ืคื•ืŸ ื“ื™ ืžื™ื˜ืœ ืื•ืŸ ืงืึทืžืคึผืขืจื– ื–ื™ื™ ืžื™ื˜ ื“ื™ ื“ืขืจื•ื•ืึทืจื˜ ืึธื ืขืก. ืื™ืŸ ื“ืขื ื‘ื™ื™ึทืฉืคึผื™ืœ, ื“ื™ ื•ื•ืึทืœื•ืขืก ืื•ืžื’ืขืงืขืจื˜ ื–ืขื ืขืŸ ื•ื•ื™ ื“ืขืจื•ื•ืึทืจื˜ (ื“ืึธืก ืื™ื–, ืขืก ื˜ืฉืขืงืก ืคึฟืึทืจ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื“ื™ื•ื•ื™ื™ื™ืฉืึทื ื–) ืื•ืŸ ืจื™ืคึผืึธืจืฅ ืฆื™ ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืื™ื– ืคืืจืขื ื“ืขืจื˜.

ื“ื™ ื™ื“ืขืึทืœ ื•ื•ืขื’ ืฆื• ื“ืขื˜ืขืงื˜ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื“ืจื™ืคื˜ ืื™ื– ืฆื• ืงืจืึธื Facts ืื™ืŸ ืึทื ืกื™ื‘ืœืข ืกื˜ืึธืจื“ ื•ื•ืขืจื™ืึทื‘ืึทืœื– ืื•ืŸ ืคึผื™ืจื™ืึทื“ื™ืงืœื™ ื ื•ืฆืŸ ื–ื™ื™ ืžื™ื˜ ื“ื™ ืžื™ื˜ืœ ืžืึธื“ื•ืœืข ืื™ืŸ ื“ื•ืจื›ืงื•ืง ืžืึธื“ืข. ื“ืึธืก ืื™ื– ืึท ืคึผืฉื•ื˜ ืื•ืคึฟืŸ ืฆื• ื–ืขืŸ ืื•ื™ื‘ ืขืžืขืฆืขืจ ื”ืื˜ ืžืึทื ื™ื•ืึทืœื™ ื’ืขื‘ื™ื˜ืŸ ื“ื™ ื•ื•ืึทืœื•ืขืก. ืื™ืŸ ืจื•ื‘ึฟ ืงืึทืกืขืก, ืึธืจื’ืึทื ืึทื–ื™ื™ืฉืึทื ื– ืœืึธื–ืŸ ืขื ื“ืขืจื•ื ื’ืขืŸ ืื•ืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืžืึทื ื™ื•ืึทืœื™, ื›ืึธื˜ืฉ ืคื™ืœืข ืึทืคึผืขืจื™ื™ืฉืึทื ื– ื–ืขื ืขืŸ ื“ื•ืจื›ื’ืขืงืึธื›ื˜ ื“ื•ืจืš Ansible Automation.

ื•ื•ื™ ื˜ืึธืŸ ื“ื™ ื ื™ื™ึทืข ืžื™ื˜ืœ ืžืึทื“ื–ืฉื•ืœื– ืึทื ื“ืขืจืฉ ืคื•ืŸ ื“ื™ ืคืจื™ืขืจื“ื™ืงืข ืึธื ืขืก?

ืคึฟืึทืจ ืึท ื ืขืฅ ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ื™ื ื–ืฉืขื ื™ืจ, ืขืก ื–ืขื ืขืŸ 3 ื”ื•ื™ืคึผื˜ ื“ื™ืคืขืจืึทื ืกื™ื– ืฆื•ื•ื™ืฉืŸ ืžื™ื˜ืœ ืžืึทื“ื–ืฉื•ืœื– ืื™ืŸ Ansible 2.9 ืื•ืŸ ืคืจื™ืขืจื“ื™ืงืข ื•ื•ืขืจืกื™ืขืก.

1) ืคึฟืึทืจ ืึท ื’ืขื’ืขื‘ืŸ ื ืขืฅ ืžื™ื˜ืœ (ื•ื•ืึธืก ืงืขื ืขืŸ ืื•ื™ืš ื–ื™ื™ืŸ ืงืึทื ืกื™ื“ืขืจื“ ื•ื•ื™ ืึท ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืึธืคึผื˜ื™ื™ืœื•ื ื’), ืžืึทื“ื–ืฉื•ืœื– ืื•ืŸ ืคืืงื˜ืŸ ื•ื•ืขื˜ ื™ื•ื•ืึทืœื•ื• ืกื™ื™ืžืึทืœื˜ื™ื™ื ื™ืึทืกืœื™ ืื™ืŸ ืึทืœืข ืฉื˜ื™ืฆื˜ ื ืขืฅ ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขืžืขืŸ. ืžื™ืจ ื˜ืจืึทื›ื˜ืŸ ืึทื– ืื•ื™ื‘ Ansible ืฉื˜ื™ืฆื˜ ืžื™ื˜ืœ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืื•ื™ืฃ ืื™ื™ืŸ ื ืขืฅ ืคึผืœืึทื˜ืคืึธืจืžืข, ืžื™ืจ ื–ืึธืœ ืฉื˜ื™ืฆืŸ ืขืก ืื•ืžืขื˜ื•ื. ื“ืึธืก ืกื™ืžืคึผืœืึทืคื™ื™ื– ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ืžื™ื˜ืœ ืžืึทื“ื–ืฉื•ืœื– ื•ื•ื™ื™ึทืœ ืึท ื ืขืฅ ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ื™ื ื–ืฉืขื ื™ืจ ืงืขื ืขืŸ ืื™ืฆื˜ ืงืึทื ืคื™ื’ื™ืขืจ ืึท ืžื™ื˜ืœ (ืึทื–ืึท ื•ื•ื™ LLDP) ืื•ื™ืฃ ืึทืœืข ื ืขืฅ ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขืžืขืŸ ืžื™ื˜ ื’ืขื‘ื•ื™ืจืŸ ืื•ืŸ ื’ืขืฉื˜ื™ืฆื˜ ืžืึทื“ื–ืฉื•ืœื–.

2) ืžื™ื˜ืœ ืžืึทื“ื–ืฉื•ืœื– ืื™ืฆื˜ ืึทืจื™ื™ึทื ื ืขืžืขืŸ ืึท ืฉื˜ืึทื˜ ื•ื•ืขืจื˜.

  • merged: ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืื™ื– ืžืขืจื“ื–ืฉื“ ืžื™ื˜ ื“ื™ ืฆื•ื’ืขืฉื˜ืขืœื˜ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ (ืคืขืœื™ืงื™ื™ึทื˜);
  • replaced: ื“ื™ ืžื™ื˜ืœ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืจื™ืคึผืœื™ื™ืกื˜ ืžื™ื˜ ื“ื™ ืฆื•ื’ืขืฉื˜ืขืœื˜ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ;
  • overridden: ื“ื™ ืžื™ื˜ืœ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืจื™ืคึผืœื™ื™ืกื˜ ืžื™ื˜ ื“ื™ ืฆื•ื’ืขืฉื˜ืขืœื˜ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ; ื•ืžื ื™ื™ื˜ื™ืง ืžื™ื˜ืœ ื™ื ืกื˜ืึทื ืกื™ื– ื•ื•ืขื˜ ื–ื™ื™ืŸ ืื•ื™ืกื’ืขืžืขืงื˜;
  • deleted: ื“ื™ ืžื™ื˜ืœ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืื•ื™ืกื’ืขืžืขืงื˜ / ืจื™ืกื˜ืึธืจื“ ืฆื• ืคืขืœื™ืงื™ื™ึทื˜.

ื“ื™ ื™ืŸ ืคึผืœื™ื™ึทื‘ืึธืึธืง. ื ืขื˜ื•ื•ืึธืจืงื™ื ื’ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืื™ืŸ ื“ื™ ื ื™ื™ึทืข Ansible Engine 2.9

3) ืžื™ื˜ืœ ืžืึทื“ื–ืฉื•ืœื– ืื™ืฆื˜ ืึทืจื™ื™ึทื ื ืขืžืขืŸ ืกื˜ืึทื‘ื™ืœ ืฆื•ืจื™ืงืงื•ืžืขืŸ ื•ื•ืึทืœื•ืขืก. ื•ื•ืขืŸ ื“ื™ ื ืขืฅ ืžื™ื˜ืœ ืžืึธื“ื•ืœืข ื”ืื˜ ื’ืขืžืื›ื˜ (ืึธื“ืขืจ ืคืืจื’ืขืœื™ื™ื’ื˜) ื“ื™ ื ื™ื™ื˜ื™ืง ืขื ื“ืขืจื•ื ื’ืขืŸ ืฆื• ื“ื™ ื ืขืฅ ืžื™ื˜ืœ, ืขืก ืงืขืจื˜ ื“ื™ ื–ืขืœื‘ืข ืฉืœื™ืกืœ-ื•ื•ืขืจื˜ ืคึผืขืจื– ืฆื• ื“ื™ ืคึผืœื™ื™ึทื‘ืึธืึธืง.

  • before: ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืื•ื™ืฃ ื“ื™ ืžื™ื˜ืœ ืื™ืŸ ื“ื™ ืคืึธืจืขื ืคื•ืŸ ืกื˜ืจืึทืงื˜ืฉืขืจื“ ื“ืึทื˜ืŸ ืื™ื™ื“ืขืจ ื“ื™ ืึทืจื‘ืขื˜;
  • after: ืื•ื™ื‘ ื“ื™ ืžื™ื˜ืœ ืื™ื– ืคืืจืขื ื“ืขืจื˜ (ืึธื“ืขืจ ืงืขืŸ ื˜ื•ื™ืฉืŸ ืื•ื™ื‘ ืคึผืจื•ื‘ื™ืจืŸ ืžืึธื“ืข ืื™ื– ื’ืขื ื™ืฆื˜), ื“ื™ ืจื™ื–ืึทืœื˜ื™ื ื’ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืื•ืžื’ืขืงืขืจื˜ ื•ื•ื™ ืกื˜ืจืึทืงื˜ืฉืขืจื“ ื“ืึทื˜ืŸ;
  • commands: ืงื™ื™ืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืงืึทืžืึทื ื“ื– ืœื•ื™ืคืŸ ืื•ื™ืฃ ื“ื™ ืžื™ื˜ืœ ืฆื• ื‘ืจืขื ื’ืขืŸ ืขืก ืื™ืŸ ื“ืขืจ ื’ืขื•ื•ืืœื˜ ืฉื˜ืึทื˜.

ื“ื™ ื™ืŸ ืคึผืœื™ื™ึทื‘ืึธืึธืง. ื ืขื˜ื•ื•ืึธืจืงื™ื ื’ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืื™ืŸ ื“ื™ ื ื™ื™ึทืข Ansible Engine 2.9

ื“ื™ ื™ืŸ ืคึผืœื™ื™ึทื‘ืึธืึธืง. ื ืขื˜ื•ื•ืึธืจืงื™ื ื’ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืื™ืŸ ื“ื™ ื ื™ื™ึทืข Ansible Engine 2.9

ื•ื•ืึธืก ื˜ื•ื˜ ื“ืึธืก ืึทืœืข ืžื™ื™ื ืขืŸ? ืคืืจื•ื•ืืก ืื™ื– ืขืก ื•ื•ื™ื›ื˜ื™ืง?

ื“ืขืจ ืคึผืึธืกื˜ืŸ ืงืึธื•ื•ืขืจืก ืึท ืคึผืœืึทืฅ ืคื•ืŸ ืงืึธืžืคึผืœืขืงืก ืงืึทื ืกืขืคึผืก, ืึธื‘ืขืจ ืžื™ืจ ื”ืึธืคืŸ ืึทื– ืื™ืŸ ื“ื™ ืกื•ืฃ ืื™ืจ ื•ื•ืขื˜ ื”ืึธื‘ืŸ ืึท ื‘ืขืกืขืจ ืคืืจืฉื˜ืื ื“ ืคื•ืŸ ื•ื•ืึธืก ืคืึทืจื ืขืžื•ื ื’ ืงืœื™ื™ืึทื ืฅ ื–ืขื ืขืŸ ืึทืกืงื™ื ื’ ืคึฟืึทืจ ืื™ืŸ ืคืึทืงื˜ ื–ืึทืžืœื•ื ื’, ื“ืึทื˜ืŸ ื ืึธืจืžืึทืœื™ื–ื™ื™ืฉืึทืŸ ืื•ืŸ ืฉืœื™ื™ืฃ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืคึฟืึทืจ ืึท ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ืคึผืœืึทื˜ืคืึธืจืžืข. ืึธื‘ืขืจ ื•ื•ืึธืก ื˜ืึธืŸ ื–ื™ื™ ื“ืึทืจืคึฟืŸ ื“ื™ ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ? ืคื™ืœืข ืึธืจื’ืึทื ืึทื–ื™ื™ืฉืึทื ื– ื–ืขื ืขืŸ ืื™ืฆื˜ ืคึผืขืจืกื•ื™ื ื’ ื“ื™ื’ื™ื˜ืึทืœ ื˜ืจืึทื ืกืคืึธืจืžืึทืฆื™ืข ืฆื• ืžืึทื›ืŸ ื–ื™ื™ืขืจ IT ื™ื ื•ื•ื™ื™ืจืึทื ืžืึทื ืฅ ืžืขืจ ืคืœื™ื ืง ืื•ืŸ ืงืึทืžืคึผืขื˜ื™ื˜ื™ื•ื•. ืคึฟืึทืจ ื‘ืขืกืขืจ ืึธื“ืขืจ ืขืจื’ืขืจ, ืคื™ืœืข ื ืขืฅ ืขื ื“ื–ืฉืึทื ื™ืจื– ื•ื•ืขืจืŸ ื ืขืฅ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ืึธื“ืขืจ ืคึฟื•ืŸ ื–ื™ืš-ืื™ื ื˜ืขืจืขืก ืึธื“ืขืจ ืื™ืŸ ื“ืขืจ ื‘ืึทืคืขืœ ืคื•ืŸ ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’.

ืึธืจื’ืึทื ืึทื–ื™ื™ืฉืึทื ื– ื–ืขื ืขืŸ ืจื™ืึทืœื™ื™ื–ื™ื ื’ ืึทื– ืึธื˜ืึทืžื™ื™ื˜ื™ื ื’ ื™ื—ื™ื“ ื ืขืฅ ื˜ืขืžืคึผืœืึทื˜ืขืก ื˜ื•ื˜ ื ื™ืฉื˜ ืกืึธืœื•ื•ืข ื“ื™ ืคึผืจืึธื‘ืœืขื ืคื•ืŸ ืกื™ืœืึธ ืื•ืŸ ื‘ืœื•ื™ื– ื™ื ืงืจื™ืกื™ื– ืขืคืขืงื˜ื™ื•ื•ืงื™ื™ึทื˜ ืฆื• ืึท ื–ื™ื›ืขืจ ืžืึธืก. ื“ื™ Red Hat Ansible Automation Platform ื’ื™ื˜ ืฉื˜ืจืขื ื’ ืื•ืŸ ื ืึธืจืžืึทื˜ื™ื•ื•ืข ืžื™ื˜ืœ ื“ืึทื˜ืŸ ืžืึธื“ืขืœืก ืฆื• ืคึผืจืึธื’ืจืึทืžืžืึทื˜ื™ืง ืคื™ืจืŸ ื“ื™ ืึทื ื“ืขืจืœื™ื™ื™ื ื’ ื“ืึทื˜ืŸ ืื•ื™ืฃ ืึท ื ืขืฅ ืžื™ื˜ืœ. ื“ืึธืก ืื™ื–, ื™ื•ื–ืขืจื– ื‘ื™ืกืœืขื›ื•ื•ื™ื™ึทื– ืคืึทืจืœืึธื–ืŸ ื™ื—ื™ื“ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืžืขื˜ื”ืึธื“ืก ืื™ืŸ ื˜ื•ื™ื•ื•ืข ืคื•ืŸ โ€‹โ€‹ืžืขืจ ืžืึธื“ืขืจืŸ ืžืขื˜ื”ืึธื“ืก ืžื™ื˜ ืึท ื˜ืจืึธืคึผ ืื•ื™ืฃ ื˜ืขืงื ืึทืœืึทื“ื–ืฉื™ื– (ืœืžืฉืœ, IP ืึทื“ืจืขืกืขืก, ื•ื•ืœืึทื ื–, LLDP, ืขื˜ืง.), ืืœื ื•ื•ื™ ืื•ื™ืฃ ืึท ืกืคึผืขืฆื™ืคื™ืฉ ืคืึทืจืงื•ื™ืคืขืจ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ.

ื˜ื•ื˜ ื“ืึธืก ืžื™ื™ื ืขืŸ ืึทื– ื“ื™ ื˜ืขื’ ืคื•ืŸ ืคืึทืจืœืึธื–ืœืขืš ืื•ืŸ ืคึผืจืึธื•ื•ืขืŸ ื‘ืึทืคึฟืขืœืŸ ืžืึทื“ื–ืฉื•ืœื– ืื•ืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื–ืขื ืขืŸ ื’ืขืฆื™ื™ืœื˜? ืื™ืŸ ืงื™ื™ืŸ ืคืึทืœ. ื“ื™ ื“ืขืจื•ื•ืึทืจื˜ ื ืขืฅ ืžื™ื˜ืœ ืžืึทื“ื–ืฉื•ืœื– ื•ื•ืขื˜ ื ื™ื˜ ื–ื™ื™ืŸ ืึธื ื•ื•ืขื ื“ืœืขืš ืื™ืŸ ืึทืœืข ืงืึทืกืขืก ืึธื“ืขืจ ืคึฟืึทืจ ื™ืขื“ืขืจ ืคืึทืจืงื•ื™ืคืขืจ, ืึทื–ื•ื™ ื“ื™ ื‘ืึทืคึฟืขืœ ืื•ืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืžืึทื“ื–ืฉื•ืœื– ื•ื•ืขื˜ ื ืึธืš ื–ื™ื™ืŸ ื“ืืจืฃ ื“ื•ืจืš ื ืขืฅ ืขื ื“ื–ืฉืึทื ื™ืจื– ืคึฟืึทืจ ื–ื™ื›ืขืจ ื™ืžืคึผืœืึทืžืึทื ืฅ. ื“ืขืจ ืฆื™ืœ ืคื•ืŸ ืžื™ื˜ืœ ืžืึทื“ื–ืฉื•ืœื– ืื™ื– ืฆื• ืคืึทืจืคึผืึธืฉืขื˜ืขืจืŸ ื’ืจื•ื™ืก ื“ื–ืฉื™ื ื“ื–ืฉืึท ื˜ืขืžืคึผืœืึทื˜ืขืก ืื•ืŸ ื ืึธืจืžืึทืœื™ื™ื– ืึทื ืกื˜ืจืึทืงื˜ืฉืขืจื“ ืžื™ื˜ืœ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทื ื– ืื™ืŸ ืึท ืกื˜ืจืึทืงื˜ืฉืขืจื“ JSON ืคึฟืึธืจืžืึทื˜. ืžื™ื˜ ืžื™ื˜ืœ ืžืึทื“ื–ืฉื•ืœื–, ืขืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ื’ืจื™ื ื’ืขืจ ืคึฟืึทืจ ื™ื’ื–ื™ืกื˜ื™ื ื’ ื ืขื˜ื•ื•ืึธืจืงืก ืฆื• ื™ื‘ืขืจืžืึทื›ืŸ ื–ื™ื™ืขืจ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืื™ืŸ ืกื˜ืจืึทืงื˜ืฉืขืจื“ ืฉืœื™ืกืœ-ื•ื•ืขืจื˜ ืคึผืขืจื– ื•ื•ืึธืก ืคืึธืจืฉื˜ืขืœืŸ ืึทืŸ ื’ืจื™ื ื’-ืฆื•-ืœื™ื™ืขื ืขืŸ ืžืงื•ืจ ืคื•ืŸ ืืžืช. ื“ื•ืจืš ื ื™ืฆืŸ ืกื˜ืจืึทืงื˜ืฉืขืจื“ ืฉืœื™ืกืœ-ื•ื•ืขืจื˜ ืคึผืขืจื–, ืื™ืจ ืงืขื ืขืŸ ืžืึทืš ืคื•ืŸ ืคืœื™ืกื ื“ื™ืง ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทื ื– ืื•ื™ืฃ ื™ืขื“ืขืจ ืžื™ื˜ืœ ืฆื• ืึทืจื‘ืขื˜ืŸ ืžื™ื˜ ืคืจื™ื™ึท ืกื˜ืจืึทืงื˜ืฉืขืจื“ ื“ืึทื˜ืŸ ืื•ืŸ ื‘ืจืขื ื’ืขืŸ ื ืขื˜ื•ื•ืึธืจืงืก ืฆื• ื“ื™ ืคืึธืจืคืจืึทื ื˜ ืคื•ืŸ ืึทืŸ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ-ื•ื•ื™-ืงืึธื“ ืฆื•ื’ืึทื ื’.

ื•ื•ืึธืก ืžื™ื˜ืœ ืžืึทื“ื–ืฉื•ืœื– ื•ื•ืขื˜ ืงื•ืžืขืŸ ืื™ืŸ Ansible Engine 2.9?

ืื™ื™ื“ืขืจ ืžื™ืจ ื“ืขืจืฆื™ื™ืœืŸ ืื™ืจ ืื™ืŸ ื“ืขื˜ืึทืœ ื•ื•ืึธืก ื•ื•ืขื˜ ืคึผืึทืกื™ืจืŸ ืื™ืŸ Ansible 2.9, ืœืึธื–ืŸ ืื•ื ื“ื– ื’ืขื“ืขื ืงืขืŸ ื•ื•ื™ ืžื™ืจ ืฆืขื˜ื™ื™ืœื˜ ื“ื™ ื’ืื ืฆืข ืคืึทืจื ืขื ืคื•ืŸ ืึทืจื‘ืขื˜.

ืžื™ืจ ื™ื™ื“ืขื ืึทืคื™ื™ื“ 7 ืงืึทื˜ืขื’ืึธืจื™ืขืก ืื•ืŸ ืึทืกื™ื™ื ื“ ืกืคึผืขืฆื™ืคื™ืฉ ื ืขืฅ ืจืขืกื•ืจืกืŸ ืฆื• ื™ืขื“ืขืจ:

ื“ื™ ื™ืŸ ืคึผืœื™ื™ึทื‘ืึธืึธืง. ื ืขื˜ื•ื•ืึธืจืงื™ื ื’ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืื™ืŸ ื“ื™ ื ื™ื™ึทืข Ansible Engine 2.9

ื‘ืึทืžืขืจืงื•ื ื’: ืจืขืกืึธื•ืจืกืขืก ืื™ืŸ ื“ืจื™ื™ืกื˜ ื–ืขื ืขืŸ ืคึผืœืึทื ื ืขื“ ืื•ืŸ ื™ืžืคึผืœืึทืžืขื ืึทื“ ืื™ืŸ Ansible 2.9.
ื‘ืึทื–ื™ืจื˜ ืื•ื™ืฃ ื‘ืึทืžืขืจืงื•ื ื’ืขืŸ ืคื•ืŸ ืคืึทืจื ืขืžื•ื ื’ ืงืึทืกื˜ืึทืžืขืจื– ืื•ืŸ ื“ื™ ืงื”ืœ, ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ืœืึทื“ื–ืฉื™ืงืึทืœ ืฆื• ืขืจืฉื˜ืขืจ ืžืึทื›ื  ื–ื™ืš ื“ื™ ืžืึทื“ื–ืฉื•ืœื– ืฉื™ื™ึทื›ื•ืช ืฆื• ื ืขืฅ ื˜ืึทืคึผืึทืœืึทื“ื–ืฉื™ ืคึผืจืึธื˜ืึธืงืึธืœืก, ื•ื•ื™ืจื˜ื•ืึทืœื™ื–ืึทื˜ื™ืึธืŸ ืื•ืŸ ื™ื ื˜ืขืจืคื™ื™ืกื™ื–.
ื“ื™ ืคืืœื’ืขื ื“ืข ืžื™ื˜ืœ ืžืึทื“ื–ืฉื•ืœื– ื–ืขื ืขืŸ ื“ืขื•ื•ืขืœืึธืคึผืขื“ ื“ื•ืจืš ื“ื™ Ansible Network ืžืึทื ืฉืึทืคึฟื˜ ืื•ืŸ ืฉื˜ื™ืžืขืŸ ืฆื• ื“ื™ ืคึผืœืึทื˜ืคืึธืจืžืก ื’ืขืฉื˜ื™ืฆื˜ ื“ื•ืจืš Red Hat:

ื“ื™ ื™ืŸ ืคึผืœื™ื™ึทื‘ืึธืึธืง. ื ืขื˜ื•ื•ืึธืจืงื™ื ื’ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืื™ืŸ ื“ื™ ื ื™ื™ึทืข Ansible Engine 2.9

ื“ื™ ืคืืœื’ืขื ื“ืข ืžืึทื“ื–ืฉื•ืœื– ื–ืขื ืขืŸ ื“ืขื•ื•ืขืœืึธืคึผืขื“ ื“ื•ืจืš ื“ื™ Ansible ืงื”ืœ:

  • exos_lldp_global - ืคึฟื•ืŸ ืขืงืกื˜ืจืขืžืข ื ืขื˜ื•ื•ืึธืจืงืก.
  • nxos_bfd_interfaces - ืคึฟื•ืŸ ืกื™ืกืงืึธ
  • nxos_telemetry - ืคึฟื•ืŸ ืกื™ืกืงืึธ

ื•ื•ื™ ืื™ืจ ืงืขื ืขืŸ ื–ืขืŸ, ื“ืขืจ ื‘ืึทื’ืจื™ืฃ ืคื•ืŸ ืžื™ื˜ืœ ืžืึทื“ื–ืฉื•ืœื– ืคื™ืฅ ืื™ืŸ ืื•ื ื“ื–ืขืจ ืคึผืœืึทื˜ืคืึธืจืžืข-ืกืขื ื˜ืจื™ืง ืกื˜ืจืึทื˜ืขื’ื™ืข. ื“ืึธืก ืื™ื–, ืžื™ืจ ืึทืจื™ื™ึทื ื ืขืžืขืŸ ื“ื™ ื ื•ื™ื˜ื™ืง ืงื™ื™ืคึผืึทื‘ื™ืœืึทื˜ื™ื– ืื•ืŸ ืคืึทื ื’ืงืฉืึทื ื– ืื™ืŸ Ansible ื–ื™ืš ืฆื• ืฉื˜ื™ืฆืŸ ืกื˜ืึทื ื“ืขืจื“ื™ื–ื™ื™ืฉืึทืŸ ืื™ืŸ ื“ืขืจ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคื•ืŸ ื ืขืฅ ืžืึทื“ื–ืฉื•ืœื–, ืื•ืŸ ืื•ื™ืš ืฆื• ืคืึทืจืคึผืึธืฉืขื˜ืขืจืŸ ื“ื™ ืึทืจื‘ืขื˜ ืคื•ืŸ ื ื™ืฆืขืจืก ืื•ื™ืฃ ื“ื™ ืžื“ืจื’ื” ืคื•ืŸ Ansible ืจืึธืœืขืก ืื•ืŸ ืคึผืœื™ื™ึทื‘ืึธืึธืงืก. ืฆื• ื™ืงืกืคึผืึทื ื“ ื“ื™ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคื•ืŸ ืžื™ื˜ืœ ืžืึทื“ื–ืฉื•ืœื–, ื“ื™ Ansible ืžืึทื ืฉืึทืคึฟื˜ ื‘ืืคืจื™ื™ื˜ ื“ื™ ืžืึธื“ื•ืœืข ื‘ื™ืœื“ืขืจ ื’ืขืฆื™ื™ึทื’.

ืคึผืœืึทื ื– ืคึฟืึทืจ Ansible 2.10 ืื•ืŸ ื•ื•ื™ื™ึทื˜ืขืจ

ืึทืžืึธืœ Ansible 2.9 ืื™ื– ื‘ืืคืจื™ื™ื˜, ืžื™ืจ ื•ื•ืขืœืŸ ืึทืจื‘ืขื˜ืŸ ืื•ื™ืฃ ื“ืขืจ ื•ื•ื™ื™ึทื˜ืขืจ ื’ืึทื ื’ ืคื•ืŸ ืžื™ื˜ืœ ืžืึทื“ื–ืฉื•ืœื– ืคึฟืึทืจ Ansible 2.10, ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืฆื• ืงืึทื ืคื™ื’ื™ืขืจ ื ืขืฅ ื˜ืึธืคึผืึธืœืึธื’ื™ ืื•ืŸ ืคึผืึธืœื™ื˜ื™ืง ื•ื•ื™ื™ึทื˜ืขืจ, ืœืžืฉืœ. ACL, OSPF ืื•ืŸ BGP. ื“ืขืจ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคึผืœืึทืŸ ืงืขื ืขืŸ ื ืึธืš ื–ื™ื™ืŸ ืึทื“ื–ืฉืึทืกื˜ื™ื“, ืึทื–ื•ื™ ืื•ื™ื‘ ืื™ืจ ื”ืึธื˜ ื‘ืึทืžืขืจืงื•ื ื’ืขืŸ, ื‘ื™ื˜ืข ื‘ืึทืจื™ื›ื˜ ืขืก ืฆื• ืึทื ืกื™ื‘ืœืข ื ืขื˜ื•ื•ืึธืจืง ืงื”ืœ.

ืจืขืกืึธื•ืจืกืขืก ืื•ืŸ ื’ืขื˜ื™ื ื’ ืกื˜ืึทืจื˜ืขื“

ื“ืจื•ืง ืžืขืœื“ื•ื ื’ ื•ื•ืขื’ืŸ Ansible Automation Platform
ืึทื ืกื™ื‘ืœืข ืึทื•ื˜ืึธืžืึทื˜ื™ืึธืŸ ืคึผืœืึทื˜ืคืึธืจืžืข ื‘ืœืึธื’
ื“ื™ ืฆื•ืงื•ื ืคึฟื˜ ืคื•ืŸ ืื™ื ื”ืึทืœื˜ ืขืงืกืคึผืจืขืก ืื™ืŸ Ansible
ืจืขืคืœืขืงื˜ื™ืึธื ืก ืื•ื™ืฃ ื˜ืฉืึทื ื’ื™ื ื’ ื“ื™ Ansible ืคึผืจื•ื™ืขืงื˜ ืกื˜ืจื•ืงื˜ื•ืจ

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’