××֞ס ××× ×עך ×ך×Ö·× ×¡×§×š××€ÖŒ×
ס××ַך××× × ×€×× ×× ×š××¢ ××עך××¢××, ק××× ×§×Öž× ×××¢×š× ××¢××Ö·×, ××××Ö·× ×¢×š×©× ×××עעס ×Öž× ××××× ×Š× ××××עך××ש ×€×× ××Ö·×š× ×€×ַק×. ××ס ××× × ××©× ××× ××× × ××©× ×©××¢××, ס'××× × ××¢××¢××¢× ×¢ ×××ס ××× ×©××עך ×Š× ××¢× ×'× ××× ××× ××¢× ××ךף ××¢×× ××× ×××. ×××× ×€×× ××¢× ×€ÖŒ×š×֞׊עס ××× ×š××€×ַק×עך×× ×. ךע׀×ַק××ך×× × ×× ×€×š×ַס×ך×ַק×שעך ××× ×§×Öž×. ××× ×× ×עש××××¢ ×Öž× ××××× ××××£ ××× ×Š× ×š×¢×€×ַק××֞ך ×Ö·× ×¡××××¢ ××× ×Ö· ××֞ך ××× × ××©× ×××¢×š× ×ש×××¢.
×× ××¢×××š× ×€×× ××¢××Ö·×
××Öž× # 1: ×€ÖŒ×ַ׊××¢× × × ××
×××× ××× ××¢×××¢× × ××××× ××× × ×€×š××עק×. עס ××× ×Ö· ××¢×× ×Ö·× ××××ק××× × ××Ö·× ×©×Ö·×€Ö¿× ××× ×֞׀֌ס ×¢× ××ש×Ö·× ×ך×. ××× ××Öž×× ×¡×Ö·×××× ×× ××¢×××¢ ׀֌ך×Öž×××¢×: ××× ×Š× ×Š×¢×××ק××¢× ×¡×¢×š××עךס ××× ××××€× ×Ö· ×Ö·×€ÖŒ××ַק××ש×Ö·×. ×עך ׀֌ך×Öž×××¢× ××× ××¢×××¢× ×Ö·× ××¢×עך ××Ö·× ×©×Ö·×€Ö¿× ×¡×Ö·×××× ××¢× ×€ÖŒ×š×Öž×××¢× ××× ×××Ö·× ××××× ×××¢×. ××× ×× ×€ÖŒ×š××עק×, עס ××× ××ַש××Öž×¡× ×Š× × ××Š× Ansible ×Š× ×¡×× ×קך×Ö·× ××× ××××¡× ×Š××××©× ×× ××¢×× ××× ×֞׀֌ס ××××.
××Öž× #89: ×עך ××¢×××š× ×€×× ××¢××Ö·×
×× ×¢×¡ ××××× ×××עךק×, ×××× ××× ××ס ××¢××××× ××× ××× ×עס××¢ ××× ××¢××××, ××עך עס ××× ××× ×ך××ס×עש××¢×× ××× ×ך×ש×. ××× ×Ö·××× ××× ××֞ס ×€ÖŒ×ַס×ך×?
- ××ך ××Öž×× ××Öž ×Ö· ×ך×× ×××¢× ×ַך××¢×, ××Öž×× ××× ×× ××Öž× ×Ö· ש××׊×ק ××ַק ××× ××¢××Öž×× ×€×ַךך×××× ×¢×¡.
- ××ך ××Öž× × ×× ××Öž×× ×Š× ×©×š××Ö·×× ××ַק××××¢× ×××ש×Ö·× ××× ×Ö·××¥ ××× ×§××֞ך ×××֞ס ××× ××¢×©×¢×¢× ×ש ××Öž.
- ××× ××××¡× Ansible / Python / Bash / Terraform! ק×ק ××× ××× ×§×¢× ×¢× ××ס×××××!
- ××× ××× ×Ö· ××Ö·× ×¥ ס××ַק ×Öž××עך׀××Öž×× ××¢×××¢××֞׀֌עך ××× ×§×Ö·×€ÖŒ×× ××¢× ×€Ö¿×× ×¡××ַקק×Öž××עך׀××Öž××, ××× ××Öž× × ×× ××××¡× ××× ×¢×¡ ×ַך××¢×, ×Öž×עך עס ק××§× ×§×× ××× ×¡×Ö·×××× ×× ×€ÖŒ×š×Öž×××¢×.
××× ×Ö· ךע×××××Ö·×, ××ך ×§×¢× ×¢× ××ַק×××¢× ×Ö· ×× ×ק×Ö·×׀֌ך×Ö·××¢× ×¡×××Ö·× ×××€ÖŒ ×€×× ×§×Öž× ×€Ö¿×ַך ×××֞ס עס ××× ×§××× ××ַק××××¢× ×××ש×Ö·×, עס ××× × ××©× ×§××֞ך ×××֞ס עס ×××, ×Š× ×¢×¡ ××× ××ךף, ×Öž×עך ×× ×€ÖŒ×š×Öž×××¢× ××× ×Ö·× ××ך ××Ö·×š×€Ö¿× ×Š× ×Ö·× ××××ק××¢× ×¢×¡, ××Öž×××€×׊××š× ×¢×¡, ××××× ×§×š×Ö·×ש×× ××× ×©××׊×. , ×××× ×× ××Š× × ×× ×¢×š×עך.
- hosts: localhost
tasks:
- shell: echo -n Z >> a.txt && cat a.txt
register: output
delay: 1
retries: 5
until: not output.stdout.find("ZZZ")
××Öž× #109: ×××ס×ק××Ö·× ×€×× ××¢× ×€ÖŒ×š×Öž×××¢×
×× ××××עס ק×Ö·× ×¡×××× ××× ×××€ÖŒ××Ö·××¢× ×Ö·× ××ַק ××Öž××¢× × ×× ×עך ××š×¢×€× ×× ××××¢×š×€×¢× ××©× ×€×× × ×׊עךס / ××¢×©×¢×€× / ×× ×עךע ××××, ××× ×× ×Š××× ×Š× ××Ö·×× ×¢× ×עך×× ××¢× ×Š× ×× ×× ×€×š×ַס×ך×ַק×שעך ס×ס×× ×Š× ×××× ×€ÖŒ×ַס×ק. ××× ××¢× ××Öž××¢× ×, ×× ×€×ךש××× × ×§××× ×Ö·× ×¢×¡ ××× ×Š××Ö·× ×Š× × ×¢××¢× ×§×Ö·××£.
IaC ךע׀×ַק××ך×× ×
××Öž× #139: ×Š× ××ך ××ַקע ××Ö·×š×€Ö¿× ×š×¢×€×ַק××֞ך×× ×?
××××עך ××ך ק×Ö·××ש ×Š× ×š×¢×€×ַק××֞ך, ××ך ×××× ×¢× ××€Ö¿×¢×š× ×Ö· × ××עך ×€×× ××××××ק ׀ֿך×××:
- ×€×ך×××ס ××Öž× ××ך ××Ö·×š×€Ö¿× ×Ö·××¢ ××¢×?
- ×Š× ××ך ××Öž×× ×Š××Ö·×?
- ××× ××××¡× ××¢× ××?
×××× ××ך ××Öž× × ×× ××××¡× ××× ×Š× ×¢× ××€Ö¿×¢×š× ×× ×€Ö¿×š×××, ×× ×š×¢×€×ַק××֞ך×× × ×××¢× ×¡××£ ××××עך עס ××××× ×××, ×Öž×עך עס ×§×¢× × ×֞ך ×××¢×š× ×¢×š×עך. ××××Ö·× ××× ×עך׀×ַך×× × (
××Öž× #149: ׀֌ך×׀֌עך×× × ×× ×š×¢×€×ַק××֞ך×× ×
×עך עךש×עך ××Ö·× ××× ×Š× ×Š××ך××××. ××ַש×××¡× ×××֞ס ××ך ×××¢×× ××Öž×. ×Š× ××Öž× ××֞ס, ××ך ××עך××¢××, ××¢×€Ö¿×× ×¢× ×€ÖŒ×š×Öž×××¢× ××¢×××× ××× ××¢×€Ö¿×× ×¢× ×××¢×× ×Š× ×¡×Öž××××¢ ×××. ××ך ךעק×֞ך×××š× ×× ×š×××Ö·×××× × ×§×Ö·× ×¡×¢×€ÖŒ×¡ ע׀עס, ×€Ö¿×ַך ×××ַש׀֌×× ×Ö·× ×ַך×××§× ××× ×§×Ö·× ×€×××Ö·× ×¡, ×Ö·××× ×Ö·× ×××¢× ×× ×§×©×× ×¢×š××××Ö·× "×××֞ס ××× ×עס×עך?" ×Öž×עך "×××֞ס ××× ×š××××ק?" ××ך ××Öž×× × ×× ×€×ַך׀×Ö·×× ××× ××עך ×××¢×. ××× ××× ××עך ×€×Ö·×, ××ך ס××ַק ×Š× ××¢× ××¢××Ö·× ×§ ׊ע××××× ××× ×עךש×: ××ך ׊ע×ךע×× ×× ×× ×€×š×ַס×ך×ַק×שעך ××× ×§×××× ×ךעק××¢× / ×ך×קס. ×עך ׊×××Ö·× × ×Ö·××Ö·×× ××ך ×Š× × ×¢××¢× ×Ö·× ××€××¢××× ××¢×š× ×©××ק ×€×× ×× ×€×š×ַס×ך×ַק×שעך, ×€Ö¿×ַךש×××× ×××֞ס עס ×××, ××¢×§× ×¢×¡ ××× ×עסץ ××× ××××©× ×¢×¡ ×Öž× ×××š× ×Š× ×ךע×× ×¢×€ÖŒ×¢×¡.
עס ×××š× ×¡ ×××ס ×Ö·× ×× ×€×š×ַס×ך×ַק×שעך ×עס××× × ×××¢×š× ×עך ק×Öž×š× ×¢×š×¡××Öž×× ××× ××Öž עס ××× ×××¢×š× ×עך××Öž× ×¢× ×× ×× ×€×š×ַס×ך×ַק×שעך ×עס××× × ×€ÖŒ×ך×Ö·×××. ×€ÖŒ×× ×§× ×עך ××¢×××קעך ××¢××Ö·× ×§ ×××֞ס ××× ××× ×Ö·× ××××ק××× ×, ×Öž×עך ×€Ö¿×ַך ×× ×€×š×ַס×ך×ַק×שעך: ××ך ××Ö·× ×€×× ××××ק ×©× ×¢× ×עסץ ×××֞ס ק×Öž× ×ך×Öž×××š× ×€ÖŒ×©×× ××××, ×Ö·××Ö· ××× ×× ××¢× ×××ש×Ö·×, ×Š× ×××ַעך ×€××-×€××¢×××©× ×עסץ ×××֞ס ׊ע×××ק××¢× ×× ××× ×Š×¢ ×× ×€×š×ַס×ך×ַק×שעך.
×Ö·× ×¡××××¢ ×עס××× × ×€×š××××
××××עך ××ך ×××× ×Š× ××ַשך××Ö·×× ××× ××ך ק×Ö·×××¢×š× Ansible ×עסץ ××××£ ×× ×€ÖŒ×š××עק×, ××× ×××¢× ××ַשך××Ö·×× ×× ×€×š×××× ××× ×ַ׀֌ך×Öž××ש×× ×××֞ס ××× ××¢××× ×× ××¢××¢×× ×××× ×Š× × ××Š× ×€×š×עך ×Š× ×€Ö¿×ַךש×××× ××¢× ×§×Öž× ××¢×§×¡× ×€×× ×× ××ס××ש×Ö·× × ××¢××××.
××Öž× × ×× -997: SDS ×× ××Ö·
×עך עךש×עך ××Öž× ××× ×עס××¢× Ansible ××× ××¢×××¢× ××××£ ×Ö· ׀֌ך×××¢×§× ×Š× ×Ö·× ××××ק××¢× SDS (Software Defined Storage). עס ××× ×Ö· ××Ö·××× ×עך ×ַך×××§× ××××£ ××¢× ××¢××¢
××Öž× # -701: ×Ö·× ×¡××××¢ ××× ×€ÖŒ×š××××š× ×§××
×× ×Ö·× ××××ק××× × ×€×× ×× ×Ö·× ×¡××××¢ ×עס××× × ××¢××Ö·× ×§ ××× ××¢×××¢× ×× × ××Š× ×€×× ×€×ַך××ק ××ש×ך××, × ××××× ×€ÖŒ×š××××š× ×§×× / ק××-×¡× ××× ×× ×¡×€ÖŒ×¢×§. ×× ×ך××š× ××× ××ש×××¡× ×××š× ××××¡× ×€×× ×š××× (×€Ö¿×ַך ×עך ××¢××Ö·××ס, ××¢× ××¢× ×ַך×××§× ××××£ Habré:
××× ×Ö·×××¢××××, ×× ×××××× × ××¢×ך××¢×, ×Öž×עך עס ××× ××¢×××¢× ×¢×××¢××¢ ×Öž×€ÖŒ××Ö·×¥ ךע×× ×Š× ××¢×עך×Öž××¢× ×¢×××. ×××¢× ×× × ××עך ×€×× ××¢× ××©× ×עס××¢× ××× ××¢××××§×¡× ×Š× 13 ×קעך××ק ך×Öž×עס ××× 2 ××¢××Ö· ך×Öž×עס ק×Ö·××××× ×× × ×§××¢× ×¢×š×¢×š ך×Öž×עס, ×€ÖŒ××׊××× × ×× ×עסץ ×× ××¢××××× ×Š× ××××€× ×€Ö¿×ַך 70 ××× ××, ×××֞ס ××× ×ÖŒ××¢× 2 ××× ×עך. עס ××× ××¢×××¢× ×©××עך ×Š× ×š×¢×× ×××¢×× XP (עקס××š×¢× ×€ÖŒ×š×Öž×ך×Ö·×××× ×) ׀֌ך×ַק××ס×× ××××Ö·× ... ק××× ×¢×š ×××× × ××©× ×××ַך×× 70 ××× ××. ××֞ס ××× ××¢×××¢× ×× ×¡××× ×€Ö¿×ַך ×ש×Ö·× ××× × ××¢× ×Š×××Ö·× ×
××Öž× # -601: ×Ö·× ×¡××××¢ ××× ××Ö·××ַק×××
ק×Ö·× ×¡×¢×€ÖŒ×ש××Ö·××, ××֞ס ××× ×¢× ××¢× ×Š× ×עס×ק××שע×, × ×֞ך ××ך ×ך××עך××¢×€××š× ×š×Öž××¢ ×עס××× × ×Š× ××֞קקעך ××× ××¢×××× ××¢× ×Öž× ×××××. ××× ×Ö· ךע×××××Ö·×, ×× ×Š××× ××× ×š××××¡× ×Š× ×Ö· ס××Ö·××× 20-25 ××× ×× ×€Ö¿×ַך 7 ך×Öž×עס.
×××š× ×× ×§×š×ס×× × ×× × ××עך ×€×× ×עס××¢× ×š×Öž×עס ×Š× 17 ××× ××× ××× × 45 ך×Öž×עס, ××ך ××××€× ××¢× ××× 28 ××× ×× ××××£ 2 ×××©×¢× ×§×× ×¡ ס××Ö·××עס.
××Öž× #167: ×Ö·××× × ×Ö·× ×¡××××¢ ×עסץ ×Š× ×× ×€ÖŒ×š××עק×
ך××Ö¿ ×סת֌××, עס ×××¢× × ×× ×××× ××¢×××¢× ×Š× ××Öž× ×× ×š×¢×€×ַק××֞ך×× × ×ַך××¢× ××× ×Ö· ××Ö·××. ×× ×ַך××¢× ×××× ×××× ××¢×שעך×Ö·××Ö·× ×Ö·××× ×Ö·× ××ך ×§×¢× ×¢× ×ךע×× ×¢×¡ ××× ×§×××× ×ךעק××¢× ××× ×¢×¡× ××¢× ××¢××€×Ö·× × ×©××ק ×€Ö¿×ַך ש××ק ××× ×Ö· ××¢×€×¢××¢. עס ×××× ×××× ×Ö· ×€×ךש××× × ×€×× ×Š× ××ך ××Ö·× ××× ×× ×š×¢×× ×š××××× ×, ××× ××Ö·× × ×Š× ××××.
××× ×Ö·×××¢××××, עס ××× × ××©× ×¢× ×× ××× ×¢×¡ ×××¢× ×××× ××¢×××, ××ך ×§×¢× ×¢× ×©×š××Ö·×× ××××£ ×Ö· ש××ק ×€×× ×€ÖŒ×Ö·×€ÖŒ×ך, ××ך ×§×¢× ×¢× ××××× ×¡×××§×¢×š× ××××£ ×× ×©×Ö·×€×¢, ××ך ×§×¢× ×¢× ××Ö·×× ××ַסקס ××× ××ש×ך×Ö·, ×Öž×עך ××ך ×§×¢× ×¢× ×¢×€×¢× ×¢× Google ××֞קס ××× ×©×š××Ö·×× ×× ×§×š×Ö·× × ×¡××Ö·××ס ××֞ך××. ×× ××¢×ס ×××Ö·×§×¡× ×€×× ×× ×€×Ö·×§× ×Ö·× ×עך ׀֌ך×֞׊עס ××× × ××©× ××Ö·×××ק, עס ×××¢× ×××× ××Ö·× × ××× ×××××ַס. עס ××× ×Ö·× ×××ק×× ×Ö·× ××עך עס ×× ×××× ××ך ×Š× ××š×¢× ×¢× ×××ס ×€×× ××¢××× ×§×¢×, ××ַק×××¢× ××× ××× ×××¢×š× ×Öž×××עך××××¢××× ×עש×ַס ך××€×ַק×עך×× ×.
×× ×š×¢×€×ַק××ך×× × ××× ×€ÖŒ×©××:
- עס×.
- ש××Öž×€×.
- ק×Öž×עקס.
- ××ַק ׀֌ך×××ך×.
- ××עך××Ö·×עך×
××× ××ך ×××עך×××š× ××֞ס ××× ××ך ×עך×ך×××× ××¢× ×××¢× ×Š××.
עס ×§×¢× × ××©× ×××× ××¢×××¢× ×Š× ×Öž× ××××× ×עס××× × ×Ö·××¥ ךע×× ×Ö·××עק, ×Ö·××× ××× ××עך עךש×עך ×ַך××¢× ××× ××¢×××¢× ×Š× ×Öž× ××××× ××× ××× ××× × ××× ×§×Öž× ×ך×Öž×××š× ×× ×¡×× ××ַקס.
××Öž× #181: ×ך×× ××××¢× ××ך
××× ××× × ××× ×Ö· ק×××× ×¢×š×©×עך שך×× ×Š× ×ך×× ××××¢× ××ך. ××֞ס ×××¢× × ××©× ×ךע×× ×ÖŒ××¢× ×¢×€ÖŒ×¢×¡, ×Öž×עך עס ×××¢× ××Öž×× ××ך ×Š× ××¢××× ×€ÖŒ×š×ַסעס×Ö·× ××× ××Ö·×× ×ך×× ××××¢× ××× Jenkins. ×עך ××¢××Ö·× ×§ ××× ×Š× ×Ö·× ××××ק××¢× ××¢××××× ××××× ×Š××××©× ×× ××Ö·× ×©×Ö·×€Ö¿×:
- ך××× ×עסץ ××¢× ×¢× ×©××¢××.
- ××× ×עק×××¢× ×¢×€ÖŒ×¢×¡ ×€×ַךך×××× ××× ××× ×עך ××¢×××קעך ׊××Ö·× ××Ö·×× ×× ×§×Öž× ×Ö· ×××¡× ×עסעך ××× ×¢×¡ ××× ××¢×××¢× ××××עך ××ך.
××Öž× #193: ×€Ö¿×× ××× ××× × ×Š× ×Ö·×€ÖŒ×ַך×Ö·× ×עסץ
×××¢× ××ך ××Öž× ××¢×××× ××¢× ×€ÖŒ×š×֞׊עס ×€×× ××ַק×××¢× ×× ×§×Öž× ××× ×× ××¢×, ××ך ×§×¢× ×¢× ×Öž× ××××× ××¢× ×€ÖŒ×š×֞׊עס ×€×× ×©×š××-××ך×-שך×× ×€Ö¿×ַך×עסעך×× × - ך××€ÖŒ×××ס×× × ××× ××× × ××× ××Öž× ×ש×× × ×š×Öž×עס, ××ך ×§×¢× ×¢× ××€××× ××Öž× ××֞ס ×Öž× ×××¢××Öž××¢× ×¡×. ××ך ××Ö·×š×€Ö¿× ×Š× ×€Ö¿×ַךש×××× ××× ×Š× ×Š×××××× ×š×Öž×עס ××× ××× ××× ×ַך××¢××.
××Öž× #211: ×€Ö¿×× ×Ö·×€ÖŒ×ַך×Ö·× ×Š× ×× ××Ö·×ך××ש×Ö·× ×עסץ
×××¢× ×š××Ö¿ ך×Öž×עס ××¢× ×¢× ××××¢×§× ××× ×Ö·×€ÖŒ×ַך×Ö·× ×עסץ ××× ×Ö·××¥ ××× ××× ××¢×, ××ך ×§×¢× ×¢× ×€×֞ך××¢×Š× ×Š× ××××× ×× ××Ö·×ך××ש×Ö·× ×עסץ. ××¢× ×¢. ×עס××× × × ××©× ×Ö· ×××× ×Š××× ××× ×× ×× ×€×š×ַס×ך×ַק×שעך, ×Öž×עך ×Ö· ק×Öž×××× ×ַ׊××¢ ×€×× ââââ×××, ××ש×, ×Ö· ×€×× ×××ַש׀֌×× ×§×Ö·× ×€×××עך××ש×Ö·×.
××× ×××©×¢× ×§×× ×¡, ××ך ×××©×¢× ×¢×š××××Ö·× ×€×××¢ ס××Ö·×עס ×××֞ס ××× ××¢× ×š×Öž×עס / ×€ÖŒ×××Ö·××Öž×֞קס ××× ×€ÖŒ×ַך×Ö·××¢×, ××¢×š× ×Öž× ×Ö·×€ÖŒ×ַך×Ö·× ×עסץ ××× ×§×Ö·× ×××× ×¢×š× ××× ×עס×Öž×£ ×× ××Ö·×ך××ש×Ö·× ×עסץ.
Jenkins + Docker + Ansible = ×עסץ
- ××סשך××Ö·×× ×š×¢×€ÖŒ×Öž ××× ×××©×¢× ×¢×š××× ××××¢× ×¡××Ö·×עס.
- ××××€× ××× × ×€ÖŒ×××Ö·××Öž×֞ק ס××Ö·×עס ××× ×€ÖŒ×ַך×Ö·××¢×.
- ××××€× ××× × ×š×Öž××¢ ס××Ö·×עס ××× ×€ÖŒ×ַך×Ö·××¢×.
- ××××€× ×¡×× ××ַקס ק×Öž× ×ך×Öž× ×š×Öž××¢ ס××Ö·×עס ××× ×€ÖŒ×ַך×Ö·××¢×.
- ××××€× ×€ÖŒ×š××××š× ×š×Öž××¢ ס××Ö·×עס ××× ×€ÖŒ×ַך×Ö·××¢×.
- ××× × ×š×Öž××¢.
- ק×ק ×Öž×€×¢× ××ק××Ö·× ××××£ ×× ×עךע ך×Öž×עס.
- ק×ק ס×× ××ַקס.
- ש×Ö·×€Ö¿× ×Ö· ××֞קקעך ×××ַש׀֌××
- ××××€× molecule/default/playbook.yml.
- ק×Öž× ×ך×Öž×××š× ×× ××××¢×€ÖŒ×Öž××¢× ×¡×.
- ××××€× ×× ××Ö·×ך××ש×Ö·× ×עסץ
- ×¢× ××ק×
××Öž× #271: ××××Öž××ס ×€×ַק××֞ך
××× ×¢×š×©×עך, ך××€×ַק×עך×× × ××× ××ך××עק×Öž×× ×××š× ×Ö· ק×××× ×ך×׀֌ע ×€×× ââ׊×××× ×Öž×עך ×ך××Ö· ××¢× ×ש×. ××× ×š×××××× ×× ×§×Öž× ××× ×× ××¢×. ×××עך ׊××Ö·×, ×× ××Ö·× ×©×Ö·×€Ö¿× ××¢×××¢××Öž×€ÖŒ×¢× ××××¡× ×€×× ××× ×Š× ×©×š××Ö·×× ×§×Öž× ××× ×§×Öž× ×š×¢×Š×¢× ×××¢ ק×Ö·× ×ך××××××× ×Š× ×× ××סע××Ö·× ××ש×Ö·× ×€×× ××××¡× ×××¢×× ×× ×× ×€×š×ַס×ך×ַק×שעך ××× ××× ×¢×¡ ×ַך××¢×. ×עך ×××××€ÖŒ×× ×§× ××Öž ××× ××¢×××¢× ×Ö·× ×× ×š×¢×Š×¢× ××עס ××¢× ×¢× ×××ס×עק×××× ××¢×××Öž×š× ×××× ×¡ ××× ×××× ×¡, ×××× ×Ö· ×€ÖŒ××Ö·×, ×.×. ××× ×¢×××¢××¢ ××ַש××֞עס ××ך ×××¢× ×§×š××× ××× ×Ö· × ××Ö· ש××ק ×€×× ×× ×€×š×ַס×ך×ַק×שעך.
××× ×¢×¡ ××Öž× ×××× ××ַק×××¢× ××Öž. עס ××× ××ַק×××¢× ×Š× ××Öž× ×Ö· ×š×¢×Š×¢× ×××¢, ××¢× ××× ×× ×€×š×××××עךק ×€×× ×××֞ס ×ַך××¢× ×¢×¡ ××× ××¢×××, ××× ×× ×עש××××¢ ×€×× ââ××סק×ס×עס. ××ך ××Öž×× ×× ×Ö·×ך××××× ×××©×¢× ×§×× ×¡ + ××××××§×§×¢× + ××ש×ך×Ö·.
×Öž×עך ××× ×Ö·××Ö·, ×Ö· ×š×¢×Š×¢× ×××¢ ××× × ××©× ×Ö· ×€ÖŒ×Ö·× ×ַס××Ö·, ××ך ××Öž×× ××× ××× ×× ××¢× ×§×Öž×, ×××֞ס ××¢×××× ××× ×× ×€××Ö·×€ÖŒ ×עסץ:
- get_url:
url: "{{ actk_certs }}/{{ item.1 }}"
dest: "{{ actk_src_tmp }}/"
username: "{{ actk_mvn_user }}"
password: "{{ actk_mvn_pass }}"
with_subelements:
- "{{ actk_cert_list }}"
- "{{ actk_certs }}"
delegate_to: localhost
- copy:
src: "{{ actk_src_tmp }}/{{ item.1 }}"
dest: "{{ actk_dst_tmp }}"
with_subelements:
- "{{ actk_cert_list }}"
- "{{ actk_certs }}"
××¢×š× ×Öž× ××Öž×× ××× ×¢×¡ ×€×ַך׀עס××ק×, ×Öž×עך ×× ×š×¢××Ö·×× ××× ××¢×××××.
get_url:
url: "{{ actk_certs }}/{{ actk_item }}"
dest: "{{ actk_src_tmp }}/{{ actk_item }}"
username: "{{ actk_mvn_user }}"
password: "{{ actk_mvn_pass }}"
loop_control:
loop_var: actk_item
with_items: "{{ actk_cert_list }}"
delegate_to: localhost
- copy:
src: "{{ actk_src_tmp }}/{{ actk_item }}"
dest: "{{ actk_dst_tmp }}"
loop_control:
loop_var: actk_item
with_items: "{{ actk_cert_list }}"
××Öž× #311: ×××ק××Ö·× ×ַך×××£ ×עסץ
××× ×עך ׊×××, עס ××¢× ×¢× ××¢×××¢× ×עך ×עסץ, ××××¢× ×¡××Öž×עך, ×ַך×××£ ×Š× ×Ö· ×©×¢× ××× ×× ×¢×š××¡× ×€×Ö·×. ××××£ ×××× ×¢×š ×€×× ×× ×š×¢×ך×Öž ××× ××¢×××¢× ×Ö· ׀ך×Ö·××¢ ××× "עס ××× ××× ×Ö·× ×¢×¡ ××¢× ×¢× ×עסץ, ×Öž×עך ××× ××¢× ×¢× ×€ÖŒ×Ö·××¢××¢×." ××× ×Ö· ךע×××××Ö·×, ××ך ×€×ך×××× ×× ×Ö·×ך××ש×Ö·× ×עסץ ××××£ ×××ך×××Ö·× ××ש×× ×¢× ××× ×Š×××¢×€××¡× ××× ×€Ö¿×ַך ××֞קעך ×Š× ××Ö·×× ×¢×¡ ×€×ַס×עך. ××ך ×××× ×š××€ÖŒ××××¡× ×עס××× ×€×š×Ö· ××× ×Ö·× ×¡×Ö·××Ö·× ××עך×Ö·×€××עך ×Š× ×š×¢××׊××š× ×× × ××עך ×€×× ××ש×ך×× ××¢× ×׊×.
ש××š×¢× × ×עךע××, עס ××× ××¢×××¢× ×Ö· ××Ö·× × ×€×× ×××××¢×:
- ××ַש××××¢× ×Š× ××֞קקעך.
- ×ַך×Öž×€ÖŒ× ×¢××¢× ×š×Öž××¢ ×עס××× ×, ×××֞ס ××× ×××€ÖŒ××ק××××× ×š×¢×× ×Š× ×××€ÖŒ×¢× ××Ö·× ×¡××.
- ×€×ַך××š×¢×¡×¢×š× ×× × ××עך ×€×× ×¡××Ö·××עס.
- ׀֌ך××××š× ××××€× ×¡×ך.
- ×€×××ק××× ×Š× ×××× ×¢× ×Ö·××¢ ××Öž×ק×Ö·×× ××× ×××× ××Ö·×€Ö¿×¢×.
××× ×Ö· ךע×××××Ö·×, ×€ÖŒ×××€ÖŒ×××× ××××£ ×××©×¢× ×§×× ×¡ ××× ×××× ××× ×Ö·×€×××
- ש×Ö·×€Ö¿× ××××¢× ×¡××Ö·×עס.
- ××× × ×Ö·××¢ ××× ×€ÖŒ×ַך×Ö·××¢×.
- ××××€× ×€ÖŒ×š××××š× ×š×Öž××¢ ס××Ö·×עס ××× ×€ÖŒ×ַך×Ö·××¢×.
- ×¢× ××ק×.
×עק׊×עס ××¢××¢×š× ×
××ס××××× ×××××××¢ ××עך××Ö·××Ö·××
Ansible × ××Š× ×××××××¢ ××עך××Ö·××Ö·××, עס ××× ×Ö· ×€ÖŒ×ַך××××ש ×××֞ךק×ַך×Öž×× × ××× ×× ×€×֞ךע×
××××ך ××ך ××¢×× × ×××ש׀××. ××× ××× ×× ××Öž×× role_a
О role_b
# cat role_a/defaults/main.yml
---
msg: a
# cat role_a/tasks/main.yml
---
- debug:
msg: role_a={{ msg }}
# cat role_b/defaults/main.yml
---
msg: b
# cat role_b/tasks/main.yml
---
- set_fact:
msg: b
- debug:
msg: role_b={{ msg }}
- hosts: localhost
vars:
msg: hello
roles:
- role: role_a
- role: role_b
tasks:
- debug:
msg: play={{msg}}
×× ××Öž×× ×¢ ××Ö·× ××× ×Ö·× ×עך ךע×××××Ö·× ×€×× ×€ÖŒ×××Ö·××Öž×֞קס ×××¢× ×Öž×€×¢× ××¢× ××××£ ×××× ×××֞ס ××¢× ×¢× × ××©× ×©××¢× ××ק ק××֞ך ××× ×עך ××Öž×, ×Ö·××Ö· ××× ×× ×¡×ך ××× ×××֞ס ך×Öž×עס ××¢× ×¢× ××ס××¢×. ׊×× ××Ö·×××עך×, ××֞ס ××× ×× × ×Ö·××ך ×€×× Ansible ××× ×עך ×עס×עך ××Ö·× ×××֞ס ×§×¢× ×¢× ×××× ××¢××× ××× ×Š× × ××Š× ×Ö· ××× ×€×× ×עסקע×, ××ש×, ××× ×Ö· ך×Öž××¢, × ××Š× ××××× ×× ××עך××Ö·××Ö·×× ××סקך×××× ××× ××¢× ×š×Öž××¢.
ש××¢××: × ××Š× ×××××××¢ ×××Ö·××¢××××ק.
# cat roles/some_role/tasks/main.yml
---
debug:
var: java_home
×××: ××× defaults
××¢×€×× ××š× ×× × ××××ק ××עך××Ö·××Ö·×× ××× ×©×€ÖŒ×¢×עך × ××Š× ××× ×××××.
# cat roles/some_role/defaults/main.yml
---
r__java_home:
"{{ java_home | default('/path') }}"
# cat roles/some_role/tasks/main.yml
---
debug:
var: r__java_home
׀֌ךע׀×קס ך×Öž××¢ ××עך××Ö·××Ö·××
ש××¢××: × ××Š× ×××××××¢ ×××Ö·××¢××××ק.
# cat roles/some_role/defaults/main.yml
---
db_port: 5432
×××: ××× ×š×Öž×עס ×€Ö¿×ַך ××עך××Ö·××Ö·××, × ××Š× ××עך××Ö·××Ö·×× ×€ÖŒ×š××€××§×¡× ××× ×× ×š×Öž××¢ × ×Öž××¢×, ××֞ס, ×××š× ×§××§× ××× ×× ×××Ö·× ××֞ך×, ×××¢× ××Ö·×× ×¢×¡ ×ך×× ×עך ×Š× ×€Ö¿×ַךש×××× ×××֞ס ××× ××¢×©×¢×¢× ×ש.
# cat roles/some_role/defaults/main.yml
---
some_role__db_port: 5432
× ××Š× ×©××××£ ק×Öž× ×ך×Öž× ×××Ö·××¢××××ק
ש××¢××: × ××Š× × ×֞ך××Ö·× ×××Ö·××¢××××ק ××× ××׀֌ס item
, ×××× ×× ×ַך××¢× / ×€ÖŒ×××Ö·××Öž×֞ק ××× ×ַך××Ö·× ×עךע×× × ×¢×š××¢×¥, ××֞ס ×§×¢× ×€××š× ×Š× ××××עך××× × ×Ö·××ך
---
- hosts: localhost
tasks:
- debug:
msg: "{{ item }}"
loop:
- item1
- item2
×××: ך××××€××× ×Ö· ×××Ö·××¢××××ק ××× ×Ö· ש××××£ ×××š× loop_var
.
---
- hosts: localhost
tasks:
- debug:
msg: "{{ item_name }}"
loop:
- item1
- item2
loop_control:
loop_var: item_name
ק×Öž× ×ך×Öž×××š× ×ַך××Ö·× ×©×š××Ö·× ××עך××Ö·××Ö·××
××ך ××Öž×× ×ס××× ××¢×××¢× ×Š× × ××Š× ××עך××Ö·×××¢ ׀֌ךע׀×קס עס ×××Öž×× × ××©× ×××× ××עך×ק ×Š× ×§×Öž× ×ך×Öž×××š× ×Ö·× ××× ××¢× ×¢× ×××€××× × ××× ××ך ×עך×××ַך×× ×××, ××ש×, ××¢× ×¢× × ××©× ×Öž×××עךך××× ×××š× ×Ö· ×××××ק ××עך×;
×××: ק×ק ××עך××Ö·××Ö·××.
- name: "Verify that required string variables are defined"
assert:
that: ahs_var is defined and ahs_var | length > 0 and ahs_var != None
fail_msg: "{{ ahs_var }} needs to be set for the role to work "
success_msg: "Required variables {{ ahs_var }} is defined"
loop_control:
loop_var: ahs_var
with_items:
- ahs_item1
- ahs_item2
- ahs_item3
××ס××××× ××ַש×× ××קש×Ö·× ×¢×š××, × ××Š× ×€××Ö·× ×¡×ך×ק××ך
×××× ×Ö· ך×Öž××¢ ×קס׀֌עקץ ×Ö· ××ַש / ××עך×עך××× ××× ×××× ×¢×š ×€×× ×××Ö·× ×€ÖŒ×ַך×Ö·××¢×עךס, ×××× ××ך ××××× ×Š× ××××©× ×××× ×¢×š ×€×× ×× ×§×× × ×€ÖŒ×ַך×Ö·××¢×עךס, ××ך ××Ö·×š×€Ö¿× ×Š× ×Öž×××עךך××× ×× ××× ×Š×¢ ××ַש / ××עך×עך×××, ×××֞ס ×××¢× ×€×ַך××š×¢×¡×¢×š× ×§×Ö·× ×€×××עך××ש×Ö·× ×§×Ö·××€ÖŒ×עקס×××.
ש××¢××: × ××Š× ××ַש / ××עך×עך×××.
---
user:
name: admin
group: admin
×××: × ××Š× ×Ö· ×€××Ö·× ×××Ö·××¢××××ק ס×ך×ק××ך.
---
user_name: admin
user_group: "{{ user_name }}"
ש×Ö·×€Ö¿× ××××¢××Öž××¢× × ×€ÖŒ×××Ö·××Öž×֞קס ××× ×š×Öž×עס
ך×Öž×עס ××× ×€ÖŒ×××Ö·××Öž×֞קס ×××× ×××× ××××¢××Öž××¢× ×, ××××Ö·× ×š×Ö·××ס×Ö·× ×§×Ö·× ×€×××עך××ש×Ö·× ×ך××€× ××× ×××š× ×€×× ×ך××ק×× × ×¢×€ÖŒ×¢×¡. ×Öž×עך ×××× ××ך × ××Š× ××Ö·××ַק×××, ××֞ס ××× ×× ×€×¢××ק××Ö·× × ×Ö·××ך.
××ס××××× × ××Š× ××Ö·×€Ö¿×¢×× ×©×Öž× ××Ö·××ש×××
× ××Š× ×Ö· ש×Öž× ××Öž××××¢ ךע×××××Ö·× ××× ×Ö· ××׀֌עך×Ö·×××× ××ַשך××Ö·××× × ×€ÖŒ×ַך×Ö·××××, ×Ö·× ×©××Öž× ×€×× ×× ×עק××ַך×Ö·×××××¢ ×××× ×¢×š, ×××֞ס ××× ×× ××ַךץ ×€×× Ansible.
׀֌ך××××š× ×××× ×š×Öž×עס ×××š× ××Ö·××ַק×××
××Öž×עק×××ַך ××× ×Ö· ×××עך ×€×עקס×Ö·××Ö·× ××Ö·×, ××Öž××ך ק××§× ××× ×¢×××¢××¢ ס×× ×¢×š××Öž××.
××Öž×עק×××¢ ק×××€× ×× ×¡××Ö·× ×¡××
Ð molecule.yml
××× ×Öž×€ÖŒ×××××× × platforms
××ך ×§×¢× ×¢× ××ַשך××Ö·×× ×€×××¢ ××× ×ת ×Ö·× ××ך ×§×¢× ×¢× ×Š×¢×××ק××¢×.
---
driver:
name: docker
platforms:
- name: postgresql-instance
hostname: postgresql-instance
image: registry.example.com/postgres10:latest
pre_build_image: true
override_command: false
network_mode: host
- name: app-instance
hostname: app-instance
pre_build_image: true
image: registry.example.com/docker_centos_ansible_tests
network_mode: host
×עך××עך, ×× ××× ×ת ×§×¢× ×¢× ×××× converge.yml
× ×׊×:
---
- name: Converge all
hosts: all
vars:
ansible_user: root
roles:
- role: some_role
- name: Converge db
hosts: db-instance
roles:
- role: some_db_role
- name: Converge app
hosts: app-instance
roles:
- role: some_app_role
×Ö·× ×¡××××¢ ××עך×Ö·×€××עך
××× ××Ö·××ַק××× ×¢×¡ ××× ××¢×××¢× ×Š× × ××Š× ×Ö·× ×¡××××¢ ×Š× ×§×Öž× ×ך×Öž×××š× ×Ö·× ×× ×××ַש׀֌×× ××× ×§×Ö·× ×€××××¢×š× ×š××××ק, ×עך׊×, ××֞ס ××× ××¢×××¢× ×× ×€×¢××ק××Ö·× ××× × ××¢×××× × 3. עס ××× × ××©× ×Ö·××× ×€×עקס×Ö·××Ö·× ××× ×עס××× ×€×š×Ö· / ×× ×¡×€ÖŒ×¢×§, ×Öž×עך ××ך ×§×¢× ×¢× ×§×Öž× ×ך×Öž×××š× ×Ö·× ×× ××× ××Ö·×× ×€×× ×עך ×עקע ××××Ö·×× ××× ××עך עקס׀֌עק×××ש×Ö·× ×:
---
- name: Verify
hosts: all
tasks:
- name: copy config
copy:
src: expected_standalone.conf
dest: /root/wildfly/bin/standalone.conf
mode: "0644"
owner: root
group: root
register: config_copy_result
- name: Certify that standalone.conf changed
assert:
that: not config_copy_result.changed
×Öž×עך ׊ע×××ק××¢× ×× ×¡×¢×š×××ס, ×××ַך×× ××× ×¢×¡ ××× ××ךע××××× ××× ××Öž× ×Ö· ך××× ×€ÖŒ×š×Öž××¢:
---
- name: Verify
hosts: solr
tasks:
- command: /blah/solr/bin/solr start -s /solr_home -p 8983 -force
- uri:
url: http://127.0.0.1:8983/solr
method: GET
status_code: 200
register: uri_result
until: uri_result is not failed
retries: 12
delay: 10
- name: Post documents to solr
command: /blah/solr/bin/post -c master /exampledocs/books.csv
ש××¢×× ×§×Öž××€ÖŒ×עקס ××Öž××ק ××× ××Ö·××ש××× & ×€ÖŒ××××× ×¡
×Ö·× ×¡××××¢ ×Ö·××××ַק×Ö·×¥ ×Ö· ×עק××ַך×Ö·×××××¢ ׊×××Ö·× ×, ×Ö·××× ×××¢× ××ך ××Öž× ×§×Öž× ×ך×Ö·× ×ש×× ×, ××Ö·×× ×ך×Ö·× ×¡×€×֞ך××ַ׊××¢, ש×Öž× ××Ö·××ש×××, ×× ×§×Öž× ×××¢×š× ×©××עך ×Š× ××××¢× ×¢×. ×Š× ×§×Ö·×××Ö·× ××¢× ××× ××Ö·××× ×¢×¡ ׀֌ש×× ×Š× ×€Ö¿×ַךש××××, עס ×××Öž×× × ××©× ×××× ××עך×ק ×Š× ×§×Ö·×××Ö·× ××¢× ×§×Ö·××€ÖŒ×עקס××× ×××š× ×©×Ö·×€Ö¿× ×××× ×××××¢× ×¢ ××Ö·××ש×××.
ס×Ö·×עך××× ×¢×Š×ת ××× ×ך×קס
- ××ס××××× ×××××××¢ ××עך××Ö·××Ö·××.
- ׀֌ךע׀×קס ך×Öž××¢ ××עך××Ö·××Ö·××.
- × ××Š× ×©××××£ ק×Öž× ×ך×Öž× ×××Ö·××¢××××ק.
- ק×Öž× ×ך×Öž×××š× ×ַך××Ö·× ×©×š××Ö·× ××עך××Ö·××Ö·××.
- ××ס××××× ××ַשעס ××קש×Ö·× ×¢×š××, × ××Š× ×€××Ö·× ×¡×ך×ק××ך.
- ש×Ö·×€Ö¿× ××××¢××Öž××¢× × ×€ÖŒ×××Ö·××Öž×֞קס ××× ×š×Öž×עס.
- ××ס××××× × ××Š× ××Ö·×€Ö¿×¢×× ×©×Öž× ××Ö·××ש×××.
- ׀֌ך××××š× ×××× ×š×Öž×עס ×××š× ××Ö·××ַק×××.
- ש××¢×× ×§×Öž××€ÖŒ×עקס ××Öž××ק ××× ××Ö·××ש××× & ×€ÖŒ××××× ×¡.
ס×Öž×£
××ך ×§×¢× × × ××©× × ×֞ך ×××× ××× ×š×¢×€×ַק××֞ך ×× ×× ×€×š×ַס×ך×ַק×שעך ××× ×Ö· ׀֌ך××עק×, ××€××× ×××× ××ך ××Öž×× ××ַק. ××֞ס ××× ×Ö· ××Ö·× × ×€ÖŒ×š×֞׊עס ×××֞ס ך×ק×××××¢×š× ××¢××××, ׊××× ××× ×××ס×.
××× ×§×¡
- ס×××××
××× ×Š× ×€ÖŒ×š××××š× ×Ö·× ×¡××××¢ ××× ××Öž× × ×× ×××× × ×ס××¢× - ×××××¢×
××× ×Š× ×€ÖŒ×š××××š× ×Ö·× ×¡××××¢ ××× ××Öž× × ×× ×××× × ×ס××¢× ×××֞ס ××× ××¢××¢×š× × ×€×× ×עס××× × 200 ש×ך×ת ×€×× ×× ×€×š×ַס×ך×ַק×שעך ק×Öž× ×Ö·× ×¡×Ö·××Ö·×: ×××ך×Ö·×××Öž× ×€×× 120 VM ק×Ö·× ×€×××עך××ש×Ö·× ×€×× ×§×֞ךע×֞ס ×Š× Centos ××× 18 ××ש×× ××× ×Š× ×ךע×× ×××ס×ק×Ö·×× ×××עך קך×Ö·×ש×× ×××¢× ×עס××× × ×××× ×€×ַךש׀֌ך××××× × ×€ÖŒ×š××××š× ××ך ×××× ××ך ×§×¢× ×¢× ×Öž×עך ××Öž× YML ׀֌ך×Öž××ך×Ö·××¢×š× ×××× ×€×× ×עס××× × ×Ö·× ×¡××××¢? × ×š×©××× ×€×× ×֞ס×Ö·× IaC ×עס××× × ×ַך××ק××¢×, ךע×עס ××× ××× ×§×¡ קך××Ö·× ×€ÖŒ×֞ס×× ×¢× ×××ש ××עךס××¢
UPD1 2020.05.01 20:30 - ×€Ö¿×ַך עךש××ק ׀֌ך×Öž×€×××× × ×€×× ×€ÖŒ×××Ö·××Öž×֞קס ××ך ×§×¢× ×¢× × ××Š× callback_whitelist = profile_tasks
×Š× ×€Ö¿×ַךש×××× ×××֞ס ×€ÖŒ×× ×§× ×ַך××¢× ×€Ö¿×ַך ×Ö· ××Ö·× × ×Š××Ö·×. ××¢××Öž×× ××ך ×××× ××ך×
UPD2 2020.05.03 16:34 -
×ק×ך: www.habr.com