ΠΡΠ΅ΡΡΡΠΎΡΠ½ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° Red Hat Ansible Engine 2.9 Π½ΠΎΡΠΈ Π²ΠΎΠ·Π±ΡΠ΄Π»ΠΈΠ²ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ°, ΠΎΠ΄ ΠΊΠΎΠΈ Π½Π΅ΠΊΠΎΠΈ ΡΠ΅ Π΄ΠΈΡΠΊΡΡΠΈΡΠ°Π½ΠΈ Π²ΠΎ ΠΎΠ²ΠΎΡ Π½Π°ΠΏΠΈΡ. ΠΠ°ΠΊΠΎ ΠΈ ΡΠ΅ΠΊΠΎΠ³Π°Ρ, ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΎ Π³ΠΈ ΡΠ°Π·Π²ΠΈΠ²Π°ΠΌΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ°ΡΠ° Π½Π° Ansible Network, ΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° ΠΎΠ΄ Π·Π°Π΅Π΄Π½ΠΈΡΠ°ΡΠ°. ΠΡΠΈΠ΄ΡΡΠΆΠ΅ΡΠ΅ Π½ΠΈ ΡΠ΅ - ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΡΠ΅
ΠΠ°ΠΊΠΎ ΡΡΠΎ Π½Π΅ΠΎΠ΄Π°ΠΌΠ½Π° ΠΎΠ±ΡΠ°Π²ΠΈΠ²ΠΌΠ΅,
- ΠΡΠΈΡΡΠ° ΠΠΠ‘
- Cisco IOS
- Cisco IOS XR
- Cisco NX-OS
- ΠΡΠ½ΠΈΠΏΠ΅Ρ ΠΡΠ½ΠΎΡ
- VyOS
ΠΠ° ΠΊΠΎΠΌΠΏΠ»Π΅ΡΠ½Π° Π»ΠΈΡΡΠ° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ ΠΊΠΎΠΈ ΡΠ΅ ΡΠ΅Π»ΠΎΡΠ½ΠΎ ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½ΠΈ ΠΎΠ΄ Red Hat ΠΏΡΠ΅ΠΊΡ ΠΏΡΠ΅ΡΠΏΠ»Π°ΡΠ° Π·Π° Ansible Automation,
Π¨ΡΠΎ Π½Π°ΡΡΠΈΠ²ΠΌΠ΅
ΠΠΎ ΡΠ΅ΠΊΠΎΡ Π½Π° ΠΈΠ·ΠΌΠΈΠ½Π°ΡΠΈΡΠ΅ ΡΠ΅ΡΠΈΡΠΈ Π³ΠΎΠ΄ΠΈΠ½ΠΈ, Π½Π°ΡΡΠΈΠ²ΠΌΠ΅ ΠΌΠ½ΠΎΠ³Ρ Π·Π° ΡΠ°Π·Π²ΠΎΡ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° ΠΌΡΠ΅ΠΆΠ½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΠ°. Π’ΠΎΠ° Π³ΠΎ Π½Π°ΡΡΠΈΠ²ΠΌΠ΅ ΠΈ Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΈΡΠ΅ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π²ΠΎ ΠΊΠ½ΠΈΠ³ΠΈΡΠ΅ ΠΈ ΡΠ»ΠΎΠ³ΠΈΡΠ΅ Π½Π° Ansible ΠΎΠ΄ ΠΊΡΠ°ΡΠ½ΠΈΡΠ΅ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ. Π Π΅Π²Π΅ ΡΡΠΎ Π΄ΠΎΠ·Π½Π°Π²ΠΌΠ΅:
- ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ Π³ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π°Ρ ΡΡΠ΅Π΄ΠΈΡΠ΅ Π½Π΅ ΡΠ°ΠΌΠΎ ΠΎΠ΄ Π΅Π΄Π΅Π½, ΡΡΠΊΡ ΠΎΠ΄ ΠΌΠ½ΠΎΠ³Ρ ΠΏΡΠΎΠ΄Π°Π²Π°ΡΠΈ.
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΠ°ΡΠ° Π½Π΅ Π΅ ΡΠ°ΠΌΠΎ ΡΠ΅Ρ Π½ΠΈΡΠΊΠΈ ΡΠ΅Π½ΠΎΠΌΠ΅Π½, ΡΡΠΊΡ ΠΈ ΠΊΡΠ»ΡΡΡΠ΅Π½.
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΠΌΡΠ΅ΠΆΠΈΡΠ΅ Π²ΠΎ ΠΎΠ±Π΅ΠΌ Π΅ ΠΏΠΎΡΠ΅ΡΠΊΠΎ ΠΎΡΠΊΠΎΠ»ΠΊΡ ΡΡΠΎ ΠΈΠ·Π³Π»Π΅Π΄Π° ΠΏΠΎΡΠ°Π΄ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΠΎΠ½ΡΠΊΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ Π½Π° Π΄ΠΈΠ·Π°ΡΠ½ΠΎΡ Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΠ°.
ΠΠΎΠ³Π° ΡΠ°Π·Π³ΠΎΠ²Π°ΡΠ°Π²ΠΌΠ΅ Π·Π° Π½Π°ΡΠΈΡΠ΅ Π΄ΠΎΠ»Π³ΠΎΡΠΎΡΠ½ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²ΠΈ Π·Π° ΡΠ°ΡΡ ΠΏΡΠ΅Π΄ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΠ΄ Π΅Π΄Π½Π° Π³ΠΎΠ΄ΠΈΠ½Π°, Π½Π°ΡΠΈΡΠ΅ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ Π³ΠΎ ΠΏΠΎΠ±Π°ΡΠ°Π° ΡΠ»Π΅Π΄Π½ΠΎΠ²ΠΎ:
- Π‘ΠΎΠ±ΠΈΡΠ°ΡΠ΅ΡΠΎ ΡΠ°ΠΊΡΠΈ ΡΡΠ΅Π±Π° Π΄Π° Π±ΠΈΠ΄Π΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΠ΄ΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΠΈ ΡΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΎ ΡΠΎ ΡΠ°Π±ΠΎΡΠ½ΠΈΡΠ΅ ΡΠ΅ΠΊΠΎΠ²ΠΈ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° ΡΠΈΡΠ΅ ΡΡΠ΅Π΄ΠΈ.
- ΠΠΆΡΡΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈΡΠ΅ Π½Π° ΡΡΠ΅Π΄ΠΎΡ, ΠΈΡΡΠΎ ΡΠ°ΠΊΠ°, ΡΡΠ΅Π±Π° Π΄Π° Π±ΠΈΠ΄Π΅ ΡΡΠ°Π½Π΄Π°ΡΠ΄ΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΠΈ Π΄ΠΎΡΠ»Π΅Π΄Π½ΠΎ, ΡΠ°ΠΊΠ° ΡΡΠΎ ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ Π½Π° Ansible ΡΠ΅ ΡΠ΅ ΡΠΏΡΠ°Π²Π°Ρ ΡΠΎ Π²ΡΠΎΡΠ°ΡΠ° ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° ΠΎΠ΄ ΡΠΈΠΊΠ»ΡΡΠΎΡ ΠΏΠΎ ΡΠΎΠ±ΠΈΡΠ°ΡΠ΅ΡΠΎ ΡΠ°ΠΊΡΠΈ.
- ΠΠΎΡΡΠ΅Π±Π½ΠΈ Π½ΠΈ ΡΠ΅ ΡΠΈΠ³ΠΎΡΠΎΠ·Π½ΠΈ ΠΈ ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΡΡΠ΅Π΄ΠΎΡ Π²ΠΎ ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΎΠ²Π°, ΠΈΠ·Π²ΠΎΡΠΎΡ Π½Π° Π²ΠΈΡΡΠΈΠ½Π°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠΈ ΠΎΠ΄ ΠΌΡΠ΅ΠΆΠ½ΠΈΠΎΡ ΡΡΠ΅Π΄.
ΠΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ° Π½Π° ΡΠ°ΠΊΡΠΈΡΠ΅
Π‘ΠΎΠ±ΠΈΡΠ°ΡΠ΅ΡΠΎ ΡΠ°ΠΊΡΠΈ ΠΎΠ΄ ΠΌΡΠ΅ΠΆΠ½ΠΈΡΠ΅ ΡΡΠ΅Π΄ΠΈ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° Ansible ΡΠ΅ΡΡΠΎ ΡΠ΅ ΡΠ»ΡΡΡΠ²Π° ΠΏΠΎ ΡΠ»ΡΡΠ°Π΅Π½ ΠΈΠ·Π±ΠΎΡ. ΠΠ΅Π±-Π±Π°Π·ΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ ΠΈΠΌΠ°Π°Ρ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ ΡΡΠ΅ΠΏΠ΅Π½ Π½Π° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ Π·Π° ΡΠΎΠ±ΠΈΡΠ°ΡΠ΅ ΡΠ°ΠΊΡΠΈ, Π½ΠΎ ΡΠΈΠ΅ ΠΈΠΌΠ°Π°Ρ ΠΌΠ°Π»Π° ΠΈΠ»ΠΈ Π½ΠΈΠΊΠ°ΠΊΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π·Π° ΠΏΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΠΈ ΡΡΠ°Π½Π΄Π°ΡΠ΄ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΡΠ΅ΡΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π²ΠΎ ΠΏΠ°ΡΠΎΠ²ΠΈ ΠΊΠ»ΡΡ-Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ. ΠΡΠΎΡΠΈΡΠ°ΡΡΠ΅
ΠΠΎΠΆΠ΅Π±ΠΈ ΡΡΠ΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠ°Π»Π΅ Π΄Π΅ΠΊΠ° ΡΠ°Π±ΠΎΡΠΈΠΌΠ΅ Π½Π° ΡΠ»ΠΎΠ³Π°ΡΠ° Π½Π° Ansible Network Engine. Π‘Π΅ΠΊΠ°ΠΊΠΎ, 24K ΠΏΡΠ΅Π·Π΅ΠΌΠ°ΡΠ° ΠΏΠΎΠ΄ΠΎΡΠ½Π°, ΡΠ»ΠΎΠ³Π°ΡΠ° Π½Π° Network Engine Π±ΡΠ·ΠΎ ΡΡΠ°Π½Π° Π΅Π΄Π½Π° ΠΎΠ΄ Π½Π°ΡΠΏΠΎΠΏΡΠ»Π°ΡΠ½ΠΈΡΠ΅ ΡΠ»ΠΎΠ³ΠΈ Π½Π° Ansible Π²ΠΎ Ansible Galaxy Π·Π° ΡΡΠ΅Π½Π°ΡΠΈΡΠ° Π·Π° ΠΌΡΠ΅ΠΆΠ½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΠ°. ΠΡΠ΅Π΄ Π΄Π° ΠΏΡΠ΅ΡΡΠ»ΠΈΠΌΠ΅ Π³ΠΎΠ»Π΅ΠΌ Π΄Π΅Π» ΠΎΠ΄ ΠΎΠ²Π° Π²ΠΎ Ansible 2.8 Π·Π° Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΠΈΠΌΠ΅ Π·Π° ΠΎΠ½Π° ΡΡΠΎ ΡΠ΅ Π±ΠΈΠ΄Π΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ Π²ΠΎ Ansible 2.9, ΠΎΠ²Π°Π° ΡΠ»ΠΎΠ³Π° Π½Π° Ansible Π³ΠΎ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ ΠΏΡΠ²ΠΈΠΎΡ ΡΠ΅Ρ Π½Π° Π°Π»Π°ΡΠΊΠΈ Π·Π° Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π²ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅, ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ ΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ ΠΈ ΡΠΎΠ±ΠΈΡΠ°ΡΠ΅ΡΠΎ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° ΠΌΡΠ΅ΠΆΠ½ΠΈΡΠ΅ ΡΡΠ΅Π΄ΠΈ.
ΠΠΊΠΎ Π·Π½Π°Π΅ΡΠ΅ ΠΊΠ°ΠΊΠΎ Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ Network Engine, ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³Ρ Π΅ΡΠΈΠΊΠ°ΡΠ΅Π½ Π½Π°ΡΠΈΠ½ Π·Π° ΡΠΎΠ±ΠΈΡΠ°ΡΠ΅, Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΈ ΡΡΠ°Π½Π΄Π°ΡΠ΄ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° ΡΠ°ΠΊΡΠΈ Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π° Π²ΠΎ Ansible. ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π½Π° ΠΎΠ²Π°Π° ΡΠ»ΠΎΠ³Π° Π΅ ΡΡΠΎ ΡΡΠ΅Π±Π° Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΡΠ΅Π» ΠΊΡΠΏ ΠΏΠ°ΡΡΠ΅ΡΠΈ Π·Π° ΡΠ΅ΠΊΠΎΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΈ Π·Π° ΡΠ΅Π»Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ½Π° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡ. ΠΠ° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΠΊΠΎΠ»ΠΊΡ Π΅ ΡΠ΅ΡΠΊΠΎ Π΄Π° ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄Π°Ρ, ΠΈΡΠΏΡΠ°ΡΠ°Π°Ρ ΠΈ ΠΎΠ΄ΡΠΆΡΠ²Π°Π°Ρ ΠΏΠ°ΡΡΠ΅ΡΠΈ, ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΡΠ΅
ΠΠ°ΠΊΡΠ°ΡΠΊΠΎ, Π΄ΠΎΠ±ΠΈΠ²Π°ΡΠ΅ΡΠΎ ΡΠ°ΠΊΡΠΈ ΠΎΠ΄ ΡΡΠ΅Π΄ΠΈΡΠ΅ ΠΈ Π½ΠΈΠ²Π½ΠΎ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π²ΠΎ ΠΏΠ°ΡΠΎΠ²ΠΈ ΠΊΠ»ΡΡΠ½ΠΈ-Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ Π΅ ΠΎΠ΄ ΡΡΡΡΠΈΠ½ΡΠΊΠΎ Π·Π½Π°ΡΠ΅ΡΠ΅ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° ΡΠ°Π·ΠΌΠ΅Ρ, Π½ΠΎ ΠΏΠΎΡΡΠΈΠ³Π½ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΎΠ²Π° Π΅ ΡΠ΅ΡΠΊΠΎ ΠΊΠΎΠ³Π° ΠΈΠΌΠ°ΡΠ΅ ΠΌΠ½ΠΎΠ³Ρ ΠΏΡΠΎΠ΄Π°Π²Π°ΡΠΈ ΠΈ ΠΌΡΠ΅ΠΆΠ½ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ.
Π‘Π΅ΠΊΠΎΡ ΠΌΡΠ΅ΠΆΠ΅Π½ ΠΌΠΎΠ΄ΡΠ» Π·Π° ΡΠ°ΠΊΡΠΈ Π²ΠΎ 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
ΠΠΎΠΆΠ΅Π±ΠΈ ΡΡΠ΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠ°Π»Π΅ Π½Π΅ΡΡΠΎ Π½ΠΎΠ²ΠΎ Π²ΠΎ ΠΎΠ²ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΈ, ΠΈΠΌΠ΅Π½ΠΎ - 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
Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ»ΠΈ ΠΊΠΎΠ½Π²Π΅ΡΠ·ΠΈΡΠ°.
Π Π΅ΡΡΡΡΠ½ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ
Π’Π°ΠΊΠ°, Π³ΠΈ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π²ΠΌΠ΅ ΡΠ°ΠΊΡΠΈΡΠ΅, Π³ΠΈ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΈΡΠ°Π²ΠΌΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅, Π³ΠΈ Π²ΠΊΠ»ΠΎΠΏΠΈΠ²ΠΌΠ΅ Π²ΠΎ ΡΡΠ°Π½Π΄Π°ΡΠ΄ΠΈΠ·ΠΈΡΠ°Π½ Π΄ΠΈΡΠ°Π³ΡΠ°ΠΌ Π½Π° Π²Π½Π°ΡΡΠ΅ΡΠ½Π° ΡΡΡΡΠΊΡΡΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΈ Π΄ΠΎΠ±ΠΈΠ²ΠΌΠ΅ Π³ΠΎΡΠΎΠ² ΠΈΠ·Π²ΠΎΡ Π½Π° Π²ΠΈΡΡΠΈΠ½Π°. Π£ΡΠ°! ΠΠ²Π° Π΅ ΠΎΠ΄Π»ΠΈΡΠ½ΠΎ, ΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°, Π½ΠΎ ΡΠ΅ΠΏΠ°ΠΊ ΡΡΠ΅Π±Π° Π½Π΅ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΈ ΠΏΡΠ΅ΡΠ²ΠΎΡΠΈΠΌΠ΅ ΠΏΠ°ΡΠΎΠ²ΠΈΡΠ΅ ΠΊΠ»ΡΡ-Π²ΡΠ΅Π΄Π½ΠΎΡΡ Π½Π°Π·Π°Π΄ Π²ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° ΡΡΠΎ ΡΠ° ΠΎΡΠ΅ΠΊΡΠ²Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π½Π° ΡΡΠ΅Π΄ΠΎΡ. Π‘Π΅Π³Π° Π½ΠΈ ΡΡΠ΅Π±Π°Π°Ρ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Π·Π° Π΄Π° Π³ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΠΈΠΌΠ΅ ΠΎΠ²ΠΈΠ΅ Π½ΠΎΠ²ΠΈ Π±Π°ΡΠ°ΡΠ° Π·Π° ΡΠΎΠ±ΠΈΡΠ°ΡΠ΅ ΡΠ°ΠΊΡΠΈ ΠΈ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΡΠ°.
Π¨ΡΠΎ Π΅ ΠΌΠΎΠ΄ΡΠ» Π·Π° ΡΠ΅ΡΡΡΡΠΈ? ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΈ Π·Π°ΠΌΠΈΡΠ»ΠΈΡΠ΅ Π΄Π΅Π»ΠΎΠ²ΠΈΡΠ΅ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° Π½Π° ΡΡΠ΅Π΄ΠΎΡ ΠΊΠ°ΠΊΠΎ ΡΠ΅ΡΡΡΡΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½ΠΈ ΠΎΠ΄ ΡΠΎΡ ΡΡΠ΅Π΄. ΠΠΎΠ΄ΡΠ»ΠΈΡΠ΅ Π·Π° ΠΌΡΠ΅ΠΆΠ½ΠΈ ΡΠ΅ΡΡΡΡΠΈ ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠ½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ Π½Π° Π΅Π΄Π΅Π½ ΡΠ΅ΡΡΡΡ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΡΠ΅Π΄Π΅Π½ΠΈ ΠΊΠ°ΠΊΠΎ Π³ΡΠ°Π΄Π΅ΠΆΠ½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠ»ΠΎΠΆΠ΅Π½ΠΈ ΠΌΡΠ΅ΠΆΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ. ΠΠ°ΠΊΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ°, Π±Π°ΡΠ°ΡΠ°ΡΠ° ΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° Π·Π° ΠΌΠΎΠ΄ΡΠ» Π·Π° ΡΠ΅ΡΡΡΡΠΈ ΡΠ΅ ΠΏΡΠΈΡΠΎΠ΄Π½ΠΎ ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π΅Π½ΠΈ, Π±ΠΈΠ΄Π΅ΡΡΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΎΡ Π·Π° ΡΠ΅ΡΡΡΡΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠΈΡΠ° ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΡΠ΅ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½Π° ΠΌΡΠ΅ΠΆΠ½Π° ΡΡΠ»ΡΠ³Π° Π½Π° ΠΌΡΠ΅ΠΆΠ΅Π½ ΡΡΠ΅Π΄.
ΠΠ° Π΄Π° ΠΎΠ±ΡΠ°ΡΠ½ΠΈΠΌΠ΅ ΡΡΠΎ ΠΏΡΠ°Π²ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΎΡ Π·Π° ΡΠ΅ΡΡΡΡΠΈ, Π°ΡΠ΄Π΅ Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΠΈΠ³ΡΠ°ΡΠ΅ ΡΡΠΎ ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π° Π½Π΅ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π½ΠΎΠ²ΠΈ ΡΠ°ΠΊΡΠΈ ΠΈ ΠΌΠΎΠ΄ΡΠ» Π·Π° ΠΌΡΠ΅ΠΆΠ½ΠΈ ΡΠ΅ΡΡΡΡΠΈ 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.
ΠΠ°ΠΊΠΎ Π½ΠΎΠ²ΠΈΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π·Π° ΡΠ΅ΡΡΡΡΠΈ ΡΠ΅ ΡΠ°Π·Π»ΠΈΠΊΡΠ²Π°Π°Ρ ΠΎΠ΄ ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΈΡΠ΅?
ΠΠ° ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ Π·Π° ΠΌΡΠ΅ΠΆΠ½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΠ°, ΠΏΠΎΡΡΠΎΡΠ°Ρ 3 Π³Π»Π°Π²Π½ΠΈ ΡΠ°Π·Π»ΠΈΠΊΠΈ ΠΏΠΎΠΌΠ΅ΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ Π·Π° ΡΠ΅ΡΡΡΡΠΈ Π²ΠΎ Ansible 2.9 ΠΈ ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΈΡΠ΅ Π²Π΅ΡΠ·ΠΈΠΈ.
1) ΠΠ° Π΄Π°Π΄Π΅Π½ ΠΌΡΠ΅ΠΆΠ΅Π½ ΡΠ΅ΡΡΡΡ (ΠΊΠΎΡ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠΌΠ΅ΡΠ° ΠΊΠ°ΠΊΠΎ Π΄Π΅Π» Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°), ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ ΠΈ ΡΠ°ΠΊΡΠΈΡΠ΅ ΡΠ΅ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π°Π°Ρ Π²ΠΎ ΡΠΈΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½ΠΈ ΠΌΡΠ΅ΠΆΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ. Π‘ΠΌΠ΅ΡΠ°ΠΌΠ΅ Π΄Π΅ΠΊΠ° Π°ΠΊΠΎ Ansible ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° Π½Π° ΡΠ΅ΡΡΡΡΠΈ Π½Π° Π΅Π΄Π½Π° ΠΌΡΠ΅ΠΆΠ½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°, ΡΡΠ΅Π±Π° Π΄Π° ΡΠ° ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π°ΠΌΠ΅ Π½Π°ΡΠ΅ΠΊΠ°Π΄Π΅. ΠΠ²Π° ΡΠ° ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²ΡΠ²Π° ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° ΡΠ΅ΡΡΡΡΠ½ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π±ΠΈΠ΄Π΅ΡΡΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΡ Π·Π° ΠΌΡΠ΅ΠΆΠ½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΠ° ΡΠ΅Π³Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ° ΡΠ΅ΡΡΡΡ (ΠΊΠ°ΠΊΠΎ LLDP) Π½Π° ΡΠΈΡΠ΅ ΠΌΡΠ΅ΠΆΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΠΎ ΠΏΡΠΈΡΠΎΠ΄Π½ΠΈ ΠΈ ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ.
2) ΠΠΎΠ΄ΡΠ»ΠΈΡΠ΅ Π·Π° ΡΠ΅ΡΡΡΡΠΈ ΡΠ΅Π³Π° Π²ΠΊΠ»ΡΡΡΠ²Π°Π°Ρ Π²ΡΠ΅Π΄Π½ΠΎΡΡ Π½Π° ΡΠΎΡΡΠΎΡΠ±Π°ΡΠ°.
merged
: ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°ΡΠ° ΡΠ΅ ΡΠΏΠΎΡΡΠ²Π° ΡΠΎ Π΄Π°Π΄Π΅Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° (ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ);replaced
: ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ ΡΠ΅ ΡΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈ ΡΠΎ Π΄Π°Π΄Π΅Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°;overridden
: ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ ΡΠ΅ ΡΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈ ΡΠΎ Π΄Π°Π΄Π΅Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°; ΡΠ΅ ΡΠ΅ ΠΈΠ·Π±ΡΠΈΡΠ°Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π±Π½ΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΎΡΠΈ Π½Π° ΡΠ΅ΡΡΡΡΠΈ;deleted
: ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ ΡΠ΅ Π±ΠΈΠ΄Π΅ ΠΈΠ·Π±ΡΠΈΡΠ°Π½Π°/Π²ΡΠ°ΡΠ΅Π½Π° Π½Π° ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ.
3) ΠΠΎΠ΄ΡΠ»ΠΈΡΠ΅ Π·Π° ΡΠ΅ΡΡΡΡΠΈ ΡΠ΅Π³Π° Π²ΠΊΠ»ΡΡΡΠ²Π°Π°Ρ ΡΡΠ°Π±ΠΈΠ»Π½ΠΈ ΠΏΠΎΠ²ΡΠ°ΡΠ½ΠΈ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ. ΠΠΎΠ³Π° ΠΌΠΎΠ΄ΡΠ»ΠΎΡ Π·Π° ΠΌΡΠ΅ΠΆΠ½ΠΈΡΠ΅ ΡΠ΅ΡΡΡΡΠΈ ΡΠ΅ Π³ΠΈ Π½Π°ΠΏΡΠ°Π²ΠΈ (ΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈ) ΠΏΠΎΡΡΠ΅Π±Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π½Π° ΠΌΡΠ΅ΠΆΠ½ΠΈΠΎΡ ΡΡΠ΅Π΄, ΡΠΎΡ Π³ΠΈ Π²ΡΠ°ΡΠ° ΠΈΡΡΠΈΡΠ΅ ΠΏΠ°ΡΠΎΠ²ΠΈ ΠΊΠ»ΡΡ-Π²ΡΠ΅Π΄Π½ΠΎΡΡ Π²ΠΎ ΠΊΠ½ΠΈΠ³Π°ΡΠ° Π·Π° ΡΠ΅ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡΠ°.
before
: ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° Π½Π° ΡΡΠ΅Π΄ΠΎΡ Π²ΠΎ ΡΠΎΡΠΌΠ° Π½Π° ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΏΡΠ΅Π΄ Π·Π°Π΄Π°ΡΠ°ΡΠ°;after
: Π°ΠΊΠΎ ΡΡΠ΅Π΄ΠΎΡ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΠ» (ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π°ΠΊΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅), Π΄ΠΎΠ±ΠΈΠ΅Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° ΡΠ΅ ΡΠ΅ Π²ΡΠ°ΡΠΈ ΠΊΠ°ΠΊΠΎ ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ;commands
: Π‘ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Π°Ρ Π½Π° ΡΡΠ΅Π΄ΠΎΡ Π·Π° Π΄Π° Π³ΠΎ Π΄ΠΎΠ²Π΅Π΄Π°Ρ Π²ΠΎ ΠΏΠΎΡΠ°ΠΊΡΠ²Π°Π½Π°ΡΠ° ΡΠΎΡΡΠΎΡΠ±Π°.
Π¨ΡΠΎ Π·Π½Π°ΡΠΈ ΡΠ΅ΡΠΎ ΠΎΠ²Π°? ΠΠΎΡΡΠΎ Π΅ Π²Π°ΠΆΠ½ΠΎ?
ΠΠ²ΠΎΡ ΠΏΠΎΡΡ ΠΎΠΏΡΠ°ΡΠ° ΠΌΠ½ΠΎΠ³Ρ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈ, Π½ΠΎ ΡΠ΅ Π½Π°Π΄Π΅Π²Π°ΠΌΠ΅ Π΄Π΅ΠΊΠ° Π½Π° ΠΊΡΠ°ΡΠΎΡ ΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΡΠ΅ Π·Π° ΡΠΎΠ° ΡΡΠΎ Π²ΡΡΡΠ½ΠΎΡΡ Π±Π°ΡΠ°Π°Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ Π½Π° ΠΏΡΠ΅ΡΠΏΡΠΈΡΠ°ΡΠΈΡΠ°ΡΠ°, ΡΠΎΠ±ΠΈΡΠ°ΡΠ΅, Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° Π½Π° ΡΠ°ΠΌΠΊΠ° Π·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΠ°. ΠΠΎ, Π·ΠΎΡΡΠΎ ΠΈΠΌ ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ ΠΎΠ²ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ°? ΠΠ½ΠΎΠ³Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅Π³Π° Π±Π°ΡΠ°Π°Ρ Π΄ΠΈΠ³ΠΈΡΠ°Π»Π½Π° ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡΠ° Π·Π° Π΄Π° Π³ΠΈ Π½Π°ΠΏΡΠ°Π²Π°Ρ Π½ΠΈΠ²Π½ΠΈΡΠ΅ ΠΠ’ ΡΡΠ΅Π΄ΠΈΠ½ΠΈ ΠΏΠΎΠ°Π³ΠΈΠ»Π½ΠΈ ΠΈ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΠΈ. ΠΠ° Π΄ΠΎΠ±ΡΠΎ ΠΈΠ»ΠΈ Π»ΠΎΡΠΎ, ΠΌΠ½ΠΎΠ³Ρ ΠΌΡΠ΅ΠΆΠ½ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈ ΡΡΠ°Π½ΡΠ²Π°Π°Ρ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΈ Π½Π° ΠΌΡΠ΅ΠΆΠΈ ΠΈΠ»ΠΈ ΠΎΠ΄ Π»ΠΈΡΠ΅Π½ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ ΠΈΠ»ΠΈ ΠΏΠΎ Π½Π°Π»ΠΎΠ³ Π½Π° ΠΌΠ΅Π½Π°ΡΠΌΠ΅Π½ΡΠΎΡ.
ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ ΡΡΠ°ΡΠ°Π°Ρ Π΄Π΅ΠΊΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΠΏΠΎΠ΅Π΄ΠΈΠ½Π΅ΡΠ½ΠΈ ΠΌΡΠ΅ΠΆΠ½ΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΈ Π½Π΅ Π³ΠΎ ΡΠ΅ΡΠ°Π²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΡ ΡΠΎ ΡΠΈΠ»ΠΎΡΠΈΡΠ΅ ΠΈ ΡΠ°ΠΌΠΎ ΡΠ° Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π° Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΎΡΡΠ° Π΄ΠΎ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ ΡΡΠ΅ΠΏΠ΅Π½. 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, ΠΊΠΎΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π·Π° ΠΏΠΎΠ½Π°ΡΠ°ΠΌΠΎΡΠ½ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΌΡΠ΅ΠΆΠ½Π°ΡΠ° ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΠ° ΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°, Π½Π° ΠΏΡ.
Π Π΅ΡΡΡΡΠΈ ΠΈ ΠΏΠΎΡΠ΅ΡΠΎΠΊ
ΠΠ·Π²ΠΎΡ: www.habr.com