เบžเบทเป‰เบ™เบ–เบฒเบ™ Ansible, เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบ—เบตเปˆ playbooks เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบˆเบฐเป€เบ›เบฑเบ™เบเป‰เบญเบ™เบ‚เบญเบ‡ pasta เบซเบ™เบฝเบง

เบ‚เป‰เบญเบเป€เบฎเบฑเบ”เบซเบผเบฒเบเบเบฒเบ™เบ—เบปเบšเบ—เบงเบ™เบ„เบทเบ™เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ” Ansible เบ‚เบญเบ‡เบ„เบปเบ™เบญเบทเปˆเบ™เปเบฅเบฐเบ‚เบฝเบ™เบซเบผเบฒเบเบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡. เปƒเบ™เป„เบฅเบเบฐเบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ” (เบ—เบฑเบ‡เบ‚เบญเบ‡เบ„เบปเบ™เบญเบทเปˆเบ™เปเบฅเบฐเบ‚เบญเบ‡เบ‚เป‰เบญเบเป€เบญเบ‡), เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบชเปเบฒเบžเบฒเบ”เบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบฎเบฑเบšเบฎเบนเป‰เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ•เบปเป‰เบ™เบ•เปเบ—เบตเปˆเบœเบนเป‰เปƒเบŠเป‰ Ansible เป€เบฎเบฑเบ” - เบžเบงเบเป€เบ‚เบปเบฒเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบชเบฑเบšเบชเบปเบ™เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบฎเบฝเบ™เบฎเบนเป‰เบžเบทเป‰เบ™เบ–เบฒเบ™.

เป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบ„เบงเบฒเบกเบšเปเปˆเบเบธเบ•เบดเบ—เปเบฒเบ—เบปเปˆเบงเป„เบ›เบ™เบตเป‰, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบ‚เบฝเบ™เบšเบปเบ”เปเบ™เบฐเบ™เปเบฒเบเปˆเบฝเบงเบเบฑเบš Ansible เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เบ—เบตเปˆเบฎเบนเป‰เปเบฅเป‰เบง. เบ‚เป‰เบญเบเป€เบ•เบทเบญเบ™เป€เบˆเบปเป‰เบฒ, เบ™เบตเป‰เบšเปเปˆเปเบกเปˆเบ™เบเบฒเบ™เป€เบฅเบปเปˆเบฒเบ„เบทเบ™เบ‚เบญเบ‡เบœเบนเป‰เบŠเบฒเบ, เบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เบญเปˆเบฒเบ™เบเบฒเบงเบ—เบตเปˆเบกเบตเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบซเบผเบฒเบเปเบฅเบฐเบšเปเปˆเบกเบตเบฎเบนเบšเบžเบฒเบš.

เบฅเบฐเบ”เบฑเบšเบ—เบตเปˆเบ„เบฒเบ”เป„เบงเป‰เบ‚เบญเบ‡เบœเบนเป‰เบญเปˆเบฒเบ™เปเบกเปˆเบ™เบงเปˆเบฒเบซเบผเบฒเบเบžเบฑเบ™เบชเบฒเบเบ‚เบญเบ‡ Yamla เป„เบ”เป‰เบ–เบทเบเบ‚เบฝเบ™เป„เบงเป‰เปเบฅเป‰เบง, เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™เบเบฒเบ™เบœเบฐเบฅเบดเบ”เปเบฅเป‰เบง, เปเบ•เปˆ "เบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบกเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบเปเปˆเบ–เบทเบเบšเบดเบ”เป€เบšเบทเบญเบ™."

Titles

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ•เบปเป‰เบ™เบ•เปเบ—เบตเปˆเบœเบนเป‰เปƒเบŠเป‰ Ansible เป€เบฎเบฑเบ”เปเบกเปˆเบ™เบšเปเปˆเบฎเบนเป‰เบงเปˆเบฒเบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบญเบตเป‰เบ™เบงเปˆเบฒ. เบ–เป‰เบฒเป€เบˆเบปเป‰เบฒเบšเปเปˆเบฎเบนเป‰เบŠเบทเปˆ, เป€เบˆเบปเป‰เบฒเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเปƒเบˆเบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบญเบเบฐเบชเบฒเบ™เป€เบงเบปเป‰เบฒ. เบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบตเปˆเบกเบตเบŠเบตเบงเบดเบ”เบŠเบตเบงเบฒ: เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบชเปเบฒเบžเบฒเบ”, เบ„เบปเบ™เบ—เบตเปˆเป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบฅเบฒเบงเบ‚เบฝเบ™เบซเบผเบฒเบเปƒเบ™ Ansible เบšเปเปˆเบชเบฒเบกเบฒเบ”เบ•เบญเบšเบ„เปเบฒเบ–เบฒเบกเบ—เบตเปˆเบงเปˆเบฒ "เบ›เบทเป‰เบกเบซเบผเบดเป‰เบ™เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบญเบปเบ‡เบ›เบฐเบเบญเบšเปƒเบ”?" เปเบฅเบฐเป€เบกเบทเปˆเบญเบ‚เป‰เบญเบเปเบ™เบฐเบ™เปเบฒเบงเปˆเบฒ "เบ„เปเบฒเบ•เบญเบšเบ—เบตเปˆเบ„เบฒเบ”เบงเปˆเบฒเบˆเบฐเบกเบตเบ›เบทเป‰เบกเบซเบผเบดเป‰เบ™เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบเบฒเบ™เบซเบผเบตเป‰เบ™", เบ„เปเบฒเป€เบซเบฑเบ™เบ—เบตเปˆเบซเบ™เป‰เบฒเบเบฝเบ”เบŠเบฑเบ‡ "เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเปƒเบŠเป‰เบกเบฑเบ™" เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบก. เบ„เบปเบ™เบ‚เบฝเบ™ Ansible เบชเปเบฒเบฅเบฑเบšเป€เบ‡เบดเบ™เปเบฅเบฐเบšเปเปˆเปƒเบŠเป‰เบเบฒเบ™เบซเบผเบดเป‰เบ™. เบ•เบปเบงเบˆเบดเบ‡เปเบฅเป‰เบงเบžเบงเบเป€เบ‚เบปเบฒเปƒเบŠเป‰เบกเบฑเบ™, เปเบ•เปˆเบšเปเปˆเบฎเบนเป‰เบงเปˆเบฒเบกเบฑเบ™เป€เบ›เบฑเบ™เปเบ™เบงเปƒเบ”.

เบชเบฐเบ™เบฑเป‰เบ™เปƒเบซเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบเบชเบดเปˆเบ‡เบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบ: เบกเบฑเบ™เป€เบญเบตเป‰เบ™เบงเปˆเบฒเปเบ™เบงเปƒเบ”? เบšเบฒเบ‡เบ—เบตเป€เบˆเบปเป‰เบฒเบฎเบนเป‰เป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰, เบซเบผเบทเบšเบฒเบ‡เบ—เบตเป€เบˆเบปเป‰เบฒเบšเปเปˆเป„เบ”เป‰, เป€เบžเบฒเบฐเบงเปˆเบฒเป€เบˆเบปเป‰เบฒเบšเปเปˆเป„เบ”เป‰เป€เบญเบปเบฒเปƒเบˆเปƒเบชเปˆเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ—เปˆเบฒเบ™เบญเปˆเบฒเบ™เป€เบญเบเบฐเบชเบฒเบ™.

ansible-playbook เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ playbook เป„เบ”เป‰. playbook เปเบกเปˆเบ™เป„เบŸเบฅเปŒเบ—เบตเปˆเบกเบตเบ™เบฒเบกเบชเบฐเบเบธเบ™ yml/yaml, เบžเบฒเบเปƒเบ™เบ™เบฑเป‰เบ™เบกเบตเบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™เบ™เบตเป‰:

---
- hosts: group1
  roles:
    - role1

- hosts: group2,group3
  tasks:
    - debug:

เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบฎเบนเป‰โ€‹เปเบฅเป‰เบงโ€‹เบงเปˆเบฒโ€‹เป„เบŸเบฅโ€‹เปŒโ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เบ™เบตเป‰โ€‹เปเบกเปˆเบ™ playbookโ€‹. เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบšเบปเบ”เบšเบฒเบ”เบขเบนเปˆเปƒเบช เปเบฅเบฐเปœเป‰เบฒเบงเบฝเบเบขเบนเปˆเปƒเบช. เปเบ•เปˆเบซเบผเบดเป‰เบ™เบขเบนเปˆเปƒเบช? เปเบฅเบฐ เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบšเบปเบ”เบฅเบฐเบ„เบญเบ™ เปเบฅเบฐ เบšเบปเบ”เบฅเบฐเบ„เบญเบ™ เบซเบผเบท เบšเบปเบ”เบฅเบฐเบ„เบญเบ™ เปเบกเปˆเบ™เบซเบเบฑเบ‡?

เบกเบฑเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบขเบนเปˆเปƒเบ™เป€เบญเบเบฐเบชเบฒเบ™. เปเบฅเบฐเบžเบงเบเป€เบ‚เบปเบฒเบžเบฒเบ”เบกเบฑเบ™. เบœเบนเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ - เป€เบžเบฒเบฐเบงเปˆเบฒเบกเบตเบซเบผเบฒเบเป€เบเบตเบ™เป„เบ›เปเบฅเบฐเบ—เปˆเบฒเบ™เบˆเบฐเบšเปเปˆเบˆเบทเปˆเบ—เบธเบเบขเปˆเบฒเบ‡เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™. เบกเบตเบ›เบฐเบชเบปเบšเบเบฒเบ™ - เป€เบžเบฒเบฐเบงเปˆเบฒ "เบชเบดเปˆเบ‡เป€เบฅเบฑเบเป†เบ™เป‰เบญเบเป†". เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบตเบ›เบฐเบชเบปเบšเบเบฒเบ™, เปƒเบซเป‰เบญเปˆเบฒเบ™เบซเบ™เป‰เบฒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบ„เบทเบ™เปƒเบซเบกเปˆเบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบเบซเบ™เบถเปˆเบ‡เบ„เบฑเป‰เบ‡เบ—เบธเบเป†เบซเบปเบเป€เบ”เบทเบญเบ™, เปเบฅเบฐเบฅเบฐเบซเบฑเบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบˆเบฐเบเบฒเบเป€เบ›เบฑเบ™เบŠเบฑเป‰เบ™เบ™เปเบฒ.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบˆเบทเปˆ: Playbook เปเบกเปˆเบ™เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบเบฒเบ™เบซเบผเบดเป‰เบ™เปเบฅเบฐ import_playbook.
เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบเบฒเบ™โ€‹เบซเบผเบดเป‰เบ™โ€‹เบซเบ™เบถเปˆเบ‡โ€‹:

- hosts: group1
  roles:
    - role1

เปเบฅเบฐโ€‹เบ™เบตเป‰โ€‹เบเบฑเบ‡โ€‹เป€เบ›เบฑเบ™โ€‹เบเบฒเบ™โ€‹เบซเบผเบดเป‰เบ™โ€‹เบญเบตเบโ€‹เบญเบฑเบ™โ€‹เบซเบ™เบถเปˆเบ‡โ€‹:

- hosts: group2,group3
  tasks:
    - debug:

เบเบฒเบ™เบซเบผเบดเป‰เบ™เปเบกเปˆเบ™เบซเบเบฑเบ‡? เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบ™เบฒเบ‡?

เบเบฒเบ™เบซเบผเบดเป‰เบ™เปเบกเปˆเบ™เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบ›เบทเป‰เบกเบซเบผเบดเป‰เบ™, เป€เบžเบฒเบฐเบงเปˆเบฒเบเบฒเบ™เบซเบผเบดเป‰เบ™เปเบฅเบฐเบเบฒเบ™เบซเบผเบดเป‰เบ™เบžเบฝเบ‡เปเบ•เปˆเบชเบปเบกเบ—เบปเบšเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ”เปเบฅเบฐ / เบซเบผเบทเบงเบฝเบเบ‡เบฒเบ™เบ—เบตเปˆเบกเบตเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเบžเบฒเบšเบ—เบตเปˆเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”. เปƒเบ™เบ„เบงเบฒเบกเป€เบฅเบดเบเป€เบฅเบดเบเบ‚เบญเบ‡เป€เบญเบเบฐเบชเบฒเบ™เบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบŠเบญเบเบซเบฒเบเบฒเบ™เบเปˆเบฒเบงเป€เบ–เบดเบ‡ delegate_to, เบ›เบฅเบฑเบเบญเบดเบ™เบเบฒเบ™เบŠเบญเบเบซเบฒเปƒเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™, เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบชเบฐเป€เบžเบฒเบฐเป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เป‚เบฎเบ”เป‚เบ”เบ”, เปเบฅเบฐเบญเบทเปˆเบ™เป†. เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เป€เบฅเบฑเบเบ™เป‰เบญเบเบšเปˆเบญเบ™เบ—เบตเปˆเบงเบฝเบเบ‡เบฒเบ™เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”. เปเบ•เปˆ, เบฅเบทเบกเบเปˆเบฝเบงเบเบฑเบšเบกเบฑเบ™. เปเบ•เปˆเบฅเบฐเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบชเบฐเบซเบฅเบฒเบ”เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบกเบตเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบชเบฐเป€เบžเบฒเบฐเบซเบผเบฒเบ, เปเบฅเบฐเปเบ™เปˆเบ™เบญเบ™เบงเปˆเบฒเบžเบงเบเบกเบฑเบ™เบšเปเปˆเปเบกเปˆเบ™เบ—เบปเปˆเบงเป„เบ›. เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบชเบดเปˆเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบ—เบตเปˆเบ—เบธเบเบ„เบปเบ™เบ„เบงเบ™เบฎเบนเป‰เปเบฅเบฐเบ™เปเบฒเปƒเบŠเป‰.

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” "เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡" "เบšเบฒเบ‡เบšเปˆเบญเบ™", เบ—เปˆเบฒเบ™เบ‚เบฝเบ™เบšเบปเบ”เบฅเบฐเบ„เบญเบ™. เบšเปเปˆเปเบกเปˆเบ™เบšเบปเบ”เบšเบฒเบ”. เบšเปเปˆเปเบกเปˆเบ™เบšเบปเบ”เบšเบฒเบ”เบเบฑเบšเป‚เบกเบ”เบนเบ™เปเบฅเบฐเบœเบนเป‰เปเบ—เบ™. เป€เบˆเบปเป‰เบฒเป€เบญเบปเบฒเบกเบฑเบ™เปเบฅเบฐเบ‚เบฝเบ™เบซเบผเบดเป‰เบ™. เปƒเบ™เบ™เบฑเป‰เบ™, เปƒเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเป€เบˆเบปเป‰เบฒเบžเบฒเบš, เบ—เปˆเบฒเบ™เบšเบญเบเบšเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”, เปเบฅเบฐเปƒเบ™เบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ” / เบซเบ™เป‰เบฒเบ—เบตเปˆ - เบชเบดเปˆเบ‡เบ—เบตเปˆเบ•เป‰เบญเบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”.

เบ‡เปˆเบฒเบเบ”เบฒเบ, เบชเบดเบ”? เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เปเบ™เบงเปƒเบ”เบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™?

เปœเบถเปˆเบ‡เปƒเบ™เบŠเปˆเบงเบ‡เป€เบงเบฅเบฒเบ—เบตเปˆเบกเบตเบฅเบฑเบเบชเบฐเบ™เบฐเป€เบ”เบฑเปˆเบ™เบŠเบฑเบ”เป€เบกเบทเปˆเบญเบ„เบปเบ™เป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰เป‚เบ”เบเบšเปเปˆเบ•เป‰เบญเบ‡เบซเบผเบดเป‰เบ™เบ„เบท "เบšเบปเบ”เบšเบฒเบ”เบ—เบตเปˆเบเบณเบ™เบปเบ”เบ—เบธเบเบขเปˆเบฒเบ‡." เบžเบงเบเป€เบ‚เบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบกเบตเบšเบปเบ”เบšเบฒเบ”เบ—เบตเปˆเบเบณเบ™เบปเบ”เบ—เบธเบเบขเปˆเบฒเบ‡ เปเบฅเบฐ เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ เบ›เบฐเป€เบžเบ”เบ—เบณเบญเบดเบ”, เปเบฅเบฐ เบ›เบฐเป€เบžเบ”เบ—เบตเบชเบญเบ‡เบ‚เบญเบ‡เป€เบŠเบตเบšเป€เบงเบต.

เบ•เบปเบง เบขเปˆเบฒเบ‡ archetypal เปเบกเปˆเบ™ เบเบฒเบ™ เบ•เบดเบ” เบ•เบฒเบก. เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบขเบฒเบเบˆเบฐเบกเบตเบšเบปเบ”เบšเบฒเบ”เปƒเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบ—เบตเปˆเบˆเบฐเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบเบงเบ”เบเบฒ. เบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ”เบ•เบดเบ”เบ•เบฒเบกเบเบงเบ”เบเบฒเป„เบ”เป‰เบ–เบทเบเบกเบญเบšเบซเบกเบฒเบเปƒเบซเป‰เป€เบˆเบปเป‰เบฒเบžเบฒเบšเบ•เบดเบ”เบ•เบฒเบกเบเบงเบ”เบเบฒ (เบญเบตเบ‡เบ•เบฒเบกเบเบฒเบ™เบซเบผเบดเป‰เบ™). เปเบ•เปˆเบกเบฑเบ™ turns เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบเบงเบ”เบเบฒเบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบˆเบฑเบ”เบชเบปเปˆเบ‡เบŠเบธเบ”เบเบฑเบšเป€เบˆเบปเป‰เบฒเบžเบฒเบšเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เบ•เบดเบ”เบ•เบฒเบกเบเบงเบ”เบเบฒ. เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบšเปเปˆเปƒเบŠเป‰เบ•เบปเบงเปเบ—เบ™? เบ™เบญเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบเบฑเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰ configure iptables. เบœเบนเป‰เปเบ—เบ™? เบ™เบญเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบเบฑเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ‚เบฝเบ™ / เปเบเป‰เป„เบ‚เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบชเปเบฒเบฅเบฑเบš DBMS เป€เบžเบทเปˆเบญเป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก. เบœเบนเป‰เปเบ—เบ™! เปเบฅเบฐเบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบ„เบงเบฒเบกเบ„เบดเบ”เบชเป‰เบฒเบ‡เบชเบฑเบ™เปเบกเปˆเบ™เบ‚เบฒเบ”, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบ„เบฐเบ™เบฐเบœเบนเป‰เปเบ—เบ™ include_role เปƒเบ™ loop เบŠเป‰เบญเบ™เป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเบเบญเบ‡ tricky เปƒเบ™เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบเบธเปˆเบก, เปเบฅเบฐเบžเบฒเบเปƒเบ™ include_role เป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰เบซเบผเบฒเบเบเบงเปˆเบฒเบ™เบฑเป‰เบ™ delegate_to เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡. เปเบฅเบฐโ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เป„เบ› ...

เบ„เบงเบฒเบกเบ›เบฒเบ”เบ–เบฐเบซเบ™เบฒเบ—เบตเปˆเบ”เบต - เปƒเบซเป‰เบกเบตเบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ”เบ•เบดเบ”เบ•เบฒเบกเบเบงเบ”เบเบฒเบญเบฑเบ™เบ”เบฝเบง, เป€เบŠเบดเปˆเบ‡ "เป€เบฎเบฑเบ”เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡" - เบ™เปเบฒเบžเบฒเบžเบงเบเป€เบฎเบปเบฒเป„เบ›เบชเบนเปˆเบ™เบฐเบฎเบปเบเบ—เบตเปˆเบชเบปเบกเบšเบนเบ™เบˆเบฒเบเบ—เบตเปˆเบชเปˆเบงเบ™เบซเบผเบฒเบเบกเบฑเบเบˆเบฐเบกเบตเบ—เบฒเบ‡เบ”เบฝเบงเบญเบญเบ: เบเบฒเบ™เบ‚เบฝเบ™เบ„เบทเบ™เปƒเบซเบกเปˆเบ—เบธเบเบขเปˆเบฒเบ‡เบˆเบฒเบเบˆเบธเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เป€เบเบตเบ”เบ‚เบถเป‰เบ™เบขเบนเปˆเปƒเบช? เป€เบงเบฅเบฒเบ—เบตเปˆเป€เบˆเบปเป‰เบฒเบ„เบปเป‰เบ™เบžเบปเบšเบงเปˆเบฒเป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบ "x" เปƒเบ™เป€เบˆเบปเป‰เบฒเบžเบฒเบš X, เป€เบˆเบปเป‰เบฒเบ•เป‰เบญเบ‡เป„เบ›เบซเบฒเป€เบˆเบปเป‰เบฒเบžเบฒเบš Y เปเบฅเบฐเป€เบฎเบฑเบ” "y" เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™, เป€เบˆเบปเป‰เบฒเบ•เป‰เบญเบ‡เป€เบฎเบฑเบ”เปเบšเบšเบ‡เปˆเบฒเบเป†: เป„เบ›เปเบฅเบฐเบ‚เบฝเบ™เบซเบผเบดเป‰เบ™, เป€เบŠเบดเปˆเบ‡เปƒเบ™เป€เบˆเบปเป‰เบฒเบžเบฒเบš Y เป€เบฎเบฑเบ” y. เบขเปˆเบฒเป€เบžเบตเปˆเบกเบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เปƒเบชเปˆ "x", เปเบ•เปˆเบ‚เบฝเบ™เบกเบฑเบ™เบˆเบฒเบเบˆเบธเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™. เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบกเบตเบ•เบปเบงเปเบ› hardcoded.

เบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เปƒเบ™เบงเบฑเบเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เบ™เบตเป‰เปเบกเปˆเบ™เป€เบงเบปเป‰เบฒเบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡. เปเบ•เปˆเบ™เบตเป‰เบšเปเปˆเปเบกเปˆเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒ! เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบ‚เบฝเบ™เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เบ„เบทเบ™เป„เบ”เป‰เบ—เบตเปˆเปเบซเป‰เบ‡เปเบฅเป‰เบ‡เปเบฅเบฐเบ„เป‰เบฒเบเบ„เบทเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”, เปเบฅเบฐเบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบŠเบญเบเบซเบฒเบงเบดเบ—เบตเบเบฒเบ™เบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเป€เบฎเบฑเบ”เบกเบฑเบ™.

เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบšเปˆเบญเบ™โ€‹เบ—เบตเปˆโ€‹เบ„เบงเบฒเบกโ€‹เบœเบดเบ”โ€‹เบžเบฒเบ”โ€‹เบ—เบตเปˆโ€‹เบฎเป‰เบฒเบโ€‹เปเบฎเบ‡โ€‹เบญเบตเบโ€‹เบญเบฑเบ™โ€‹เบซเบ™เบถเปˆเบ‡โ€‹เบ—เบตเปˆโ€‹เบขเบนเปˆโ€‹เปƒเบ™โ€‹. เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบตเปˆเบซเบฑเบ™เป‚เบ„เบ‡เบเบฒเบ™เบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบเบˆเบฒเบเบเบฒเบ™เบ‚เบฝเบ™เบ—เบตเปˆเบ—เบปเบ™เบ—เบฒเบ™ (เบกเบฑเบ™เบญเบฒเบ”เบˆเบฐเบ”เบตเบเบงเปˆเบฒ, เปเบ•เปˆเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป€เบฎเบฑเบ”เบงเบฝเบเปเบฅเบฐเบ‡เปˆเบฒเบเบ—เบตเปˆเบˆเบฐเบชเปเบฒเป€เบฅเบฑเบ”) เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบ„เบงเบฒเบกเบขเป‰เบฒเบ™เบ—เบตเปˆเบชเบปเบกเบšเบนเบ™เบ—เบตเปˆเป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบœเบนเป‰เบ‚เบฝเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เบ„เบดเบ”เบญเบญเบเป„เบ”เป‰. เบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบ, เปเบ•เปˆเบžเบฃเบฐเป€เบˆเบปเป‰เบฒเบซเป‰เบฒเบกเบ—เปˆเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบชเบดเปˆเบ‡เปƒเบ”.

เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เปเบกเปˆเบ™: เบšเบปเบ”เบšเบฒเบ”เปเบกเปˆเบ™เบซเบ™เป‰เบฒเบ—เบตเปˆเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”. เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบ™เบตเป‰เป„เบ”เป‰เบ—เปเบฒเบฅเบฒเบเบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ—เบตเปˆเบ”เบตเบซเบผเบฒเบเบˆเบปเบ™เป€เบ›เบฑเบ™เป€เบฅเบทเปˆเบญเบ‡เบ—เบตเปˆเบซเบ™เป‰เบฒเป€เบชเบปเป‰เบฒเปƒเบˆเบ—เบตเปˆเบˆเบฐเป€เบšเบดเปˆเบ‡. เบšเบปเบ”เบšเบฒเบ”เบšเปเปˆเปเบกเปˆเบ™เบซเบ™เป‰เบฒเบ—เบตเปˆเบ‚เบญเบ‡เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”. เบ™เบฒเบ‡โ€‹เบšเปเปˆโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เป€เบฎเบฑเบ”โ€‹เบเบฒเบ™โ€‹เบ„เบดเบ”โ€‹เป„เบฅเปˆโ€‹เปเบฅเบฐโ€‹เบ™เบฒเบ‡โ€‹เบšเปเปˆโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบ•เบฑเบ”โ€‹เบชเบดเบ™โ€‹เปƒเบˆโ€‹เบฅเบฐโ€‹เบ”เบฑเบšโ€‹เบเบฒเบ™โ€‹เบซเบผเบดเป‰เบ™โ€‹. เป€เบ•เบทเบญเบ™เบ‚เป‰เบญเบเบงเปˆเบฒเบเบฒเบ™เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบซเบผเบดเป‰เบ™เปเบกเปˆเบ™เบซเบเบฑเบ‡?

เบ‚เบญเบšเปƒเบˆ, เป€เบˆเบปเป‰เบฒเป€เบงเบปเป‰เบฒเบ–เบทเบ. Play เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆ (เบŠเบฑเบ”เป€เบˆเบ™เบเบงเปˆเบฒเบ™เบฑเป‰เบ™, เบกเบฑเบ™เบกเบตเบ‚เปเป‰เบกเบนเบ™) เบเปˆเบฝเบงเบเบฑเบšเบงเปˆเบฒเปœเป‰เบฒเบงเบฝเบ เปเบฅเบฐ เบšเบปเบ”เบšเบฒเบ”เบญเบฑเบ™เปƒเบ”เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เบเบฑเบšเป€เบˆเบปเป‰เบฒเบžเบฒเบšเปƒเบ”.

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบญเบšเบซเบกเบฒเบเบเบฒเบ™เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบ™เบตเป‰เปƒเบซเป‰เบเบฑเบšเบšเบปเบ”เบšเบฒเบ”, เปเบฅเบฐเป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบ”เป‰เบงเบเบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆ, เบ—เปˆเบฒเบ™ doom เบ•เบปเบงเบ—เปˆเบฒเบ™เป€เบญเบ‡ (เปเบฅเบฐเบœเบนเป‰เบ—เบตเปˆเบˆเบฐเบžเบฐเบเบฒเบเบฒเบกเบงเบดเป€เบ„เบฒเบฐเบฅเบฐเบซเบฑเบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™) เป„เบ›เบชเบนเปˆเบ„เบงเบฒเบกเบ—เบธเบเบเบฒเบ. เบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ”เบšเปเปˆเป„เบ”เป‰เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบงเปˆเบฒเบกเบฑเบ™เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบขเบนเปˆเปƒเบช. เบเบฒเบ™เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบ™เบตเป‰เปเบกเปˆเบ™เป€เบฎเบฑเบ”เป‚เบ”เบเบเบฒเบ™เบซเบผเบดเป‰เบ™. เบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ”เป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฑเบ™เบšเบญเบ, เบšเปˆเบญเบ™เบ—เบตเปˆเบกเบฑเบ™เบšเบญเบ.

เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบกเบฑเบ™เป€เบ›เบฑเบ™เบญเบฑเบ™เบ•เบฐเบฅเบฒเบเบ—เบตเปˆเบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เป‚เบ„เบ‡เบเบฒเบ™เปƒเบ™ Ansible เปเบฅเบฐเป€เบ›เบฑเบ™เบซเบเบฑเบ‡ COBOL เบ”เบตเบเบงเปˆเบฒ Ansible เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบชเบปเบ™เบ—เบฐเบ™เบฒเปƒเบ™เบšเบปเบ”เบเปˆเบฝเบงเบเบฑเบšเบ•เบปเบงเปเบ›เปเบฅเบฐ jinja. เบชเปเบฒเบฅเบฑเบšเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™, เปƒเบซเป‰เป€เบงเบปเป‰เบฒเบงเปˆเบฒเบชเบดเปˆเบ‡เบซเบ™เบถเปˆเบ‡ - เปเบ•เปˆเบฅเบฐเบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบ›เปˆเบญเบเปƒเบซเป‰เบฎเปˆเบญเบ‡เบฎเบญเบเบ‚เบญเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ‚เบญเบ‡เป‚เบฅเบเบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เปเบเป‰เป„เบ‚เป„เบ”เป‰, เปเบฅเบฐเบ—เปˆเบฒเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบซเบเบฑเบ‡เป„เบ”เป‰. เบ—เบฑเบ™เบ—เบตเบ—เบตเปˆ "เบฎเปˆเบญเบ‡เบฎเบญเบ" เบ—เบฑเบ‡เบชเบญเบ‡เบ•เบฑเบ”เบเบฑเบ™, เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบเปเปˆเบซเบฒเบเป„เบ›.

เบซเบกเบฒเบเป€เบซเบ”เบชเปเบฒเบฅเบฑเบš squeamish: เบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ”เปเบ™เปˆเบ™เบญเบ™เบงเปˆเบฒเบชเบฒเบกเบฒเบ”เบกเบตเบญเบดเบ”เบ—เบดเบžเบปเบ™เบ•เปเปˆเบเบฒเบ™เป„เบซเบผเป€เบ‚เบปเป‰เบฒเบ‚เบญเบ‡เบเบฒเบ™เบ„เบงเบšเบ„เบธเบก. เบเบดเบ™ delegate_to เปเบฅเบฐเบกเบฑเบ™เบกเบตเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ—เบตเปˆเบชเบปเบกเป€เบซเบ”เบชเบปเบกเบœเบปเบ™. เบเบดเบ™ meta: end host/play. เปเบ•เปˆ! เบˆเบทเปˆเบžเบงเบเป€เบฎเบปเบฒเบชเบญเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบšเป? เบฅเบทเบกเบเปˆเบฝเบงเบเบฑเบš delegate_to. เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบฅเบฐเบซเบฑเบ” Ansible เบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเปเบฅเบฐเบชเบงเบเบ‡เบฒเบกเบ—เบตเปˆเบชเบธเบ”. เบŠเบถเปˆเบ‡โ€‹เป€เบ›เบฑเบ™โ€‹เบเบฒเบ™โ€‹เบญเปˆเบฒเบ™โ€‹เบ‡เปˆเบฒเบโ€‹, เบ‚เบฝเบ™โ€‹เบ‡เปˆเบฒเบโ€‹, เบ‡เปˆเบฒเบโ€‹เบ—เบตเปˆโ€‹เบˆเบฐ debugโ€‹, เบ‡เปˆเบฒเบโ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เบ—เบปเบ”โ€‹เบชเบญเบšโ€‹เปเบฅเบฐโ€‹เบ‡เปˆเบฒเบโ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เบชเปเบฒโ€‹เป€เบฅเบฑเบ”โ€‹. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡:

เบซเบผเบดเป‰เบ™เปเบฅเบฐเบซเบผเบดเป‰เบ™เบžเบฝเบ‡เปเบ•เปˆเบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบงเปˆเบฒเป€เบˆเบปเป‰เบฒเบžเบฒเบšเบชเบดเปˆเบ‡เบ—เบตเปˆเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”.

เปƒเบ™เบžเบฒเบเบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเบเปˆเบฒเบเบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบกเบฅเบฐเบซเบงเปˆเบฒเบ‡เบšเบปเบ”เบšเบฒเบ”เปเบฅเบฐเบšเบปเบ”เบšเบฒเบ”. เบ•เบญเบ™เบ™เบตเป‰เปƒเบซเป‰เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบงเบฝเบเบ‡เบฒเบ™เบ—เบฝเบšเบเบฑเบšเบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™เบ‚เบญเบ‡เบšเบปเบ”เบšเบฒเบ”.

เปœเป‰เบฒเบ—เบตเปˆ เปเบฅเบฐ เบšเบปเบ”เบšเบฒเบ”

เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบซเบผเบดเป‰เบ™:

- hosts: somegroup
  pre_tasks:
    - some_tasks1:
  roles:
     - role1
     - role2
  post_tasks:
     - some_task2:
     - some_task3:

เปƒเบซเป‰เป€เบงเบปเป‰เบฒเบงเปˆเบฒเบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบฎเบฑเบ” foo. เปเบฅเบฐเป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒ foo: name=foobar state=present. เบ‚เป‰เบญเบเบ„เบงเบ™เบ‚เบฝเบ™เบ™เบตเป‰เบขเบนเปˆเปƒเบช? เบฅเปˆเบงเบ‡เปœเป‰เบฒ? เบ•เบญเบš? เบชเป‰เบฒเบ‡เบšเบปเบ”เบšเบฒเบ”?

...เปเบฅเป‰เบงเบงเบฝเบเป„เบ›เปƒเบช?

เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบเบžเบทเป‰เบ™เบ–เบฒเบ™เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡ - เบญเบธเบ›เบฐเบเบญเบ™เบซเบผเบดเป‰เบ™. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบฅเบญเบเบขเบนเปˆเปƒเบ™เบšเบฑเบ™เบซเบฒเบ™เบตเป‰, เบ—เปˆเบฒเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เบเบฒเบ™เบซเบผเบดเป‰เบ™เป€เบ›เบฑเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบญเบทเปˆเบ™, เปเบฅเบฐเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบˆเบฐ "เบชเบฑเปˆเบ™เบชเบฐเป€เบ—เบทเบญเบ™".

เบญเบธเบ›เบฐเบเบญเบ™เบซเบผเบดเป‰เบ™: เป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบžเบฒเบšเบ„เปเบฒเบชเบฑเปˆเบ‡, เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบซเบผเบดเป‰เบ™เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เปเบฅเบฐ pre_tasks, เบงเบฝเบ, เบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ”, เบžเบฒเบเบชเปˆเบงเบ™ post_tasks. เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ—เบตเปˆเบเบฑเบ‡เป€เบซเบผเบทเบญเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบซเบผเบดเป‰เบ™เปเบกเปˆเบ™เบšเปเปˆเบชเปเบฒเบ„เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบžเบงเบเป€เบฎเบปเบฒเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™.

เบ„เปเบฒเบชเบฑเปˆเบ‡เบ‚เบญเบ‡เบžเบฒเบเบชเปˆเบงเบ™เบ‚เบญเบ‡เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบเบฑเบšเบงเบฝเบเบ‡เบฒเบ™เปเบฅเบฐเบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ”: pre_tasks, roles, tasks, post_tasks. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒ semantic เบ„เปเบฒเบชเบฑเปˆเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบกเปˆเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡ tasks ะธ roles เปเบกเปˆเบ™เบšเปเปˆเบŠเบฑเบ”เป€เบˆเบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เป€เบงเบปเป‰เบฒเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เป€เบžเบตเปˆเบกเบžเบฒเบเบชเปˆเบงเบ™ tasks, เบžเบฝเบ‡เปเบ•เปˆเบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบšเปเปˆ roles... เบ–เป‰เบฒเบกเบต roles, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบงเบฝเบเบ‡เบฒเบ™เบ—เบตเปˆเบ•เบดเบ”เบ„เบฑเบ”เบกเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™เบ–เบทเบเบˆเบฑเบ”เปƒเบชเปˆเปƒเบ™เบžเบฒเบเบชเปˆเบงเบ™เบ•เปˆเบฒเบ‡เป† pre_tasks/post_tasks.

เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบเบฑเบ‡เป€เบซเบผเบทเบญเปเบกเปˆเบ™เบงเปˆเบฒเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เปเบกเปˆเบ™เบˆเบฐเปเบˆเป‰เบ‡ semanically: เบ—เปเบฒเบญเบดเบ” pre_tasksเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, rolesเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, post_tasks.

เปเบ•เปˆเบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เบšเปเปˆเป„เบ”เป‰เบ•เบญเบšเบ„เปเบฒเบ–เบฒเบก: เป‚เบกเบ”เบนเบ™เป‚เบ—เบขเบนเปˆเปƒเบช? foo เบ‚เบฝเบ™? เบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ‚เบฝเบ™เบšเบปเบ”เบšเบฒเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเป‚เบกเบ”เบนเบ™เบšเป? เบซเบผเบทเบกเบฑเบ™เบ”เบตเบเบงเปˆเบฒเบ—เบตเปˆเบˆเบฐเบกเบตเบšเบปเบ”เบšเบฒเบ”เบซเบ™เบฒเปเบซเบ™เป‰เบ™เบชเปเบฒเบฅเบฑเบšเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡? เปเบฅเบฐเบ–เป‰เบฒเบšเปเปˆเปเบกเปˆเบ™เบšเบปเบ”เบšเบฒเบ”, เบ‚เป‰เบญเบเบ„เบงเบ™เบ‚เบฝเบ™เบขเบนเปˆเปƒเบช - เปƒเบ™เบเปˆเบญเบ™เบซเบผเบทเป‚เบžเบ”?

เบ–เป‰เบฒเบšเปเปˆเบกเบตเบ„เปเบฒเบ•เบญเบšเบ—เบตเปˆเบชเบปเบกเป€เบซเบ”เบชเบปเบกเบœเบปเบ™เบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบ–เบฒเบกเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰, เบ™เบตเป‰เปเบกเปˆเบ™เบชเบฑเบ™เบเบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เบ‚เบฒเบ”เบชเบฐเบ•เบดเบ›เบฑเบ™เบเบฒ, เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, "เบžเบทเป‰เบ™เบ–เบฒเบ™เบ—เบตเปˆเบชเบฑเปˆเบ™เบชเบฐเป€เบ—เบทเบญเบ™." เปƒเบซเป‰เบ„เบดเบ”เบญเบญเบ. เบซเบ™เป‰เบฒเบ—เปเบฒเบญเบดเบ”, เบ„เปเบฒเบ–เบฒเบกเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบž: เบ–เป‰เบฒเบซเบผเบดเป‰เบ™เบกเบต pre_tasks ะธ post_tasks (เปเบฅเบฐเบšเปเปˆเบกเบตเบงเบฝเบเบ‡เบฒเบ™เบซเบผเบทเบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ”), เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบชเบฒเบกเบฒเบ”เบ—เปเบฒเบฅเบฒเบเบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบ›เบฐเบ•เบดเบšเบฑเบ”เบงเบฝเบเบ‡เบฒเบ™เบ—เปเบฒเบญเบดเบ”เบˆเบฒเบ post_tasks เบ‚เป‰เบญเบเบˆเบฐเบเป‰เบฒเบเบกเบฑเบ™เป„เบ›เบˆเบปเบ™เป€เบ–เบดเบ‡เบ—เบตเปˆเบชเบธเบ” pre_tasks?

เปเบ™เปˆเบ™เบญเบ™, เบ„เปเบฒเป€เบงเบปเป‰เบฒเบ‚เบญเบ‡เบ„เปเบฒเบ–เบฒเบกเบŠเบตเป‰เบšเบญเบเบงเปˆเบฒเบกเบฑเบ™เบˆเบฐเปเบ•เบ. เปเบ•เปˆเบชเบดเปˆเบ‡เบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™?

... เบกเบทเบˆเบฑเบš. เบเบฒเบ™เบญเปˆเบฒเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เป€เบ–เบดเบ‡เบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™: เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบˆเบฐเบ–เบทเบเบฅเป‰เบฒเบ‡เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบซเบผเบฑเบ‡เบˆเบฒเบเปเบ•เปˆเบฅเบฐเบžเบฒเบ. เป€เบซเบผเบปเปˆเบฒเบ™เบฑเป‰เบ™. เบงเบฝเบโ€‹เบ‡เบฒเบ™โ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เบˆเบฒเบโ€‹ pre_tasks, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ—เบฑเบ‡เบซเบกเบปเบ” handlers เบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เปเบˆเป‰เบ‡เป€เบ•เบทเบญเบ™. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบฅเบฐเบœเบนเป‰เบ„เบธเป‰เบกเบ„เบญเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เปเบˆเป‰เบ‡เป€เบ•เบทเบญเบ™เปƒเบ™เบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ”เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”. เบซเบผเบฑเบ‡เบˆเบฒเบ post_tasks เปเบฅเบฐเบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบฅเบฒเบเบงเบฝเบเบˆเบฒเบ post_tasks ะฒ pre_tasks, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบญเบฒเบ”เบˆเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบกเบฑเบ™เบเปˆเบญเบ™เบ—เบตเปˆเบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบˆเบฐเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ–เป‰เบฒเบขเบนเปˆเปƒเบ™ pre_tasks เบ•เบดเบ”เบ•เบฑเป‰เบ‡ เปเบฅเบฐ เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปเบฅเป‰เบง เป€เบงเบฑเบšเป€เบŠเบตเบšเป€เบงเบต, เปเบฅเบฐเปƒเบ™ post_tasks เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ–เบทเบเบชเบปเปˆเบ‡เป„เบ›เบซเบฒเบกเบฑเบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เป‚เบญเบ™เบงเบฝเบเบ‡เบฒเบ™เบ™เบตเป‰เป„เบ›เบซเบฒเบžเบฒเบเบชเปˆเบงเบ™ pre_tasks เบˆเบฐเบ™เปเบฒเป„เบ›เบชเบนเปˆเบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเปƒเบ™เป€เบงเบฅเบฒ "เบชเบปเปˆเบ‡" เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบˆเบฐเบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบเปเบฅเบฐเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบˆเบฐเปเบ•เบ.

เบšเบฑเบ”โ€‹เบ™เบตเป‰โ€‹เปƒเบซเป‰โ€‹เบ„เบดเบ”โ€‹เป€เบšเบดเปˆเบ‡โ€‹เบญเบตเบโ€‹เบงเปˆเบฒโ€‹เป€เบ›เบฑเบ™โ€‹เบซเบเบฑเบ‡โ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™ pre_tasks ะธ post_tasks? เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเปเบฒเป€เบฅเบฑเบ”เบ—เบธเบเบขเปˆเบฒเบ‡เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™ (เบฅเบงเบกเบ—เบฑเบ‡เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™) เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ”. เบ post_tasks เบˆเบฐเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ” (เบฅเบงเบกเบ—เบฑเบ‡ handlers).

เบœเบนเป‰เบŠเปˆเบฝเบงเบŠเบฒเบ™ Ansible เบชเบฐเบซเบฅเบฒเบ”เบˆเบฐเบšเบญเบเบžเบงเบเป€เบฎเบปเบฒเบงเปˆเบฒเบกเบฑเบ™เปเบกเปˆเบ™เบซเบเบฑเบ‡. meta: flush_handlers, เปเบ•เปˆเป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™ flush_handlers เบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบญเบตเบ‡เปƒเบชเปˆเบ„เปเบฒเบชเบฑเปˆเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบžเบฒเบเบชเปˆเบงเบ™เบ•เปˆเบฒเบ‡เป†เปƒเบ™เบเบฒเบ™เบซเบผเบดเป‰เบ™? เบเบดเปˆเบ‡เป„เบ›เบเบงเปˆเบฒเบ™เบฑเป‰เบ™, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ meta: flush_handlers เบชเบฒเบกเบฒเบ”เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบชเบดเปˆเบ‡เบ—เบตเปˆเบšเปเปˆเบ„เบฒเบ”เบ„เบดเบ”เบเบฑเบšเบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบ—เบตเปˆเบŠเป‰เปเบฒเบเบฑเบ™, เปƒเบซเป‰เบ„เปเบฒเป€เบ•เบทเบญเบ™เบ—เบตเปˆเปเบ›เบเบ›เบฐเบซเบผเบฒเบ”เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเปƒเบŠเป‰. when ัƒ block เปเบฅเบฐเบญเบทเปˆเบ™เป† เบเบดเปˆเบ‡เป€เบˆเบปเป‰เบฒเบฎเบนเป‰เบˆเบฑเบ ansible เบ”เบตเบเบงเปˆเบฒ, เบกเบตเบซเบผเบฒเบเบญเบฑเบ™เบ—เบตเปˆเป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เบ•เบฑเป‰เบ‡เบŠเบทเปˆเปƒเบซเป‰เบเบฑเบšเบเบฒเบ™เปเบเป‰เป„เบ‚ โ€œเบเบฒเบโ€. เปเบฅเบฐเบเบฒเบ™เปเบเป‰เป„เบ‚เบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบ - เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เปเบšเปˆเบ‡เบ›เบฑเบ™เบ—เปเบฒเบกเบฐเบŠเบฒเบ”เบฅเบฐเบซเบงเปˆเบฒเบ‡ pre / เบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ” / post - เบšเปเปˆเป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ” nuances.

เปเบฅเบฐ, เบเบฑเบšเบ„เบทเบ™เป„เบ›เบšเปˆเบญเบ™ 'foo' เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ. เบ‚เป‰เบญเบเบ„เบงเบ™เปƒเบชเปˆเบกเบฑเบ™เบขเบนเปˆเปƒเบช? เบเปˆเบญเบ™เปœเป‰เบฒ, เบ•เบญเบš เบซเบผเบท เบšเบปเบ”เบšเบฒเบ”? เปเบ™เปˆเบ™เบญเบ™, เบ™เบตเป‰เปเบกเปˆเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡ handler เบชเปเบฒเบฅเบฑเบš foo. เบ–เป‰เบฒเบžเบงเบเป€เบ‚เบปเบฒเบšเปเปˆเบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™, foo เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ–เบทเบเบˆเบฑเบ”เปƒเบชเปˆเปƒเบ™เบ—เบฑเบ‡เบ—เบฒเบ‡เบซเบ™เป‰เบฒเบซเบผเบทเบซเบฅเบฑเบ‡ - เบžเบฒเบเบชเปˆเบงเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบกเบตเบ„เบงเบฒเบกเบซเบกเบฒเบเบžเบดเป€เบชเบ” - เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบงเบฝเบเบ‡เบฒเบ™เบเปˆเบญเบ™เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ•เบปเบงเบซเบผเบฑเบเบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”.

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ„เปเบฒเบ•เบญเบšเบ‚เบญเบ‡เบ„เปเบฒเบ–เบฒเบก "เบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ”เบซเบผเบทเบซเบ™เป‰เบฒเบงเบฝเบ" เปเบกเปˆเบ™เบกเบฒเบˆเบฒเบเบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบง - เบ–เป‰เบฒเบกเบตเบงเบฝเบเบ‡เบฒเบ™เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบžเบตเปˆเบกเบžเบงเบเบกเบฑเบ™เป€เบ‚เบปเป‰เบฒเปƒเบ™เบงเบฝเบเบ‡เบฒเบ™. เบ–เป‰เบฒเบกเบตเบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ”, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบชเป‰เบฒเบ‡เบšเบปเบ”เบšเบฒเบ” (เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบˆเบฒเบเบงเบฝเบเบ‡เบฒเบ™เบซเบ™เบถเปˆเบ‡). เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบ‚เปเป€เบ•เบทเบญเบ™เบ—เปˆเบฒเบ™เบงเปˆเบฒเบงเบฝเบเบ‡เบฒเบ™เปเบฅเบฐเบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ”เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™.

เบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเปƒเบˆเบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡ Ansible เปƒเบซเป‰เบ„เปเบฒเบ•เบญเบšเบ—เบตเปˆเบชเบปเบกเป€เบซเบ”เบชเบปเบกเบœเบปเบ™เบ•เปเปˆเบ„เปเบฒเบ–เบฒเบกเบ—เบตเปˆเป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบกเบตเบฅเบปเบ”เบŠเบฒเบ”.

เปœเป‰เบฒเบ—เบตเปˆ เปเบฅเบฐ เบšเบปเบ”เบšเบฒเบ” (เบžเบฒเบเบ—เบต 2)

เบ•เบญเบ™เบ™เบตเป‰เปƒเบซเป‰เป€เบฎเบปเบฒเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ•เบญเบ™เบ—เบตเปˆเป€เบˆเบปเป‰เบฒเบซเบฒเบเปเปˆเป€เบฅเบตเปˆเบกเบ‚เบฝเบ™เบ›เบถเป‰เบกเบซเบผเบดเป‰เบ™. เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบฎเบฑเบ” foo, bar เปเบฅเบฐ baz. เบงเบฝเบเบ‡เบฒเบ™เบชเบฒเบกเบขเปˆเบฒเบ‡เบ™เบตเป‰, เปœเป‰เบฒเบ—เบตเปˆเปœเบถเปˆเบ‡ เบซเบผเบทเบชเบฒเบกเปœเป‰เบฒเบ—เบตเปˆ? เป€เบžเบทเปˆเบญเบชเบฐเบซเบผเบธเบšเบ„เปเบฒเบ–เบฒเบก: เบ—เปˆเบฒเบ™เบ„เบงเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เบ‚เบฝเบ™เบšเบปเบ”เบšเบฒเบ”เปƒเบ™เบˆเบธเบ”เปƒเบ”? เปœเป‰เบฒเบ—เบตเปˆเบ‚เบฝเบ™เบšเบปเบ”เป€เบ›เบฑเบ™เปเบ™เบงเปƒเบ” เป€เบกเบทเปˆเบญเป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เบ‚เบฝเบ™เปœเป‰เบฒเบงเบฝเบเป„เบ”เป‰?... เบšเบปเบ”เบšเบฒเบ”เปเบกเปˆเบ™เบซเบเบฑเบ‡?

เบซเบ™เบถเปˆเบ‡เปƒเบ™เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบตเปˆเปƒเบซเบเปˆเบ—เบตเปˆเบชเบธเบ” (เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰เปเบฅเป‰เบง) เปเบกเปˆเบ™เบเบฒเบ™เบ„เบดเบ”เบงเปˆเบฒเบšเบปเบ”เบšเบฒเบ”เปเบกเปˆเบ™เบ„เป‰เบฒเบเบ„เบทเบซเบ™เป‰เบฒเบ—เบตเปˆเบขเบนเปˆเปƒเบ™เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™. เบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเบซเบ™เป‰เบฒเบ—เบตเปˆเบ—เบปเปˆเบงเป„เบ›เบกเบตเบฅเบฑเบเบชเบฐเบ™เบฐเปเบ™เบงเปƒเบ”? เบกเบฑเบ™เบเบญเบกเบฎเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบเบฒเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™, เบžเบปเบงเบžเบฑเบ™เบเบฑเบšเบชเบฒเป€เบซเบ”เบ‚เป‰เบฒเบ‡เบ„เบฝเบ‡, เบœเบปเบ™เบ‚เป‰เบฒเบ‡เบ„เบฝเบ‡, เปเบฅเบฐเบชเบปเปˆเบ‡เบ„เบทเบ™เบกเบนเบ™เบ„เปˆเบฒ.

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™, เป€เบญเบปเบฒเปƒเบˆเปƒเบชเปˆ. เบชเบดเปˆเบ‡เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰เบˆเบฒเบเบ™เบตเป‰เปƒเบ™เบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ”? เบ—เปˆเบฒเบ™เบชเบฐเป€เบซเบกเบตเบเบดเบ™เบ”เบตเบ•เป‰เบญเบ™เบฎเบฑเบšเป‚เบ—เบซเบฒเบœเบปเบ™เบเบฐเบ—เบปเบšเบ‚เป‰เบฒเบ‡เบ„เบฝเบ‡, เบ™เบตเป‰เปเบกเปˆเบ™เบชเปเบฒเบ„เบฑเบ™เบ‚เบญเบ‡ Ansible เบ—เบฑเบ‡เบซเบกเบปเบ” - เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบœเบปเบ™เบ‚เป‰เบฒเบ‡เบ„เบฝเบ‡. เบกเบตเบชเบฒเป€เบซเบ”เบ‚เป‰เบฒเบ‡เบ„เบฝเบ‡? เบ›เบฐเบ–เบปเบก. เปเบ•เปˆเบเบฑเบš "เบœเปˆเบฒเบ™เบกเบนเบ™เบ„เปˆเบฒเปเบฅเบฐเบชเบปเปˆเบ‡เบ„เบทเบ™เบกเบฑเบ™" - เบ™เบฑเป‰เบ™เปเบกเปˆเบ™เบšเปˆเบญเบ™เบ—เบตเปˆเบกเบฑเบ™เบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบ. เบเปˆเบญเบ™เบญเบทเปˆเบ™ เปเบปเบ”, เบ—เปˆเบฒเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เบชเบปเปˆเบ‡เบ„เปˆเบฒเปƒเบซเป‰เบเบฑเบšเบšเบปเบ”เบšเบฒเบ”เปƒเบ” เปœเบถเปˆเบ‡. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบ•เบปเบงเปเบ›เบ—เบปเปˆเบงเป‚เบฅเบเบ—เบตเปˆเบกเบตเบ‚เบฐเบซเบ™เบฒเบ”เบ•เบฐเบซเบผเบญเบ”เบŠเบตเบงเบดเบ”เบ‚เบญเบ‡เบเบฒเบ™เบซเบผเบดเป‰เบ™เปƒเบ™เบžเบฒเบ vars เบชเปเบฒเบฅเบฑเบšเบšเบปเบ”เบšเบฒเบ”. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบ•เบปเบงเปเบ›เบ—เบปเปˆเบงเป‚เบฅเบเบ—เบตเปˆเบกเบตเบ•เบฐเบซเบผเบญเบ”เบŠเบตเบงเบดเบ”เปƒเบ™เบเบฒเบ™เบซเบผเบดเป‰เบ™เบžเบฒเบเปƒเบ™เบšเบปเบ”เบšเบฒเบ”. เบซเบผเบทโ€‹เปเบกเปˆเบ™โ€‹เปเบ•เปˆโ€‹เบเบฑเบšโ€‹เบŠเบตโ€‹เบงเบดเบ”โ€‹เบ‚เบญเบ‡ playbooks (set_fact/register). เปเบ•เปˆเบ—เปˆเบฒเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เบกเบต "เบ•เบปเบงเปเบ›เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™". เบ—เปˆเบฒเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ” "เป€เบญเบปเบฒเบกเบนเบ™เบ„เปˆเบฒ" เปเบฅเบฐ "เบชเบปเปˆเบ‡เบ„เบทเบ™เบกเบฑเบ™".

เบชเบดเปˆเบ‡เบ•เบปเป‰เบ™เบ•เปเปเบกเปˆเบ™เบกเบฒเบˆเบฒเบเบ™เบตเป‰: เบ—เปˆเบฒเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เบ‚เบฝเบ™เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เปƒเบ™ Ansible เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบœเบปเบ™เบ‚เป‰เบฒเบ‡เบ„เบฝเบ‡. เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ•เบปเบงเปเบ›เบ—เบปเปˆเบงเป‚เบฅเบเปเบกเปˆเบ™เบชเบฐเป€เบซเบกเบตเป€เบ›เบฑเบ™เบœเบปเบ™เบ‚เป‰เบฒเบ‡เบ„เบฝเบ‡เบชเปเบฒเบฅเบฑเบšเบซเบ™เป‰เบฒเบ—เบตเปˆ. เปƒเบ™ Rust, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ•เบปเบงเปเบ›เบ—เบปเปˆเบงเป‚เบฅเบเปเบกเปˆเบ™ unsafe. เปเบฅเบฐเปƒเบ™ Ansible เบกเบฑเบ™เป€เบ›เบฑเบ™เบงเบดเบ—เบตเบ”เบฝเบงเบ—เบตเปˆเบˆเบฐเบกเบตเบญเบดเบ”เบ—เบดเบžเบปเบ™เบ•เปเปˆเบ„เบธเบ™เบ„เปˆเบฒเบชเปเบฒเบฅเบฑเบšเบšเบปเบ”เบšเบฒเบ”. เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบ„เปเบฒเบ—เบตเปˆเปƒเบŠเป‰: เบšเปเปˆเปเบกเปˆเบ™ "เบœเปˆเบฒเบ™เบกเบนเบ™เบ„เปˆเบฒเปƒเบซเป‰เบเบฑเบšเบšเบปเบ”เบšเบฒเบ”", เปเบ•เปˆ "เบ›เปˆเบฝเบ™เบ„เปˆเบฒเบ—เบตเปˆเบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ”เปƒเบŠเป‰". เบšเปเปˆเบกเบตเบ„เบงเบฒเบกเป‚เบ”เบ”เบ”เปˆเบฝเบงเบฅเบฐเบซเบงเปˆเบฒเบ‡เบšเบปเบ”เบšเบฒเบ”. เบšเปเปˆเบกเบตเบ„เบงเบฒเบกเป‚เบ”เบ”เบ”เปˆเบฝเบงเบฅเบฐเบซเบงเปˆเบฒเบ‡เบงเบฝเบเบ‡เบฒเบ™เปเบฅเบฐเบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ”.

เบฅเบงเบก: เบšเบปเบ”เบšเบฒเบ”เบšเปเปˆเปเบกเปˆเบ™เบซเบ™เป‰เบฒเบ—เบตเปˆ.

เปเบกเปˆเบ™เบซเบเบฑเบ‡เบ”เบตเบเปˆเบฝเบงเบเบฑเบšเบšเบปเบ”เบšเบฒเบ”? เบซเบ™เป‰เบฒเบ—เปเบฒเบญเบดเบ”, เบšเบปเบ”เบšเบฒเบ”เบกเบตเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ (/default/main.yaml), เบญเบฑเบ™เบ—เบตเบชเบญเบ‡, เบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ”เบกเบตเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป„เบŸเบฅเปŒ.

เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบ‚เบญเบ‡เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™เบซเบเบฑเบ‡? เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเปƒเบ™ pyramid เบ‚เบญเบ‡ Maslow, เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบเบฒเบ™เบšเบดเบ”เป€เบšเบทเบญเบ™เบ‚เบญเบ‡ Ansible เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบšเบนเบฅเบดเบกเบฐเบชเบดเบ”เบ‚เบญเบ‡เบ•เบปเบงเบ›เปˆเบฝเบ™เปเบ›เบ‡, เบšเบปเบ”เบšเบฒเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™เบ„เบงเบฒเบกเบชเปเบฒเบ„เบฑเบ™เบ•เปˆเปเบฒเบ—เบตเปˆเบชเบธเบ” (เบฅเบปเบšเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ Ansible). เบ™เบตเป‰เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบซเป‰เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบฅเบฐเบšเปเปˆเบเบฑเบ‡เบงเบปเบ™เบเปˆเบฝเบงเบเบฑเบšเบžเบงเบเบกเบฑเบ™ overriding เบ„เปˆเบฒเบˆเบฒเบเบชเบดเบ™เบ„เป‰เบฒเบ„เบปเบ‡เบ„เบฑเบ‡เบซเบผเบทเบ•เบปเบงเปเบ›เบเบธเปˆเบก, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบšเบปเบ”เบšเบฒเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™เบšเปˆเบญเบ™เบ”เบฝเบงเบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบ—เปˆเบฒเบ™. (เบ‚เป‰เบญเบเป€เบงเบปเป‰เบฒเบ•เบปเบงเบฐเป€เบฅเบฑเบเบ™เป‰เบญเบ - เบกเบตเบซเบผเบฒเบเบเบงเปˆเบฒเบ™เบฑเป‰เบ™ |d(your_default_here), เปเบ•เปˆเบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเบชเบปเบ™เบ—เบฐเบ™เบฒเบเปˆเบฝเบงเบเบฑเบšเบชเบฐเบ–เบฒเบ™เบ—เบตเปˆ stationary, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบžเบฝเบ‡เปเบ•เปˆเบšเบปเบ”เบšเบฒเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™).

เบกเบตเบซเบเบฑเบ‡เบญเบตเบเปเบ”เปˆเบ—เบตเปˆเบเบดเปˆเบ‡เปƒเบซเบเปˆเบเปˆเบฝเบงเบเบฑเบšเบšเบปเบ”เบšเบฒเบ”? เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบกเบตเบฅเบฒเบเบเบฒเบ™เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡. เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเปเบ›, เบ—เบฑเบ‡เบ„เบปเบ‡เบ—เบตเปˆ (i. e. เบ„เบดเบ”เป„เบฅเปˆเบชเปเบฒเบฅเบฑเบšเบšเบปเบ”เบšเบฒเบ”) เปเบฅเบฐเปเบšเบšเป€เบ„เบทเปˆเบญเบ™เป„เบซเบง (เบกเบตเบฎเบนเบšเปเบšเบšเบซเบผเบทเบฎเบนเบšเปเบšเบšเบ•เป‰เบฒเบ™ -. include_vars เบžเป‰เบญเบกเบ”เป‰เบงเบ {{ ansible_distribution }}-{{ ansible_distribution_major_version }}.yml.). เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบชเปเบฒเบฅเบฑเบš files/, templates/. เบ™เบญเบเบˆเบฒเบเบ™เบตเป‰, เบกเบฑเบ™เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบกเบตเป‚เบกเบ”เบนเบ™เปเบฅเบฐ plugins เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป€เบญเบ‡ (library/). เปเบ•เปˆ, เปƒเบ™เบเบฒเบ™เบชเบปเบกเบ—เบฝเบšเบเบฑเบšเบงเบฝเบเบ‡เบฒเบ™เปƒเบ™เบ›เบทเป‰เบกเบซเบผเบดเป‰เบ™ (เป€เบŠเบดเปˆเบ‡เบชเบฒเบกเบฒเบ”เบกเบตเบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰), เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบžเบฝเบ‡เปเบ•เปˆเบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰เปเบกเปˆเบ™เบงเปˆเบฒเป„เบŸเบฅเปŒเบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ–เบดเป‰เบกเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบซเบ™เบถเปˆเบ‡ pile, เปเบ•เปˆเบซเบผเบฒเบ piles เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ.

เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบญเบตเบเบญเบฑเบ™เปœเบถเปˆเบ‡: เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบžเบฐเบเบฒเบเบฒเบกเบชเป‰เบฒเบ‡เบšเบปเบ”เบšเบฒเบ”เบ—เบตเปˆเบกเบตเปƒเบซเป‰เบ™เบณเปƒเบŠเป‰เบ„เบทเบ™เปƒเปเปˆ (เบœเปˆเบฒเบ™ galaxy). เบเบฑเบšเบเบฒเบ™เบกเบฒเป€เบ–เบดเบ‡เบ‚เบญเบ‡เบเบฒเบ™เป€เบเบฑเบšเบเปเบฒ, เบเบฒเบ™เปเบˆเบเบขเบฒเบเบšเบปเบ”เบšเบฒเบ”เบชเบฒเบกเบฒเบ”เบ–เบทเบเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเป€เบเบทเบญเบšเบฅเบทเบก.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ”เบกเบตเบชเบญเบ‡เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™: เบžเบงเบเป€เบ‚เบปเบฒเบกเบตเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ (เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบญเบเบฐเบฅเบฑเบ) เปเบฅเบฐเบžเบงเบเป€เบ‚เบปเบฒเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเป‰เบฒเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบฅเบฐเบซเบฑเบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™.

เบเบฑเบšเบ„เบทเบ™เป„เบ›เบซเบฒเบ„เปเบฒเบ–เบฒเบกเบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบš: เป€เบงเบฅเบฒเปƒเบ”เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเปเบฅเบฐเป€เบงเบฅเบฒเบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ”? เบงเบฝเบเบ‡เบฒเบ™เปƒเบ™เบ›เบถเป‰เบกเบซเบผเบดเป‰เบ™เบกเบฑเบเบˆเบฐเบ–เบทเบเปƒเบŠเป‰เป€เบ›เบฑเบ™ โ€œเบเบฒเบงโ€ เบเปˆเบญเบ™/เบซเบผเบฑเบ‡เบšเบปเบ”เบšเบฒเบ”, เบซเบผเบทเป€เบ›เบฑเบ™เบญเบปเบ‡เบ›เบฐเบเบญเบšเบเปเปˆเบชเป‰เบฒเบ‡เป€เบญเบเบฐเบฅเบฒเบ” (เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบšเปเปˆเบ„เบงเบ™เบกเบตเบšเบปเบ”เบšเบฒเบ”เปƒเบ™เบฅเบฐเบซเบฑเบ”). เบงเบฝเบโ€‹เบ‡เบฒเบ™โ€‹เบ›เบปเบโ€‹เบเบฐโ€‹เบ•เบดโ€‹เบ›เบฐโ€‹เบชเบปเบกโ€‹เบเบฑเบšโ€‹เบžเบฒโ€‹เบฅเบฐโ€‹เบšเบปเบ”โ€‹เบšเบฒเบ”โ€‹เปเบกเปˆเบ™โ€‹เบ„เบงเบฒเบกโ€‹เบซเบเบฒเบšโ€‹เบ„เบฒเบโ€‹เบ—เบตเปˆโ€‹เบšเปเปˆโ€‹เปเบ™เปˆโ€‹เบ™เบญเบ™. เบ—เปˆเบฒเบ™เบ„เบงเบ™เบเบถเบ”เบซเบกเบฑเป‰เบ™เบเบฑเบšเปเบšเบšเบชเบฐเป€เบžเบฒเบฐ - เบšเปเปˆเบงเปˆเบฒเบˆเบฐเป€เบ›เบฑเบ™เบงเบฝเบเบ‡เบฒเบ™เบซเบผเบทเบšเบปเบ”เบšเบฒเบ”. เบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ”เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบ‚เบญเบ‡เบซเบ™เปˆเบงเบเบ‡เบฒเบ™เปเบฅเบฐเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบงเบฝเบเบ‡เบฒเบ™เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เบฅเบฐเบซเบฑเบ”เป„เบ”เป‰เป„เบงเบ‚เบถเป‰เบ™. เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบง, เบฅเบฐเบซเบฑเบ” "stationary" (เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปเบฅเบฐเบชเบฐเบฅเบฑเบšเบชเบฑเบšเบŠเป‰เบญเบ™) เบซเบผเบฒเบเปเบกเปˆเบ™เปƒเบชเปˆเปƒเบ™เบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ”, เปเบฅเบฐ scripts auxiliary เปเบกเปˆเบ™เบฅเบฒเบเบฅเบฑเบเบญเบฑเบเบชเบญเบ™เปƒเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบงเบฝเบเบ‡เบฒเบ™.

เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ” import_role เป€เบ›เบฑเบ™เบงเบฝเบเบ‡เบฒเบ™, เปเบ•เปˆเบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ‚เบฝเบ™เบ™เบตเป‰, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบเบฝเบกเบžเป‰เบญเบกเบ—เบตเปˆเบˆเบฐเบญเบฐเบ—เบดเบšเบฒเบเป€เบ–เบดเบ‡เบ„เบงเบฒเบกเบฎเบนเป‰เบชเบถเบเบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡เบเปˆเบฝเบงเบเบฑเบšเบ„เบงเบฒเบกเบ‡เบฒเบกเบงเปˆเบฒเป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰.

เบœเบนเป‰เบญเปˆเบฒเบ™เบ—เบตเปˆเบชเบฐเบซเบฅเบฒเบ”เบญเบฒเบ”เบˆเบฐเป€เบงเบปเป‰เบฒเบงเปˆเบฒเบšเบปเบ”เบšเบฒเบ”เบชเบฒเบกเบฒเบ”เบ™เปเบฒเป€เบ‚เบปเป‰เบฒเบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ”, เบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ”เบชเบฒเบกเบฒเบ”เบกเบตเบ„เบงเบฒเบกเป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบชเบœเปˆเบฒเบ™ galaxy.yml, เปเบฅเบฐเบเบฑเบ‡เบกเบตเบ„เบงเบฒเบกเบ‚เบตเป‰เบฎเป‰เบฒเบเปเบฅเบฐเบ‚เบตเป‰เบฎเป‰เบฒเบ. include_role โ€” เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เป€เบ•เบทเบญเบ™โ€‹เบ—เปˆเบฒเบ™โ€‹เบงเปˆเบฒโ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบเปเบฒโ€‹เบฅเบฑเบ‡โ€‹เบ›เบฑเบšโ€‹เบ›เบธเบ‡โ€‹เบ„เบงเบฒเบกโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เปƒเบ™ Ansible เบžเบทเป‰เบ™โ€‹เบ–เบฒเบ™โ€‹, เปเบฅเบฐโ€‹เบšเปเปˆโ€‹เปเบกเปˆเบ™โ€‹เปƒเบ™ gymnastics เบฎเบนเบšโ€‹.

เบœเบนเป‰โ€‹เบˆเบฑเบ”โ€‹เบเบฒเบ™โ€‹เปเบฅเบฐโ€‹เบงเบฝเบโ€‹เบ‡เบฒเบ™โ€‹

เปƒเบซเป‰เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบญเบตเบเบขเปˆเบฒเบ‡เบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบˆเบฐเปเบˆเป‰เบ‡: handlers. เบเบฒเบ™เบฎเบนเป‰เบงเบดเบ—เบตเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบžเบงเบเบกเบฑเบ™เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡เปเบกเปˆเบ™เป€เบเบทเบญเบšเป€เบ›เบฑเบ™เบชเบดเบ™เบฅเบฐเบ›เบฐ. เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบฅเบฐเบซเบงเปˆเบฒเบ‡เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™ เปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เบฅเบฒเบเปเบกเปˆเบ™เบซเบเบฑเบ‡?

เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบžเบงเบเป€เบฎเบปเบฒเบˆเบทเปˆเบˆเปเบฒเบžเบทเป‰เบ™เบ–เบฒเบ™, เบ™เบตเป‰เปเบกเปˆเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡:

- hosts: group1
  tasks:
    - foo:
      notify: handler1
  handlers:
     - name: handler1
       bar:

เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบšเบปเบ”เบšเบฒเบ”เปเบกเปˆเบ™เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™ rolename/handlers/main.yaml. Handlers rummage เบฅเบฐโ€‹เบซเบงเปˆเบฒเบ‡โ€‹เบœเบนเป‰โ€‹เป€เบ‚เบปเป‰เบฒโ€‹เบฎเปˆเบงเบกโ€‹เบเบฒเบ™โ€‹เบซเบผเบดเป‰เบ™โ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹: pre/post_tasks เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบ”เบถเบ‡โ€‹เบ•เบปเบงโ€‹เบˆเบฑเบ”โ€‹เบเบฒเบ™โ€‹เบžเบฒโ€‹เบฅเบฐโ€‹เบšเบปเบ”โ€‹เบšเบฒเบ”โ€‹, เปเบฅเบฐโ€‹เบšเบปเบ”โ€‹เบšเบฒเบ”โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบ”เบถเบ‡ handlers เบˆเบฒเบโ€‹เบเบฒเบ™โ€‹เบซเบผเบดเป‰เบ™โ€‹. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก, เบเบฒเบ™เป‚เบ—เบซเบฒ "เบ‚เป‰เบฒเบกเบšเบปเบ”เบšเบฒเบ”" เบเบฑเบšเบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ” wtf เบซเบผเบฒเบเบเปˆเบงเบฒเบเบฒเบ™เป€เบฎเบฑเบ”เบŠเป‰เปเบฒเบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เป€เบฅเบฑเบเบ™เป‰เบญเบ. (เบญเบปเบ‡เบ›เบฐเบเบญเบšเบญเบทเปˆเบ™เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เปเบกเปˆเบ™เบเบฒเบ™เบžเบฐเบเบฒเบเบฒเบกเบšเปเปˆเบŠเป‰เปเบฒเบŠเบทเปˆ handler).

เบ„เบงเบฒเบกโ€‹เปเบ•เบโ€‹เบ•เปˆเบฒเบ‡โ€‹เบ—เบตเปˆโ€‹เบชเปเบฒโ€‹เบ„เบฑเบ™โ€‹เปเบกเปˆเบ™โ€‹เบงเปˆเบฒโ€‹เบงเบฝเบโ€‹เบ‡เบฒเบ™โ€‹เปเบกเปˆเบ™โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบชเบฐโ€‹เป€เบซเบกเบต (เบขเปˆเบฒเบ‡โ€‹เบกเบตโ€‹เบญเปเบฒโ€‹เบ™เบฒเบ”โ€‹) (เบšเบงเบ / เบฅเบปเบš tags เปเบฅเบฐโ€‹. when), เปเบฅเบฐ handler - เป‚เบ”เบเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ‚เบญเบ‡เบฅเบฑเบ” (เปเบˆเป‰เบ‡เบเบฒเบ™เป„เบŸเป„เบซเบกเป‰เบžเบฝเบ‡เปเบ•เปˆเบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบกเบฑเบ™เบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡). เบ™เบตเป‰เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเปเบ™เบงเปƒเบ”? เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเป€เบกเบทเปˆเบญเบ—เปˆเบฒเบ™ restart, เบ–เป‰เบฒเบšเปเปˆเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบˆเบฐเบšเปเปˆเบกเบตเบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™. เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบกเบฑเบ™เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบšเปเปˆเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™เบซเบ™เป‰เบฒเบงเบฝเบเบ—เบตเปˆเบชเป‰เบฒเบ‡? เบ•เบปเบงเบขเปˆเบฒเบ‡, เบเป‰เบญเบ™เบงเปˆเบฒเบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เปเบ•เบเบซเบฑเบเปเบฅเบฐเบ›เปˆเบฝเบ™เปเบ›เบ‡, เปเบ•เปˆเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบšเปเปˆเป„เบ”เป‰เป€เบ‚เบปเป‰เบฒเบซเบฒเบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™. เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบžเบฒเบฐเบงเปˆเบฒเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ–เบทเบเบขเบธเบ”เบŠเบปเปˆเบงเบ„เบฒเบง. เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป„เบ”เป‰เบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡, เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบเบฑเบ‡เบšเปเปˆเป„เบ”เป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเบซเบกเปˆ. เปƒเบ™เบ„เบฑเป‰เบ‡เบ•เปเปˆเป„เบ›เบ—เบตเปˆเบ—เปˆเบฒเบ™เป€เบฅเบตเปˆเบกเบกเบฑเบ™, config เบšเปเปˆเบ›เปˆเบฝเบ™เปเบ›เบ‡เบญเบตเบเบ•เปเปˆเป„เบ›, เปเบฅเบฐเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบเบฑเบ‡เบ„เบปเบ‡เบขเบนเปˆเบเบฑเบš config เบฎเบธเปˆเบ™เป€เบเบปเปˆเบฒ.

เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบตเปˆเบกเบต config เบšเปเปˆเบชเบฒเบกเบฒเบ”เปเบเป‰เป„เบ‚เป„เบ”เป‰ (เบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™เบเบงเปˆเบฒเบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เป‚เบ›เป‚เบ•เบ„เบญเบ™ restart เบžเบดเป€เบชเบ”เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบ—เปˆเบฒเบ™เป€เบญเบ‡เบ”เป‰เบงเบเบ—เบธเบ‡เป„เบŸเบฅเปŒ, เปเบฅเบฐเบญเบทเปˆเบ™เป†, เปเบ•เปˆเบ™เบตเป‰เบšเปเปˆเปเบกเปˆเบ™ 'เบžเบทเป‰เบ™เบ–เบฒเบ™ ansible' เปƒเบ™เบฎเบนเบšเปเบšเบšเปƒเบ”เบเปเปˆเบ•เบฒเบก). เปเบ•เปˆเบกเบตเป€เบฅเบทเปˆเบญเบ‡เบ—เบปเปˆเบงเป„เบ›เบญเบตเบเบขเปˆเบฒเบ‡เบซเบ™เบถเปˆเบ‡: เบžเบงเบเป€เบฎเบปเบฒเบ•เบดเบ”เบ•เบฑเป‰เบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™, เบšเบฑเบ™เบ—เบถเบเบกเบฑเบ™ .service-file, เปเบฅเบฐเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบกเบฑเบ™ daemon_reload ะธ state=started. เปเบฅเบฐเบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบ—เปเบฒเบกเบฐเบŠเบฒเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เบตเป‰เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเป€เบ›เบฑเบ™เบœเบนเป‰เบˆเบฑเบ”เบเบฒเบ™. เปเบ•เปˆเบ–เป‰เบฒเบ—เปˆเบฒเบ™เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบšเปเปˆเปเบกเปˆเบ™เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เปเบ•เปˆเป€เบ›เบฑเบ™เบงเบฝเบเบ‡เบฒเบ™เปƒเบ™เบ•เบญเบ™เบ—เป‰เบฒเบเบ‚เบญเบ‡เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบงเบฝเบเบซเบผเบทเบšเบปเบ”เบšเบฒเบ”, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบกเบฑเบ™เบˆเบฐเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบขเปˆเบฒเบ‡เบšเปเปˆเบขเบธเบ”เบขเบฑเป‰เบ‡เบ—เบธเบเบ„เบฑเป‰เบ‡. เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒ playbook broke เบขเบนเปˆเป€เบ„เบดเปˆเบ‡เบเบฒเบ‡. เบ™เบตเป‰เบšเปเปˆเป„เบ”เป‰เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเบซเบกเปˆเบ—เบฑเบ‡เบซเบกเบปเบ” (เบ—เปˆเบฒเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ„เบธเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเบซเบกเปˆ, เป€เบžเบฒเบฐเบงเปˆเบฒ idempotency เบชเบนเบ™เป€เบชเบ), เปเบ•เปˆเปเบ™เปˆเบ™เบญเบ™เบกเบฑเบ™เบ„เบธเป‰เบกเบ„เปˆเบฒเบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ” state=started, เบ„เบงเบฒเบกเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡เป‚เบ”เบเบฅเบงเบกเบ‚เบญเบ‡ playbooks เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™, เป€เบžเบฒเบฐเบงเปˆเบฒ. เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเปเบฅเบฐเบฅเบฑเบ”เป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเบซเบผเบธเบ”เบฅเบปเบ‡.

เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เปƒเบ™เบ—เบฒเบ‡เบšเบงเบเบญเบตเบเบญเบฑเบ™เปœเบถเปˆเบ‡เบ‚เบญเบ‡เบ•เบปเบงเบˆเบฑเบšเปเบกเปˆเบ™เบงเปˆเบฒเบกเบฑเบ™เบšเปเปˆเบญเบธเบ”เบ•เบฑเบ™เบœเบปเบ™เบœเบฐเบฅเบดเบ”. เบšเปเปˆเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡ - เบšเปเปˆเบกเบตเบเบฒเบ™เบ‚เป‰เบฒเบกเป€เบžเบตเปˆเบกเป€เบ•เบตเบก เบซเบผเบทเบ•เบปเบเบฅเบปเบ‡เปƒเบ™เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš - เบญเปˆเบฒเบ™เบ‡เปˆเบฒเบเบเบงเปˆเบฒ. เบกเบฑเบ™เบเบฑเบ‡เป€เบ›เบฑเบ™เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ—เบฒเบ‡เบฅเบปเบš - เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบžเบปเบš typo เปƒเบ™เบงเบฝเบเบ‡เบฒเบ™เบ—เบตเปˆเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบ›เบฑเบ™เป€เบชเบฑเป‰เบ™เบขเบนเปˆเปƒเบ™เป„เบฅเบเบฐเบ—เปเบฒเบญเบดเบ”, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบˆเบฐเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบžเบฝเบ‡เปเบ•เปˆเป€เบกเบทเปˆเบญเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡, i.e. เบžเบฒเบเปƒเบ•เป‰เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบšเบฒเบ‡เบขเปˆเบฒเบ‡ - เบšเปเปˆเบ„เปˆเบญเบเบซเบผเบฒเบ. เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบ›เบฑเบ™เบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”เปƒเบ™เบŠเบตเบงเบดเบ”เบ‚เบญเบ‡เบ‚เป‰เบญเบเบซเป‰เบฒเบ›เบตเบ•เปเปˆเบกเบฒ. เปเบฅเบฐ, เปเบ™เปˆเบ™เบญเบ™, เบˆเบฐเบกเบตเบเบฒเบ™เบžเบดเบกเบœเบดเบ”เปƒเบ™เบŠเบทเปˆเปเบฅเบฐเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบˆเบฐเปเบ•เบ. เปเบฅเบฐโ€‹เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹เบ—เปˆเบฒเบ™โ€‹เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เบ”เปเบฒโ€‹เป€เบ™เบตเบ™โ€‹เบเบฒเบ™โ€‹เปƒเบซเป‰โ€‹เป€เบ‚เบปเบฒโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบ„เบฑเป‰เบ‡โ€‹เบ—เบตโ€‹เบชเบญเบ‡โ€‹, เบšเปเปˆโ€‹เบกเบตโ€‹เบเบฒเบ™โ€‹เบ›เปˆเบฝเบ™โ€‹เปเบ›เบ‡โ€‹.

เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ, เบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบกเบตเบ•เบปเบงเปเบ›. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ–เป‰เบฒเป€เบˆเบปเป‰เบฒเปเบˆเป‰เบ‡เบงเบฝเบเบ‡เบฒเบ™เบ—เบตเปˆเบกเบต loop, เปเบกเปˆเบ™เบซเบเบฑเบ‡เบขเบนเปˆเปƒเบ™เบ•เบปเบงเปเบ›? เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบ”เบปเบฒเบงเบดเป€เบ„เบฒเบฐเป„เบ”เป‰, เปเบ•เปˆเบกเบฑเบ™เบšเปเปˆเปเบกเปˆเบ™เป€เบฅเบทเปˆเบญเบ‡เป€เบฅเบฑเบเบ™เป‰เบญเบเบชเบฐเป€เปเบตเป„เบ›, เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเบ–เป‰เบฒเบ•เบปเบงเปเบ›เบกเบฒเบˆเบฒเบเบšเปˆเบญเบ™เบ•เปˆเบฒเบ‡เป†.

... เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เปเบกเปˆเบ™เบกเบตเบ›เบฐเป‚เบซเบเบ”เบซเบ™เป‰เบญเบเปเบฅเบฐเบกเบตเบšเบฑเบ™เบซเบฒเบซเบผเบฒเบเบเปˆเบงเบฒเบžเบงเบเป€เบ‚เบปเบฒเป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒ. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ‚เบฝเบ™เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ—เบตเปˆเบชเบงเบเบ‡เบฒเบก (เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™ frills) เป‚เบ”เบเบšเปเปˆเบกเบตเบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™, เบกเบฑเบ™เบ”เบตเบเบงเปˆเบฒเบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เบกเบฑเบ™เป‚เบ”เบเบšเปเปˆเบกเบตเบžเบงเบเบกเบฑเบ™. เบ–เป‰เบฒเบกเบฑเบ™เบšเปเปˆเบ‡เบฒเบก, เบกเบฑเบ™เบ”เบตเบเบงเปˆเบฒเบเบฑเบšเบžเบงเบเบกเบฑเบ™.

เบœเบนเป‰เบญเปˆเบฒเบ™ corrosive เบŠเบตเป‰เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเป„เบ”เป‰เบชเบปเบ™เบ—เบฐเบ™เบฒ listenเบ—เบตเปˆ handler เบชเบฒเบกเบฒเบ”เป‚เบ—เบซเบฒเบเบฒเบ™เปเบˆเป‰เบ‡เป€เบ•เบทเบญเบ™เบชเปเบฒเบฅเบฑเบš handler เบญเบทเปˆเบ™, เบ—เบตเปˆ handler เบชเบฒเบกเบฒเบ”เบ›เบฐเบเบญเบšเบกเบต import_tasks (เป€เบŠเบดเปˆเบ‡เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰ include_role เบเบฑเบš with_items), เบงเปˆเบฒเบฅเบฐเบšเบปเบš handler เปƒเบ™ Ansible เปเบกเปˆเบ™ Turing-complete, เบ—เบตเปˆ handler เบˆเบฒเบ include_role เบ•เบฑเบ”เบเบฑเบ™เปƒเบ™เบงเบดเบ—เบตเบเบฒเบ™ curious เบเบฑเบš handlers เบˆเบฒเบเบเบฒเบ™เบซเบผเบดเป‰เบ™, เปเบฅเบฐเบญเบทเปˆเบ™เป†..เบ‡. - เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบˆเบฐโ€‹เปเบˆเป‰เบ‡โ€‹เบšเปเปˆโ€‹เปเบกเปˆเบ™ "เบžเบทเป‰เบ™โ€‹เบ–เบฒเบ™โ€‹"โ€‹)โ€‹.

เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบกเบต WTF เบชเบฐเป€เบžเบฒเบฐเบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบ•เบปเบงเบˆเบดเบ‡เปเบฅเป‰เบงเปเบกเปˆเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบˆเบทเปˆเป„เบงเป‰. เบ–เป‰เบฒเบงเบฝเบเบ‡เบฒเบ™เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบ”เป‰เบงเบ delegate_to เปเบฅเบฐเบกเบฑเบ™เป„เบ”เป‰เปเบˆเป‰เบ‡เปƒเบซเป‰เบŠเบฒเบš, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™ delegate_to, i.e. เปƒเบ™เป€เบˆเบปเป‰เบฒเบžเบฒเบšเบšเปˆเบญเบ™เบ—เบตเปˆเบเบฒเบ™เบซเบผเบตเป‰เบ™เบ–เบทเบเบกเบญเบšเบซเบกเบฒเบ. (เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™, เปเบ™เปˆเบ™เบญเบ™, เบญเบฒเบ”เบˆเบฐเบกเบต delegate_to เบ”เบฝเบงเบเบฑเบ™).

เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ, เบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบงเบปเป‰เบฒเบชเบญเบ‡เบชเบฒเบกเบ„เปเบฒเบเปˆเบฝเบงเบเบฑเบšเบšเบปเบ”เบšเบฒเบ”เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ™เปเบฒเบกเบฒเปƒเบŠเป‰เบ„เบทเบ™เป„เบ”เป‰. เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบฅเบงเบšเบฅเบงเบกเบ‚เปเป‰เบกเบนเบ™เบ›เบฒเบเบปเบ”, เบกเบตเบ„เบงเบฒเบกเบ„เบดเบ”เบ—เบตเปˆเบงเปˆเบฒเป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบšเบปเบ”เบšเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เบ—เบตเปˆเบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™ ansible-galaxy install เปเบฅเบฐเป„เบ›. เป€เบฎเบฑเบ”โ€‹เบงเบฝเบโ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบš OS เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เบ‚เบญเบ‡โ€‹เบ•เบปเบงโ€‹เปเบ›โ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เปƒเบ™โ€‹เบ—เบธเบโ€‹เบชเบฐโ€‹เบ–เบฒโ€‹เบ™เบฐโ€‹เบเบฒเบ™โ€‹. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบ: เบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบœเบปเบ™. เบšเบปเบ”เบšเบฒเบ”เบ—เบตเปˆเบกเบตเบกเบฐเบซเบฒเบŠเบปเบ™ include_vars, เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ 100500 เบเปเบฅเบฐเบ™เบต, เปเบกเปˆเบ™ doomed เบเบฑเบš abyss เบ‚เบญเบ‡เปเบกเบ‡เป„เบกเป‰เบเปเบฅเบฐเบ™เบตเปเบˆ. เบžเบงเบเป€เบ‚เบปเบฒเบชเบฒเบกเบฒเบ”เบ–เบทเบเบชเบฝเบšเบ”เป‰เบงเบเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆ, เปเบ•เปˆเป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเปƒเบ”เบเปเปˆเบ•เบฒเบก, เบ—เปˆเบฒเบ™เบกเบตเบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™ Cartesian เบ‚เบญเบ‡เบกเบนเบ™เบ„เปˆเบฒเบเบฒเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™เปเบฅเบฐเบซเบ™เป‰เบฒเบ—เบตเปˆเบ—เบฑเบ‡เบซเบกเบปเบ”, เบซเบผเบทเบ—เปˆเบฒเบ™เบกเบต "เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™เบ—เบตเปˆเบเบงเบกเป€เบญเบปเบฒ." เบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบเปเบกเปˆเบ™เบงเปˆเบฒเบกเบฑเบ™เบˆเบฐเบ”เบตเบเบงเปˆเบฒเบซเบผเบฒเบเบ–เป‰เบฒเบšเบปเบ”เบšเบฒเบ”เป€เบ›เบฑเบ™เป€เบชเบฑเป‰เบ™ (เบ„เบงเบฒเบกเบชเบฑเบšเบชเบปเบ™เบ‚เบญเบ‡เบงเบปเบ‡เบˆเบญเบ™ 1).

ifs เบซเบ™เป‰เบญเบ (เบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡เบซเบผเบทเบ›เบฐเบเบฒเบ” - เปƒเบ™เบฎเบนเบšเปเบšเบš when เบซเบผเบทเปเบšเบšเบŸเบญเบก include_vars เป‚เบ”เบเบŠเบธเบ”เบ‚เบญเบ‡เบ•เบปเบงเปเบ›), เบšเบปเบ”เบšเบฒเบ”เบ—เบตเปˆเบ”เบตเบเบงเปˆเบฒ. เบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เป€เบฎเบฑเบ”เบชเบฒเบ‚เบฒ, เปเบ•เปˆ, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป€เบฎเบฑเบ”เบŠเป‰เปเบฒเบญเบตเบ, เบซเบ™เป‰เบญเบเบกเบต, เบ”เบตเบเบงเปˆเบฒ. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเป€เบ›เบฑเบ™เบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ”เบ—เบตเปˆเบ”เบตเบเบฑเบš galaxy (เบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบ!) เบเบฑเบšเบŠเปเปˆเบ‚เบญเบ‡ when เบญเบฒเบ”เบˆเบฐเบ”เบตเบเบงเปˆเบฒเบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ” "เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡" เบˆเบฒเบเบซเป‰เบฒเบงเบฝเบเบ‡เบฒเบ™. เป€เบงเบฅเบฒเบ—เบตเปˆเบšเบปเบ”เบšเบฒเบ”เบเบฑเบš galaxy เปเบกเปˆเบ™เบ”เบตเบเบงเปˆเบฒเปเบกเปˆเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ—เปˆเบฒเบ™เป€เบฅเบตเปˆเบกเบ‚เบฝเบ™เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡. เป€เบงเบฅเบฒเบ—เบตเปˆเบกเบฑเบ™เบฎเป‰เบฒเบเปเบฎเบ‡เบ‚เบถเป‰เบ™เปเบกเปˆเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เปเบ•เบเบซเบฑเบเปเบฅเบฐเป€เบˆเบปเป‰เบฒเบกเบตเบ„เบงเบฒเบกเบชเบปเบ‡เปƒเบชเบงเปˆเบฒเบกเบฑเบ™เป€เบ›เบฑเบ™เบเป‰เบญเบ™ "เบšเบปเบ”เบšเบฒเบ”เบเบฑเบš galaxy". เบ—เปˆเบฒเบ™เป€เบ›เบตเบ”เบกเบฑเบ™, เปเบฅเบฐเบกเบตเบซเป‰เบฒเบฅเบงเบก, เปเบ›เบ”เปเบœเปˆเบ™เบงเบฝเบเปเบฅเบฐ stack เป€เบ›เบฑเบ™ when'ov... เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบ„เบดเบ”เบญเบญเบเบ™เบตเป‰. เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™ 5 เบงเบฝเบเบ‡เบฒเบ™, เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเป€เบชเบฑเป‰เบ™เบ—เบตเปˆเบšเปเปˆเบกเบตเบซเบเบฑเบ‡เบ—เบตเปˆเบˆเบฐเบ—เปเบฒเบฅเบฒเบ.

เปƒเบ™เบžเบฒเบเบชเปˆเบงเบ™เบ•เปเปˆเป„เบ›เบ™เบตเป‰

  • เป€เบฅเบฑเบเบ™เป‰เบญเบเบเปˆเบฝเบงเบเบฑเบšเบชเบดเบ™เบ„เป‰เบฒเบ„เบปเบ‡เบ„เบฑเบ‡, เบ•เบปเบงเปเบ›เบเบธเปˆเบก, host_group_vars plugin, hostvars. เบงเบดเบ—เบตเบเบฒเบ™เบœเบนเบเบกเบฑเบ” Gordian เบเบฑเบš spaghetti. เบ‚เบญเบšเป€เบ‚เบ” เปเบฅเบฐเบ•เบปเบงเปเบ›เบเปˆเบญเบ™เปœเป‰เบฒ, เปเบšเบšเบˆเบณเบฅเบญเบ‡เบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเบณ Ansible. "เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบŠเบทเปˆเบœเบนเป‰เปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบขเบนเปˆเปƒเบช?"
  • jinja: {{ jinja }} โ€” nosql notype nosense plasticine เบญเปˆเบญเบ™. เบกเบฑเบ™เบขเบนเปˆเบ—เบปเปˆเบงเบ—เบธเบเปเบซเปˆเบ‡, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบšเปˆเบญเบ™เบ—เบตเปˆเบ—เปˆเบฒเบ™เบšเปเปˆเบ„เบฒเบ”เบ„เบดเบ”. เป€เบฅเบฑเบเบ™เป‰เบญเบเบเปˆเบฝเบงเบเบฑเบš !!unsafe เปเบฅเบฐ yaml delicious.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เบŠเบทเป‰เป‚เบฎเบ”เบ•เบดเป‰เบ‡เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเป€เบงเบฑเบšเป„เบŠเบ—เปŒเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡ DDoS, เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ VPS VDS ๐Ÿ”ฅ เบŠเบทเป‰เป€เบงเบฑเบšเป„เบŠเบ—เปŒเป‚เบฎเบ”เบ•เบดเป‰เบ‡เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบ”เป‰เบงเบเบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™ DDoS, เป€เบŠเบตเบšเป€เบงเบต VPS VDS | ProHoster