
Π ΠΏΡΠ΅Π΄ΡΡΠΎΡΡΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° Red Hat Ansible Engine 2.9 Π²ΠΈ ΠΎΡΠ°ΠΊΠ²Π°Ρ Π²ΠΏΠ΅ΡΠ°ΡΠ»ΡΠ²Π°ΡΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΈ Π½ΡΠΊΠΎΠΈ ΠΎΡ ΡΡΡ ΡΠ° ΠΎΠΏΠΈΡΠ°Π½ΠΈ Π² ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ. ΠΠ°ΠΊΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ, Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°ΠΌΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ° Π½Π° Ansible Network ΠΎΡΠΊΡΠΈΡΠΎ, Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΎΠ±ΡΠ½ΠΎΡΡΡΠ°. ΠΡΠΈΡΡΠ΅Π΄ΠΈΠ½Π΅ΡΠ΅ ΡΠ΅ β Π½Π°Π΄Π½ΠΈΠΊΠ½Π΅ΡΠ΅ Π½Π° ΠΈ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΉΡΠ΅ ΠΏΠ»Π°Π½Π° Π·Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π·Π° Π½Π° ΡΠ΅Π± ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π·Π° wiki Π·Π° .
ΠΠ°ΠΊΡΠΎ Π½Π°ΡΠΊΠΎΡΠΎ ΠΎΠ±ΡΠ²ΠΈΡ ΠΌΠ΅, ΡΠ΅Π³Π° Π²ΠΊΠ»ΡΡΠ²Π° Ansible Tower, Ansible Engine ΠΈ Π²ΡΠΈΡΠΊΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ Π½Π° Ansible Network. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΡΡΠ΅Π· Ansible ΠΌΠΎΠ΄ΡΠ»ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
- Arista EOS
- Cisco IOS
- Cisco IOS XR
- Cisco NX-OS
- Juniper Junos
- VyOS
ΠΡΠ»Π΅Π½ ΡΠΏΠΈΡΡΠΊ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ Red Hat Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΡΠ΅Π· Π°Π±ΠΎΠ½Π°ΠΌΠ΅Π½ΡΠ° Ansible Automation, .
ΠΠ°ΠΊΠ²ΠΎ Π½Π°ΡΡΠΈΡ ΠΌΠ΅
ΠΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΡΠ΅ΡΠΈΡΠΈ Π³ΠΎΠ΄ΠΈΠ½ΠΈ Π½Π°ΡΡΠΈΡ ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ°. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΠΎΡΠΊΡΠΈΡ ΠΌΠ΅, ΠΊΠ°ΠΊ ΠΊΠ°ΠΊ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΈΡΠ΅ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π² ΠΏΠ»Π΅ΠΉΠ±ΡΡΠΈ ΠΈ ΡΠΎΠ»ΠΈ Π½Π° Ansible ΠΎΡ ΡΡΡΠ°Π½Π° Π½Π° ΠΊΡΠ°ΠΉΠ½ΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ. Π Π΅ΡΠΎ ΠΊΠ°ΠΊΠ²ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ ΠΌΠ΅:
- ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π½Π΅ ΡΠ°ΠΌΠΎ ΠΎΡ Π΅Π΄ΠΈΠ½, Π° ΠΎΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ.
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΡΠ° Π΅ ΡΠ²Π»Π΅Π½ΠΈΠ΅, Π½Π΅ ΡΠ°ΠΌΠΎ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎ, Π½ΠΎ ΠΈ ΠΊΡΠ»ΡΡΡΠ½ΠΎ.
- ΠΠ°ΡΠΎΠ²Π°ΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΌΡΠ΅ΠΆΠΈΡΠ΅ Π΅ ΠΏΠΎ-ΡΠ»ΠΎΠΆΠ½Π°, ΠΎΡΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°, Π·Π°ΡΠ°Π΄ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ.
ΠΠΎΠ³Π°ΡΠΎ ΠΎΠ±ΡΡΠΆΠ΄Π°Ρ ΠΌΠ΅ Π΄ΡΠ»Π³ΠΎΡΡΠΎΡΠ½ΠΈΡΠ΅ Π½ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ Π·Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ Π³ΠΎΠ΄ΠΈΠ½Π°, Π½Π°ΡΠΈΡΠ΅ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΠΏΠΎΠΈΡΠΊΠ°Ρ Π° ΡΠ»Π΅Π΄Π½ΠΎΡΠΎ:
- Π‘ΡΠ±ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ°ΠΊΡΠΈ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½ΠΎ Ρ ΡΠ°Π±ΠΎΡΠ½ΠΈΡ ΠΏΡΠΎΡΠ΅Ρ Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π·Π° Π²ΡΡΠΊΠ°ΠΊΠ²ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
- ΠΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈΡΠ΅ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΡΡΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠ°Π½Π° ΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½Π°, Π·Π° Π΄Π° ΠΌΠΎΠ³Π°Ρ Ansible ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ Π²ΡΠΎΡΠ°ΡΠ° ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° Π½Π° ΡΠΈΠΊΡΠ»Π° ΡΠ»Π΅Π΄ ΡΡΠ±ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ°ΠΊΡΠΈ.
- ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ ΡΠ° ΡΡΡΠΎΠ³ΠΈ ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ Π² ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½ΠΈ Π΄Π°Π½Π½ΠΈ. ΠΠ° ΡΠ°Π·ΠΈ ΠΎΡΠ½ΠΎΠ²Π°, ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊΡΡ Π½Π° ΠΈΡΡΠΈΠ½Π°ΡΠ° ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½ ΠΎΡ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΎΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ.
ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΡΡΠ±ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ°ΠΊΡΠΈ
Π‘ΡΠ±ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ°ΠΊΡΠΈ ΠΎΡ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Ansible ΡΠ΅ΡΡΠΎ ΡΡΠ°Π²Π° Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ ΠΏΡΠΈΠ½ΡΠΈΠΏ. ΠΡΠ΅ΠΆΠΎΠ²ΠΈΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ Π² ΡΠ°Π·Π»ΠΈΡΠ½Π° ΡΡΠ΅ΠΏΠ΅Π½ ΡΠ° ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½ΠΈ Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΊΡΠΈ, Π½ΠΎ ΠΏΠΎΡΡΠΈ Π½ΡΠΌΠ°Ρ β ΠΈΠ»ΠΈ Π΄ΠΎΡΠΈ ΡΡΠ²ΡΠ΅ΠΌ Π½ΡΠΌΠ°Ρ β ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΠΏΠ°ΡΡΠ²Π°Π½Π΅ ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ Π² Π΄Π²ΠΎΠΉΠΊΠΈ ΠΊΠ»ΡΡ-ΡΡΠΎΠΉΠ½ΠΎΡΡ. Π§Π΅ΡΠ΅ΡΠ΅ ΠΠ΅Π½ Π‘Π΅Π»Π΅Π½ΡΠ° (Ken Celenza) Π·Π° ΡΠΎΠ²Π° ΠΊΠΎΠ»ΠΊΠΎ ΡΡΡΠ΄Π½ΠΎ ΠΈ ΠΌΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΎΡ ΡΠ°ΠΊΡΠΈ.
ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΡΠ΅ Π·Π°Π±Π΅Π»ΡΠ·Π°Π»ΠΈ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈΡ ΠΌΠ΅ ΠΏΠΎ ΡΠΎΠ»ΡΡΠ° Ansible Network Engine. ΠΡΡΠ΅ΡΡΠ²Π΅Π½ΠΎ, ΡΠ»Π΅Π΄ 24 Ρ ΠΈΠ»ΡΠ΄ΠΈ ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½ΠΈΡ ΡΠΎΠ»ΡΡΠ° Network Engine Π±ΡΡΠ·ΠΎ ΡΡΠ°Π½Π° Π΅Π΄Π½Π° ΠΎΡ Π½Π°ΠΉ-ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈΡΠ΅ ΡΠΎΠ»ΠΈ Ansible Π² Ansible Galaxy Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΎΠ½Π½ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π² ΠΌΡΠ΅ΠΆΠ°ΡΠ°. ΠΡΠ΅Π΄ΠΈ Π΄Π° ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΠΈΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ ΡΠΎΠ²Π° Π² Ansible 2.8, Π·Π° Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΠΈΠΌ Π·Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈΡΠ΅ Π² Ansible 2.9, ΡΠ°Π·ΠΈ ΡΠΎΠ»Ρ Ansible ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈ ΠΏΡΡΠ²ΠΈΡ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΠΏΠΎΠΌΠΎΡ ΠΏΡΠΈ ΠΏΠ°ΡΡΠΈΠ½Π³ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΈ ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π·Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
ΠΠΊΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΡΠ΅ ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Network Engine, ΡΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ ΡΠΏΠΎΡΠΎΠ± Π·Π° ΡΡΠ±ΠΈΡΠ°Π½Π΅, ΠΏΠ°ΡΡΠΈΠ½Π³ ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΊΡΠΈ Π·Π° Π΄Π°Π½Π½ΠΈ Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π° Π² Ansible. ΠΠ΅Π΄ΠΎΡΡΠ°ΡΡΠΊ Π½Π° ΡΠ°Π·ΠΈ ΡΠΎΠ»Ρ Π΅, ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠ°ΡΡΠ΅ΡΠΈ Π·Π° Π²ΡΡΠΊΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΈ Π·Π° Π²ΡΡΠΊΠ° ΠΌΡΠ΅ΠΆΠΎΠ²Π° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡ. ΠΠ° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΠΊΠΎΠ»ΠΊΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ, Π΄ΠΎΡΡΠ°Π²ΡΡ ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΠΏΠ°ΡΡΠ΅ΡΠΈ, ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΉΡΠ΅ ΠΎΡ Π΅ΠΊΠΈΠΏΠ° Π½Π° Cisco.
Π‘ Π΄Π²Π΅ Π΄ΡΠΌΠΈ, Π·Π° ΠΌΠ°ΡΠ°Π±Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Ρ ΡΠ°ΠΊΡΠΈ ΠΎΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΡΠ° ΠΈ Π΄Π° ΡΠ΅ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΈΡΠ°Ρ Π² Π΄Π²ΠΎΠΉΠΊΠΈ ΠΊΠ»ΡΡ-ΡΡΠΎΠΉΠ½ΠΎΡΡ, Π½ΠΎ ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΠ²Π° Π΅ ΡΡΡΠ΄Π½ΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΠΌΠ°ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΠ°Π²ΡΠΈΡΠΈ ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ.
ΠΡΠ΅ΠΊΠΈ ΠΌΠΎΠ΄ΡΠ» Π·Π° ΡΠ°ΠΊΡΠΈ Π² Ansible 2.9 ΡΠ΅Π³Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΎΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈ Π΄Π° Π²ΡΡΡΠ° ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½ΠΈ Π΄Π°Π½Π½ΠΈ β Π±Π΅Π· Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΡΠΎΠ»ΠΈ Ansible ΠΈΠ»ΠΈ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΏΠ°ΡΡΠ΅ΡΠΈ.
ΠΠ°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ ΠΎΡ Ansible 2.9 Ρ Π²ΡΡΠΊΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΠΌΡΠ΅ΠΆΠΎΠ² ΠΌΠΎΠ΄ΡΠ», ΠΌΠΎΠ΄ΡΠ»ΡΡ Π·Π° ΡΠ°ΠΊΡΠΈ ΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°, Π·Π° Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π΄Π°Π½Π½ΠΈ Π·Π° ΡΠΎΠ·ΠΈ ΡΠ°Π·Π΄Π΅Π» ΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ°. Π’ΠΎΠ΅ΡΡ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΡΠ°ΠΊΡΠΈΡΠ΅ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ ΡΠ΅Π³Π° ΡΠ΅ΡΠ΅ Π² Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡΠΈ ΡΠΈΡΡΠΌ, ΠΈ ΡΠ΅ Π²ΠΈΠ½Π°Π³ΠΈ ΡΠ΅ ΠΈΠΌΠ°Ρ ΠΎΠ±ΡΠ° ΡΡΡΡΠΊΡΡΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅.
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΎΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½Π° ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π° Π² ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΏΠΎ Π΄Π²Π° Π½Π°ΡΠΈΠ½Π°. Π Π² Π΄Π²Π°ΡΠ° ΡΠ»ΡΡΠ°Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ±ΠΈΡΠ°ΡΠ΅ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠΏΠΈΡΡΠΊ ΠΎΡ ΡΠ΅ΡΡΡΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π½ΠΎΠ²Π°ΡΠ° ΠΊΠ»ΡΡΠΎΠ²Π° Π΄ΡΠΌΠ° gather_network_resources. ΠΠΌΠ΅Π½Π°ΡΠ° Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π°Ρ Π½Π° ΠΈΠΌΠ΅Π½Π°ΡΠ° Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅, ΠΊΠΎΠ΅ΡΠΎ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ.
ΠΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΊΡΠΈ:
Π‘ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠ»ΡΡΠΎΠ²Π°ΡΠ° Π΄ΡΠΌΠ° gather_facts ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·Π²Π»Π΅ΡΠ΅ΡΠ΅ ΡΠ΅ΠΊΡΡΠ°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ Π² Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° ΠΏΠ»Π΅ΠΉΠ±ΡΠΊΠ°, Π° ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π΄Π° Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΏΡΠ΅Π· ΡΠ΅Π»ΠΈΡ ΠΏΠ»Π΅ΠΉΠ±ΡΠΊ. ΠΠΎΡΠΎΡΠ΅ΡΠ΅ ΠΎΡΠ΄Π΅Π»Π½ΠΈΡΠ΅ ΡΠ΅ΡΡΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈ ΠΎΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ.
- hosts: arista
module_defaults:
eos_facts:
gather_subset: min
gather_network_resources:
- interfaces
gather_facts: TrueΠΠΎΠΆΠ΅ Π΄Π° ΡΡΠ΅ Π·Π°Π±Π΅Π»ΡΠ·Π°Π»ΠΈ Π½Π΅ΡΠΎ Π½ΠΎΠ²ΠΎ Π² ΡΠ΅Π·ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ β ΡΡΠ±ΠΈΡΠ°Π½Π΅_Π½Π°_ΡΠ°ΠΊΡΠΈ: Π²ΡΡΠ½ΠΎ Π²Π΅ΡΠ΅ Π΅ Π½Π°Π»ΠΈΡΠ½ΠΎ Π·Π° Π½Π°ΡΠΈΠ²Π½ΠΎ ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΊΡΠΈ Π·Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΡΠ»Π° Π·Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΠ°ΠΊΡΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ:
- ΠΈΠΌΠ΅: ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΊΡΠΈ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
eos_facts:
gather_subset: ΠΌΠΈΠ½
gather_network_resources:
- ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈΠΠ»Π΅ΠΉΠ±ΡΠΊΡΡ Π²ΡΡΡΠ° ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΡΠ°ΠΊΡΠΈ Π·Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°:
ansible_facts:
ansible_network_resources:
ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ:
- enabled: Π²ΡΡΠ½ΠΎ
ΠΈΠΌΠ΅: Ethernet1
mtu: '1476'
- enabled: Π²ΡΡΠ½ΠΎ
ΠΈΠΌΠ΅: Loopback0
- enabled: Π²ΡΡΠ½ΠΎ
ΠΈΠΌΠ΅: Loopback1
- enabled: Π²ΡΡΠ½ΠΎ
mtu: '1476'
ΠΈΠΌΠ΅: Tunnel0
- enabled: Π²ΡΡΠ½ΠΎ
ΠΈΠΌΠ΅: Ethernet1
- enabled: Π²ΡΡΠ½ΠΎ
ΠΈΠΌΠ΅: Tunnel1
- enabled: Π²ΡΡΠ½ΠΎ
ΠΈΠΌΠ΅: Ethernet1ΠΠ±ΡΡΠ½Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ Ansible ΠΈΠ·ΡΠ΅Π³Π»Ρ Π½Π°ΡΠΈΠ²Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΎΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ Arista ΠΈ Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π° Π² ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΊΠ°ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ Π΄Π²ΠΎΠΉΠΊΠΈ ΠΊΠ»ΡΡ-ΡΡΠΎΠΉΠ½ΠΎΡΡ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π²Π°ΡΠΈ Π·Π°Π΄Π°ΡΠΈ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
Π€Π°ΠΊΡΠΈΡΠ΅ Π·Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΡΡ Π² ΡΡΡ
ΡΠ°Π½ΡΠ²Π°Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° Ansible ΠΈ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π²Π΅Π΄Π½Π°Π³Π° ΠΈΠ»ΠΈ ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ ΠΊΠ°ΡΠΎ Π²Ρ
ΠΎΠ΄Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° ΠΌΠΎΠ΄ΡΠ»Π° Π·Π° ΡΠ΅ΡΡΡΡΠΈ eos_interfaces Π±Π΅Π· Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ»ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅.
ΠΠΎΠ΄ΡΠ»ΠΈΡΠ΅ Π·Π° ΡΠ΅ΡΡΡΡΠΈ
Π ΡΠ°ΠΊΠ°, Π½ΠΈΠ΅ ΠΈΠ·Π²Π»ΡΠΊΠΎΡ ΠΌΠ΅ ΡΠ°ΠΊΡΠΈ, Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΠΌΠ΅ Π΄Π°Π½Π½ΠΈΡΠ΅, Π²ΠΏΠΈΡΠ°Ρ ΠΌΠ΅ Π³ΠΈ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠ°Π½Π° Π²ΡΡΡΠ΅ΡΠ½Π° ΡΡ Π΅ΠΌΠ° Π½Π° ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΠΈ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅ Π³ΠΎΡΠΎΠ² ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ Π½Π° ΠΈΡΡΠΈΠ½Π°. Π£ΡΠ°! Π’ΠΎΠ²Π° Π΅ ΡΡΡΠ°Ρ ΠΎΡΠ½ΠΎ, Π½ΠΎ Π²ΡΠ΅ ΠΏΠ°ΠΊ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΈΠΌ Π΄Π²ΠΎΠΉΠΊΠΈΡΠ΅ ΠΊΠ»ΡΡ-ΡΡΠΎΠΉΠ½ΠΎΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, ΠΊΠΎΡΡΠΎ ΠΎΡΠ°ΠΊΠ²Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ. Π‘Π΅Π³Π° Π½ΠΈ ΡΡΡΠ±Π²Π°Ρ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ, Π·Π° Π΄Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈΠΌ Π½Π° ΡΠ΅Π·ΠΈ Π½ΠΎΠ²ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ Π·Π° ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΊΡΠΈ ΠΈ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΡ.
ΠΠ°ΠΊΠ²ΠΎ Π΅ ΠΌΠΎΠ΄ΡΠ» Π·Π° ΡΠ΅ΡΡΡΡΠΈ? Π Π°Π·Π΄Π΅Π»ΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΡ ΠΊΠ°ΡΠΎ ΡΠ΅ΡΡΡΡΠΈ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½ΠΈ ΠΎΡ ΡΠΎΠ²Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ. ΠΠΎΠ΄ΡΠ»ΠΈΡΠ΅ Π·Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΠ΅ΡΡΡΡΠΈ ΡΠΌΠΈΡΠ»Π΅Π½ΠΎ ΡΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ Π΄ΠΎ Π΅Π΄ΠΈΠ½ ΡΠ΅ΡΡΡΡ ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΠ³Π»ΠΎΠ±ΡΠ²Π°Ρ, ΠΊΠ°ΡΠΎ ΡΡΡΠΎΠΈΡΠ΅Π»Π½ΠΈ Π±Π»ΠΎΠΊΡΠ΅ΡΠ°, Π·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΡΠ»ΠΎΠΆΠ½ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΡΠ»ΡΠ³ΠΈ. Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡΡΠ° ΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡΠ° Π·Π° ΠΌΠΎΠ΄ΡΠ»Π° Π·Π° ΡΠ΅ΡΡΡΡΠΈ ΡΠ΅ ΠΎΠΏΡΠΎΡΡΡΠ²Π°Ρ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΌΠΎΠ΄ΡΠ»ΡΡ Π·Π° ΡΠ΅ΡΡΡΡΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ΡΠ΅ ΠΈ Π΄Π° Π½Π°ΡΡΡΠΎΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π° ΠΌΡΠ΅ΠΆΠΎΠ²Π° ΡΡΠ»ΡΠ³Π° Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΎΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ.
ΠΠ° Π΄Π° ΠΎΠ±ΡΡΠ½ΠΈΠΌ ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡΠ°Π²ΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΡ Π·Π° ΡΠ΅ΡΡΡΡΠΈ, Π½Π΅ΠΊΠ° Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° ΠΏΠ»Π΅ΠΉΠ±ΡΠΊ, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΈΠ΄Π΅ΠΎΠΌΠ°ΡΠΈΡΠ½Π°ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ°ΠΊΡΠΈ Π·Π° ΠΌΡΠ΅ΠΆΠΎΠ² ΡΠ΅ΡΡΡΡ ΠΈ ΠΌΠΎΠ΄ΡΠ»Π° eos_l3_interface.
- ΠΈΠΌΠ΅: ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° ΡΠ°ΠΊΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΊΡΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ.
Ρ
ΠΎΡΡΠΎΠ²Π΅: arista
ΡΡΠ±ΠΈΡΠ°Π½Π΅_ΡΠ°ΠΊΡΠΈ: false
Π·Π°Π΄Π°ΡΠΈ:
- ΠΈΠΌΠ΅: Π²Π·Π΅ΠΌΠ°Π½Π΅ Π½Π° ΡΠ°ΠΊΡΠΈ ΠΎΡ arista eos
eos_facts:
gather_subset: min
gather_network_resources: l3_interfaces
- ΠΈΠΌΠ΅: ΡΠ²Π΅ΡΠ΅ΡΠ΅ ΡΠ΅, ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° Π·Π° IP Π°Π΄ΡΠ΅ΡΠ° Π΅ ΡΠΎΡΠ½Π°
eos_l3_interfaces:
config: "{{ ansible_network_resources['l3_interfaces'] }}"
register: result
- ΠΈΠΌΠ΅: ΡΠ²Π΅ΡΠ΅ΡΠ΅ ΡΠ΅, ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π΅ Π΅ ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½Π°
assert:
that: not result.changedΠΠ°ΠΊΡΠΎ Π²ΠΈΠΆΠ΄Π°ΡΠ΅, ΡΡΠ±ΡΠ°Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΠΎΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ ΡΠ΅ ΠΏΡΠ΅Π΄Π°Π²Π°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π½Π° ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡ ΠΌΠΎΠ΄ΡΠ» Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π±Π΅Π· ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅. ΠΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ»Π΅ΠΉΠ±ΡΠΊΠ°, ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅ ΡΠ΅ ΠΈΠ·Π²Π»ΠΈΡΠ°Ρ ΠΎΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ ΠΈ ΡΠ΅ ΡΡΠ°Π²Π½ΡΠ²Π°Ρ Ρ ΠΎΡΠ°ΠΊΠ²Π°Π½ΠΈΡΠ΅. Π ΡΠΎΠ·ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ ΡΡΠ²ΠΏΠ°Π΄Π°Ρ Ρ ΠΎΡΠ°ΠΊΠ²Π°Π½ΠΈΡΠ΅ (Ρ.Π΅. ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π° ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ°) ΠΈ ΡΠ΅ ΠΈΠ·Π΄Π°Π²Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π»ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π΅ ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½Π°.
ΠΠ΄Π΅Π°Π»Π½ΠΈΡΡ Π½Π°ΡΠΈΠ½ Π΄Π° ΡΠ΅ ΠΎΡΠΊΡΠΈΠ΅ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π΅ Π΄Π° ΡΠ΅ Π·Π°ΠΏΠ°Π·Π²Π°Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°ΡΠ° Π½Π° Ansible ΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π°Π΅Π΄Π½ΠΎ Ρ ΠΌΠΎΠ΄ΡΠ»Π° Π½Π° ΡΠ΅ΡΡΡΡΠ° Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°. Π’ΠΎΠ²Π° Π΅ ΠΏΡΠΎΡΡ ΠΌΠ΅ΡΠΎΠ΄ Π·Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π΄Π°Π»ΠΈ Π½ΡΠΊΠΎΠΉ Π΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΠ» ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅ ΡΡΡΠ½ΠΎ. Π ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΠ»ΡΡΠ°ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΡΡΠ½ΠΎ, Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ ΡΡΠ΅Π· Ansible Automation.
ΠΠ°ΠΊΠ²ΠΈ ΡΠ° ΡΠ°Π·Π»ΠΈΠΊΠΈΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΎΠ²ΠΈΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ ΠΈ ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈΡΠ΅?
ΠΠ° ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ ΠΏΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΌΡΠ΅ΠΆΠΈ, ΠΈΠΌΠ° 3 ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΡΠ°Π·Π»ΠΈΠΊΠΈ Π² ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π² Ansible 2.9 ΡΠΏΡΡΠΌΠΎ ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ.
1) ΠΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΌΡΠ΅ΠΆΠΎΠ² ΡΠ΅ΡΡΡΡ (ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈ ΠΈ ΠΊΠ°ΡΠΎ ΡΠ΅ΠΊΡΠΈΡ ΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ°) ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ ΠΈ ΡΠ°ΠΊΡΠΈΡΠ΅ ΡΠ΅ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π°Ρ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. Π‘ΠΌΡΡΠ°ΠΌΠ΅, ΡΠ΅ Π°ΠΊΠΎ Ansible ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° ΡΠ΅ΡΡΡΡ Π½Π° Π΅Π΄Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°, ΡΡΡΠ±Π²Π° Π΄Π° Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΠΌΠ΅ Π½Π°Π²ΡΡΠΊΡΠ΄Π΅. Π’ΠΎΠ²Π° ΠΎΠΏΡΠΎΡΡΡΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅, Π·Π°ΡΠΎΡΠΎ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ ΠΏΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΌΡΠ΅ΠΆΠΈ ΡΠ΅Π³Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΡΡΡΠΎΠΈ ΡΠ΅ΡΡΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, LLDP) Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ ΠΌΠ΅ΡΡΠ½ΠΈ ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ.
2) ΠΠΎΠ΄ΡΠ»ΠΈΡΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π²Π΅ΡΠ΅ Π²ΠΊΠ»ΡΡΠ²Π°Ρ ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ.
ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½: ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π΅ ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½Π° Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ (ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅);Π·Π°ΠΌΠ΅Π½Π΅Π½: ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° ΡΠ΅ΡΡΡΡΠ° ΡΠ΅ Π±ΡΠ΄Π΅ Π·Π°ΠΌΠ΅Π½Π΅Π½Π° Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ;ΠΏΡΠ΅Π·Π°ΠΏΠΈΡΠ°Π½: ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° ΡΠ΅ΡΡΡΡΠ° ΡΠ΅ Π±ΡΠ΄Π΅ Π·Π°ΠΌΠ΅Π½Π΅Π½Π° Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ; ΠΈΠ·Π»ΠΈΡΠ½ΠΈΡΠ΅ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΈ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΈ;ΠΈΠ·ΡΡΠΈΡ: ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° ΡΠ΅ΡΡΡΡΠ° ΡΠ΅ Π±ΡΠ΄Π΅ ΠΈΠ·ΡΡΠΈΡΠ°/Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²Π΅Π½Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅.

3) ΠΠΎΠ΄ΡΠ»ΠΈΡΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠ° Π²Π΅ΡΠ΅ Π²ΠΊΠ»ΡΡΠ²Π°Ρ ΡΡΠ°Π±ΠΈΠ»Π½ΠΈ Π²ΡΡΡΠ°ΡΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ. ΠΠΎΠ³Π°ΡΠΎ ΠΌΠΎΠ΄ΡΠ»ΡΡ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡ ΡΠ΅ΡΡΡΡ Π²Π½Π΅ΡΠ΅ (ΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈ) Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΌΡΠ΅ΠΆΠΎΠ²ΠΎΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, ΡΠΎΠΉ Π²ΡΡΡΠ° ΡΡΡΠΈΡΠ΅ Π΄Π²ΠΎΠΉΠΊΠΈ ΠΊΠ»ΡΡ-ΡΡΠΎΠΉΠ½ΠΎΡΡ Π² ΠΏΠ»Π΅ΠΉΠ±ΡΠΊΠ°.
before: ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π΄ΠΎ Π·Π°Π΄Π°ΡΠ°ΡΠ°;ΡΠ»Π΅Π΄: Π°ΠΊΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ Π΅ ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ΠΎ (ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ΠΎ, Π°ΠΊΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°), ΠΏΠΎΠ»ΡΡΠ΅Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ΅ Π±ΡΠ΄Π΅ Π²ΡΡΠ½Π°ΡΠ° ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½ΠΈ Π΄Π°Π½Π½ΠΈ;ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ: Π²ΡΡΠΊΠ°ΠΊΠ²ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ, Π·Π° Π΄Π° Π³ΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π°Ρ Π² ΠΆΠ΅Π»Π°Π½ΠΎΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅.


ΠΠ°ΠΊΠ²ΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π° Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π°? ΠΠ°ΡΠΎ Π΅ Π²Π°ΠΆΠ½ΠΎ?
Π ΡΠΎΠ·ΠΈ ΠΏΠΎΡΡ ΡΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ, Π½ΠΎ ΡΠ΅ Π½Π°Π΄ΡΠ²Π°ΠΌΠ΅, ΡΠ΅ Π² ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ ΠΈΡΠΊΠ°Ρ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΈΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΠΎΡΠ½ΠΎΡΠ½ΠΎ ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΊΡΠΈ, Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π² ΡΠΈΠΊΡΠ» Π·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ. ΠΠΎ Π·Π°ΡΠΎ ΠΈΠΌ ΡΡΡΠ±Π²Π°Ρ ΡΠ΅Π·ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ? Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ ΡΠΈΡΡΠΎΠ²Π° ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡ, Π·Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΡΡ ΠΠ’-ΡΡΠ΅Π΄ΠΈΡΠ΅ ΡΠΈ ΠΏΠΎ-Π³ΡΠ²ΠΊΠ°Π²ΠΈ ΠΈ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΈ. ΠΠ°Π»ΠΈ ΡΠΎΠ²Π° Π΅ Π΄ΠΎΠ±ΡΠ΅ ΠΈΠ»ΠΈ Π»ΠΎΡΠΎ, Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈ ΡΡΠ°Π²Π°Ρ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ β ΠΏΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π½Π° ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ.
ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°Ρ, ΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΈ Π½Π΅ ΡΠ΅ΡΠ°Π²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΡΠ°Π·ΠΏΠΎΠΊΡΡΠ°Π½ΠΎΡΡΡΠ° ΠΈ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° ΡΠ°ΠΌΠΎ Π΄ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΏΡΠ΅Π΄Π΅Π». ΠΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Red Hat Ansible Automation Platform ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΡΡΠΈΠΊΡΠ½ΠΈ ΠΈ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° Π΄Π°Π½Π½ΠΈ Π·Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅, Π·Π° Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΎΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ. Π’ΠΎΠ΅ΡΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΡΠ΅ ΠΎΡΠΊΠ°Π·Π²Π°Ρ ΠΎΡ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»Π½ΠΈΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π² ΠΏΠΎΠ»Π·Π° Π½Π° ΠΏΠΎ-ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ, Π°ΠΊΡΠ΅Π½ΡΠΈΡΠ°ΠΉΠΊΠΈ Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, IP Π°Π΄ΡΠ΅ΡΠΈ, VLAN, LLDP ΠΈ Ρ.Π½.), Π° Π½Π΅ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄ΠΎΡΡΠ°Π²ΡΠΈΠΊΠ°.
ΠΠΈΠΌΠ° ΡΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ Π΄Π½ΠΈΡΠ΅ Π½Π° Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈΡΠ΅ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΡΠ° ΠΏΡΠ΅Π±ΡΠΎΠ΅Π½ΠΈ? Π Π½ΠΈΠΊΠ°ΠΊΡΠ² ΡΠ»ΡΡΠ°ΠΉ. ΠΡΠ°ΠΊΠ²Π°Π½ΠΈΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π·Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΠ΅ΡΡΡΡΠΈ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠΈΠΌΠΈ Π½Π΅ Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈ ΡΠ»ΡΡΠ°ΠΈ ΠΈ Π½Π΅ Π·Π° Π²ΡΠ΅ΠΊΠΈ Π΄ΠΎΡΡΠ°Π²ΡΠΈΠΊ, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π²ΡΠ΅ ΠΎΡΠ΅ ΡΠ΅ Π±ΡΠ΄Π°Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡΠ΅ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈ Π·Π° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ. Π¦Π΅Π»ΡΠ° Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ Π·Π° ΡΠ΅ΡΡΡΡΠΈ Π΅ Π΄Π° ΠΎΠΏΡΠΎΡΡΡΡ Π³ΠΎΠ»Π΅ΠΌΠΈ Jinja ΡΠ°Π±Π»ΠΎΠ½ΠΈ ΠΈ Π΄Π° Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΈΡΠ°Ρ Π½Π΅ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ Π² ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½ΠΈΡ ΡΠΎΡΠΌΠ°Ρ JSON. Π‘ ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ Π·Π° ΡΠ΅ΡΡΡΡΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΠ΅ ΠΌΡΠ΅ΠΆΠΈ ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° ΡΠΈ Π² ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½ΠΈ ΠΊΠ»ΡΡ-ΡΡΠΎΠΉΠ½ΠΎΡΡ Π΄Π²ΠΎΠΉΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π°Ρ Π»Π΅ΡΠ΅Π½ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ Π½Π° ΠΈΡΡΠΈΠ½Π°. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½ΠΈ Π΄Π²ΠΎΠΉΠΊΠΈ ΠΊΠ»ΡΡ-ΡΡΠΎΠΉΠ½ΠΎΡΡ, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΠΌ ΠΎΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½Π° Π²ΡΡΠΊΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΊΡΠΌ ΡΠ°Π±ΠΎΡΠ° Ρ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΈ ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈ Π΄Π° ΠΈΠ·Π²Π΅Π΄Π΅ΠΌ ΠΌΡΠ΅ΠΆΠΈΡΠ΅ Π½Π°ΠΏΡΠ΅Π΄ Π² ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° "ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΠΊΠ°ΡΠΎ ΠΊΠΎΠ΄."
ΠΠΎΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π·Π° ΡΠ΅ΡΡΡΡΠΈ ΡΠ΅ ΡΠ΅ ΠΏΠΎΡΠ²ΡΡ Π² Ansible Engine 2.9?
ΠΡΠ΅Π΄ΠΈ Π΄Π° ΡΠ°Π·ΠΊΠ°ΠΆΠ΅ΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ Π²ΠΊΠ»ΡΡΠ²Π° Ansible 2.9, Π½Π΅ΠΊΠ° ΡΠΈ ΠΏΡΠΈΠΏΠΎΠΌΠ½ΠΈΠΌ ΠΊΠ°ΠΊ ΡΠ°Π·Π΄Π΅Π»ΠΈΡ ΠΌΠ΅ ΡΠ΅Π»ΠΈΡ ΠΎΠ±Π΅ΠΌ ΡΠ°Π±ΠΎΡΠ°.
ΠΠ° ΠΎΡΠ΄Π΅Π»ΠΈΠΌ 7 ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΠΈ Π΄Π° Π½Π°Π·Π½Π°ΡΠΈΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΠ΅ΡΡΡΡΠΈ Π·Π° Π²ΡΡΠΊΠ° ΠΎΡ ΡΡΡ :

ΠΠ°Π±Π΅Π»Π΅ΠΆΠΊΠ°: Π Π΅ΡΡΡΡΠΈΡΠ΅, ΠΏΠΎΠ΄ΡΠ΅ΡΡΠ°Π½ΠΈΡΠ΅ Ρ ΡΠ΄Π΅Π±Π΅Π»Π΅Π½ ΡΡΠΈΡΡ, Π±ΡΡ
Π° ΠΏΠ»Π°Π½ΠΈΡΠ°Π½ΠΈ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π² Ansible 2.9.
ΠΠ° Π±Π°Π·Π° Π½Π° ΠΎΡΠ·ΠΈΠ²ΠΈΡΠ΅ ΠΎΡ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΠΈ ΠΎΠ±ΡΠ½ΠΎΡΡΡΠ° Π±Π΅ΡΠ΅ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΡΡΠ²ΠΎ Π΄Π° ΡΠ΅ Π²Π·Π΅ΠΌΠ°Ρ ΠΏΠΎΠ΄ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ Π·Π° ΠΌΡΠ΅ΠΆΠΎΠ²Π° ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡ, Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ.
Π‘Π»Π΅Π΄Π½ΠΈΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π·Π° ΡΠ΅ΡΡΡΡΠΈ ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ ΠΎΡ Π΅ΠΊΠΈΠΏΠ° Π½Π° Ansible Network ΠΈ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π°Ρ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈΡΠ΅, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈ ΠΎΡ Red Hat:

Π‘Π»Π΅Π΄Π½ΠΈΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ ΠΎΡ ΠΎΠ±ΡΠ½ΠΎΡΡΡΠ° Π½Π° Ansible:
exos_lldp_globalβ ΠΎΡ Extreme Networks.nxos_bfd_interfacesβ ΠΎΡ Cisconxos_telemetryβ ΠΎΡ Cisco
ΠΠ°ΠΊΡΠΎ Π²ΠΈΠΆΠ΄Π°ΡΠ΅, ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΡΠ° Π·Π° ΠΌΠΎΠ΄ΡΠ»ΠΈ Π·Π° ΡΠ΅ΡΡΡΡΠΈ ΡΠ΅ Π²ΠΏΠΈΡΠ²Π° Π² Π½Π°ΡΠ°ΡΠ° ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ Π·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°. Π’ΠΎΠ΅ΡΡ, ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°ΠΌΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π² ΡΠ°ΠΌΠΈΡ Ansible, Π·Π° Π΄Π° ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠΈΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·Π°ΡΠΈΡΡΠ° ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ Π΄Π° ΡΠ»Π΅ΡΠ½ΠΈΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° Π½ΠΈΠ²ΠΎ ΡΠΎΠ»ΠΈ ΠΈ ΠΏΠ»Π΅ΠΉΠ±ΡΡΠΈ Π½Π° Ansible. ΠΠ° Π΄Π° ΡΠ°Π·ΡΠΈΡΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ Π·Π° ΡΠ΅ΡΡΡΡΠΈ, Π΅ΠΊΠΈΠΏΡΡ Π½Π° Ansible ΠΏΡΡΠ½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Module Builder.
ΠΠ»Π°Π½ΠΎΠ²Π΅ Π·Π° Ansible 2.10 ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π°
Π‘Π»Π΅Π΄ ΠΏΡΡΠΊΠ°Π½Π΅ΡΠΎ Π½Π° Ansible 2.9 ΡΠ΅ ΡΠ΅ Π·Π°Π΅ΠΌΠ΅ΠΌ Ρ Π½ΠΎΠ² Π½Π°Π±ΠΎΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π·Π° ΡΠ΅ΡΡΡΡΠΈ Π·Π° Ansible 2.10, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° ΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈΡΠ΅ Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ . ΠΠ»Π°Π½Π° Π·Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π²ΡΠ΅ ΠΎΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Π½, ΡΠ°ΠΊΠ° ΡΠ΅, Π°ΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈ, ΡΠ²Π΅Π΄ΠΎΠΌΠ΅ΡΠ΅ Π½ΠΈ Π·Π° ΡΠΎΠ²Π° Π² .
Π Π΅ΡΡΡΡΠΈ ΠΈ ΡΡΠ°ΡΡ Π½Π° ΡΠ°Π±ΠΎΡΠ°
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
