
Π ΠΏΡΠ΅Π΄ΡΡΠΎΡΡΠ΅ΠΌ Π²ΡΠΏΡΡΠΊΠ΅ 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ΠΠΎΠΆΠ΅ Π±ΠΈ ΡΡΠ΅ заб注ζΠ»ΠΈ Π½Π΅ΡΠΎ Π½ΠΎΠ²ΠΎ Π² ΡΠ΅Π·ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ β ΡΡΠ±ΠΈΡΠ°Π½Π΅_Π½Π°_ΡΠ°ΠΊΡΠΈ: Π²ΡΡΠ½ΠΎ ΡΠ΅Π³Π° Π΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π·Π° Π½Π°ΡΠΈΠ²Π½ΠΎ ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΊΡΠΈ Π·Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΡΠ»Π° Π·Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΠ°ΠΊΡΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ:
- name: ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΊΡΠΈ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
eos_facts:
gather_subset: min
gather_network_resources:
- interfacesΠΠ»Π΅ΠΉΠ±ΡΠΊΡΡ Π²ΡΡΡΠ° ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΡΠ°ΠΊΡΠΈ Π·Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°:
ansible_facts:
ansible_network_resources:
interfaces:
- enabled: Π²ΡΡΠ½ΠΎ
name: Ethernet1
mtu: '1476'
- enabled: Π²ΡΡΠ½ΠΎ
name: Loopback0
- enabled: Π²ΡΡΠ½ΠΎ
name: Loopback1
- enabled: Π²ΡΡΠ½ΠΎ
mtu: '1476'
name: Tunnel0
- enabled: Π²ΡΡΠ½ΠΎ
name: Ethernet1
- enabled: Π²ΡΡΠ½ΠΎ
name: Tunnel1
- enabled: Π²ΡΡΠ½ΠΎ
name: 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) ΠΠΎΠ΄ΡΠ»ΠΈΡΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ ΡΠ΅Π³Π° Π²ΠΊΠ»ΡΡΠ²Π°Ρ ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ.
ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΎ: ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π΅ ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½Π° Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ (ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅);Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΎ: ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° ΡΠ΅ΡΡΡΡΠ° ΡΠ΅ Π±ΡΠ΄Π΅ Π·Π°ΠΌΠ΅Π½Π΅Π½Π° Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ;ΠΏΡΠ΅ΠΏΠΎΠΊΡΠΈΡΠΎ: ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° ΡΠ΅ΡΡΡΡΠ° ΡΠ΅ Π±ΡΠ΄Π΅ Π·Π°ΠΌΠ΅Π½Π΅Π½Π° Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ; ΠΈΠ·Π»ΠΈΡΠ½ΠΈΡΠ΅ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΠΈ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΈ;deleted: ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° ΡΠ΅ΡΡΡΡΠ° ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠ°/Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²Π΅Π½Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅.

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β ΠΎΡ Cisco.nxos_telemetryβ ΠΎΡ Cisco.
ΠΠ°ΠΊΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅, ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΡΠ° Π·Π° ΠΌΠΎΠ΄ΡΠ»ΠΈ Π·Π° ΡΠ΅ΡΡΡΡΠΈ Π²ΠΏΠΈΡΠ²Π° Π² Π½Π°ΡΠ°ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°. Π’ΠΎΠ΅ΡΡ, Π½ΠΈΠ΅ Π²ΠΊΠ»ΡΡΠ²Π°ΠΌΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΠ°ΠΌΠΈΡ Ansible, Π·Π° Π΄Π° ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠΈΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·Π°ΡΠΈΡΡΠ° ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ, Π° ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΄Π° ΡΠ»Π΅ΡΠ½ΠΈΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° Π½ΠΈΠ²ΠΎ ΡΠΎΠ»ΠΈ ΠΈ ΠΏΠ»Π΅ΠΉΠ±ΡΡΠΈ Π½Π° Ansible. ΠΠ° Π΄Π° ΡΠ°Π·ΡΠΈΡΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈ Π·Π° ΡΠ΅ΡΡΡΡΠΈ, Π΅ΠΊΠΈΠΏΡΡ Π½Π° Ansible ΠΏΡΡΠ½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Module Builder.
ΠΠ»Π°Π½ΠΎΠ²Π΅ Π·Π° Ansible 2.10 ΠΈ Π½Π°ΠΏΡΠ΅Π΄
Π‘Π»Π΅Π΄ ΠΏΡΡΠΊΠ°Π½Π΅ΡΠΎ Π½Π° Ansible 2.9 ΡΠ΅ ΡΠ΅ ΡΡΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΠΌ Π²ΡΡΡ Ρ ΡΠ»Π΅Π΄Π½ΠΈΡ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π·Π° ΡΠ΅ΡΡΡΡΠΈ Π·Π° Ansible 2.10, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²Π°ΡΠ° ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡ ΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΠ»Π°Π½ΡΡ Π·Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π²ΡΠ΅ ΠΎΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Π½, ΡΠ°ΠΊΠ° ΡΠ΅, Π°ΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈ, ΡΠ²Π΅Π΄ΠΎΠΌΠ΅ΡΠ΅ Π½ΠΈ Π² .
Π Π΅ΡΡΡΡΠΈ ΠΈ Π½Π°ΡΠ°Π»Π½ΠΈ Π½Π°ΡΠΎΠΊΠΈ
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
