ืืืฉื IaC (ืชืฉืชืืช ืืงืื) ืืืจืืืช ืื ืจืง ืืืงืื ืืืืืืกื ืืืืืจ, ืืื ืื ืืืื ืฉืื ืืืชืืืืืื ืืืงืืคืื ืืช ืืงืื ืืื. ืืื ื ืืชื ืืขืฉืืช ืฉืืืืฉ ืืืืจ ืืืืฉืืช ืืคืืชืื ืชืืื ื ืืขื ืื ืืืื ืืชืืืืจ ืชืฉืชืืืช? ืื ืืืื ืจืขืืื ืืื ืืืืืจ ืืช ืืจืขืืื ืืื ืืืื ืฉืืชื ืงืืจื ืืช ืืืืืจ.
ืื ืชืืืื ืฉืื
ืฉืงืืคืืืช ืืกืจืืื ืื
ืืจืกื ืื ืืืืช ืืจืกื ืจืืกืืช - ืจืืฆื ืืืฉื 2019-04-24
SpbLUG ืืืืื(RU) ื-DevopsConf 2019-05-28 ืืืืื(RU) ื-DINS DevOps EVENING 2019-06-20 ืฉืงืืคืืืช
ืชืฉืชืืืช ืืืืกืืืจืื ืฉื ืืืฉื
ื ื ืื ืฉืืชื ืืืืข ืืคืจืืืงื ืืืฉ, ืืื ืืืืจืื ืื: "ืืฉ ืื ื ืชืฉืชืืช ืืงืื". ืืืฆืืืืช ืืกืชืืจ ืชืฉืชืืืช ืืืืกืืืจืื ืฉื ืืืฉื ืื ืืืฉื ืชืืขืื ืืืืกืืืจืื ืฉื ืืืฉื. ืืื ืืฆื ืืืืชื ืืืื, ืืืฉื, ืืงืจื ืืืื ืชืืืจ ืขื ืืื ืื ืืก ืืืกื ืงื ืื ืืื
ืขื ืงืฆืช ืจืฆืื, ืื ืื ื ืืืืืื ืืืืจ ืืช ืื ืชืฉืชืืืช ืืืืกืืืจืื ืฉื ืืืฉื ืื ืืื ืงืื:
- ืืืืืช ืฉืืืืจ: ืืชื ืืืื ืืงืืช ืืช ืืืืกืืืจืื ืฉื bash, ืืืคืขืื ืืช ืืคืงืืืืช ืืฉื, ืืืืื, ืืื, ืชืงืื ืชืฆืืจื ืขืืืืช ืืคืื.
- ื ืืืื ืืจืกืืืช: ืืชื ืืืืข ืื ื ืื ืก ืืื ืื ืขืฉื, ืฉืื, ืื ืื ืขืืืื ืฉืื ืืืืื ืืืชื ืืชืฆืืจื ืขืืืืช ืืืฆืืื.
- ืืืกืืืจืื: ืืกืืคืืจ ืฉื ืื ืขืฉื ืื. ืจืง ืื ืชืืื ืืืฉืชืืฉ ืื ืื ืชืืื ืืช ืืฉืจืช.
ืื ืืขืฉืืช?
ืชืฉืชืืช ืืงืื
ืืคืืื ืืงืจื ืืืืจ ืืื ืืื ืชืฉืชืืืช ืืืืกืืืจืื ืฉื ืืืฉื ืืชื ืืืื ืืืฉืื ืืืชื ืืืืื ืืื ืชืฉืชืืช ืืงืื, ืืื ืืฉืื ืื ื ืจืืฆืื ืืขืฉืืช ืืฉืื ืืืชืจ ืืกืืื ืืฉืจืช LAMP ืืืฉื ืืืืื, ื ืืืข ืืืกืงื ื ืฉืฆืจืื ืืืืฉืื ืืฉื ืืช, ืืฉื ืืช, ืืฉืคืจ ืืช ืืงืื ืืื. ืืืืจ ืืื ื ืจืฆื ืืฉืงืื ืืช ืืืงืืืืช ืืื ืืื ืชืฉืชืืช ืืงืื ืืคืืชืื ืชืืื ื.
ืึธืึตืฉื.
ืืคืจืืืงื ืคืืชืื ืืขืจืืืช ืืืกืื, ืืืืชื ืืฉืืื ืืฉื ื
- ืืืื ืก ืืืื ืืืืฆืขืืช ssh ืืืฆืข ืืช ืืคืงืืื.
- ืืืขืชืืง ืืช ืืงืืืฅ ืืฉื.
- ืชืงื ืืช ืืชืฆืืจื ืืื.
- ืืืชืืื ืืช ืืฉืืจืืช ืฉื
- ...
- ืจืืื!
ืขืืืจ ืืืืืืื ืืืชืืืจ, bash ืืื ืื ืืืืชืจ, ืืืืืื ืืฉืืืื ืืืืงืืืื ืฉื ืืคืจืืืงื, ืืืฉืจ ืืื ืจืง ืืชืืื. ืึถื
ืืกืชืืจ ืฉืืฉ ื ืืื ืืื ืืื ื.ืจ.ื. (ืื ืชืืืืจ ืขื ืขืฆืื). ืืจืขืืื ืืื ืืขืฉืืช ืฉืืืืฉ ืืืืจ ืืงืื ืงืืื. ืื ื ืฉืืข ืคืฉืื, ืืื ืื ืืืขื ื ืืื ืืื. ืืืงืจื ืฉืื ื, ืื ืืื ืจืขืืื ืื ืืื: ืืืคืจืื ืืื ืืืืจืืช ืืชืกืจืืืื. ืึธืึตื. ืืืืืืื ืืขืกืงื ืฉื ืืืคื ืคืจืืกืช ืืืชืงื ื ืื ืคืจื, ืืืืจืืช ืื ืคืจื.
ืืืฆืง. ืขืืืจ CFM
ืขื ืืืื ืืคืจืืืงื ืืื ื
ืขืงืจืื ืืืืจืืืช ืืืืขืืืช
ืื ืืืชื ืืืฆืขืช ืืฉืืื ืืืช ืืืื.
ืืื ืฆืืจื ืืขืจืื ืงืื ืืืืฆืืจ ืืคืืฆืืช ืกืคืืื ืืืืืืืช ืืื ืืืืืืืช. ืืชืฉืชืืช ืฆืจืืื ืืืืืช ืืืจืืืช ืืืื ืื ืคืฉืืืืช. ืืกืชืืจ ืฉืื ืืคืฆืืื ืืช ืกืคืจ ืืืฉืืงืื ืฉื Ansible ืืืชืืืืช ืงืื ืืช, ืงืืจื ืชืคืงืืื Ansible, ืื ืงื ืืืชืจ ืืชืืืง ืืืชื.
ืืขืืงืจืื ืืคืชืื ืืกืืืจ
ืขืงืจืื ืคืชืื/ืกืืืจ.
- ืคืชืื ืืืจืืื: ืคืืจืืฉื ืฉื ืืชื ืืืจืืื ืืช ืืืชื ืืืืช ืฉื ืืฉืืช ืขื ืืื ืืฆืืจืช ืกืืื ืืฉืืืืช ืืืฉืื.
- ืกืืืจ ืืฉืื ืื: ืืชืืฆืื ืืืจืืืช ืืืชื ืืืืช ืฉื ืืฉืืช, ืืื ืืืฆืข ืฉืื ืืืื ืืงืื ืืืฉืชืืฉ ืืืฉืืืืช ืืื.
ืืชืืืื, ืคืจืกื ื ืืช ืชืฉืชืืช ืืืืืงื ืขื ืืืื ืืช ืืืจืืืืืืืช, ืื ืืฉื ืืขืืืื ืฉืืืืืืงื ืืขืกืงืืช ืฉื ืืคืจืืกื ืืืืชื ื ืคืจืืช ืืืืืฉืื, ืืืกืคื ื ืืืืื ื-baremetall ืืื ืืขืืืช.
ืขืงืจืื ืืืืคืช ืืืกืงืื
ืขืงืจืื ืืืืืคื ืฉื ืืจืืจื ืืืกืงืื. ืืืืืืงืืื ืืชืืื ืืช ืืืืืื ืืืืืช ื ืืชื ืื ืืืืืคื ืืืืคืขืื ืฉื ืชืช-ืืกืืืื ืฉืืื ืืืื ืืฉื ืืช ืืช ืืืืฆืืข ืื ืืื ืฉื ืืชืืื ืืช
ืื ืืชื ืืกืชืื ืขื ืื ืืฆืืจื ืจืืื ืืืชืจ, ืื ืื ืืืคืืื ืฉื ืฉืื ืคืจืืืงื ืืกืืื ืฉื ืืชื ืืืืฉื ืฉื ืืืฆืง., ืื ืืืจื ืืื ืขื CFM, ืืืฉื, ืืคืจืืืงื ืืืจ ืืฉ ืฆืืจื ืืคืจืืก ืืืฉืื Java ืขื ืงืืคืกืืืช ืขื ืืื Java, ืฉืจืชื ืืืฉืืืื, ืืกืื ื ืชืื ืื, ืืขืจืืช ืืคืขืื ืืื'. ืืืืฆืขืืช ืืืืื ืื, ืืฉืงืื ืขืงืจืื ืืช ื ืืกืคืื ืืืฆืง.
ืืืงืจื ืฉืื ื, ืืฉ ืืกืืื ืืชืื ืฆืืืช ืืชืฉืชืืช ืฉืื ืืชืงื ื ืืช ืืชืคืงืื imbjava ืื oraclejava, ืื ืืฉ ืื ื ืงืืืฅ ืืคืขืื ืืื ืืจื ืฉื java. ืื ืืืจืื ืื ืชืคืงืืืื ืืืขืื ืืืจื ืชืืืืื ืืืชื ืืืืช ืื; ืื ืืฆืคืื ืื'ืืืื. ืืื ืขื ืืืช, ืื ืืืคืฉืจ ืื ื ืืืืืืฃ ืืืืืฉ/ืืจืกื ืืืช ืฉื java ืืืืจืช ืืืื ืืฉื ืืช ืืช ืืืืืงื ืฉื ืคืจืืกืช ืืืคืืืงืฆืื.
ืืืขืื ืืื ื ืขืืฆื ืืขืืืื ืฉืื ืืคืฉืจ ืืืืฉื ืืืช ื-Ansible, ืืชืืฆืื ืืื ืืืคืืขืื ืืื ืืกืืืืช ืืชืื ืืฆืืืช.
ืขืงืจืื ืืคืจืืช ืืืืฉืง
ืขืงืจืื ืืคืจืืช ืืืฉืง: "ืืจืื ืืืฉืงืื ืกืคืฆืืคืืื ืืืงืื ืขืืืคืื ืขื ืืืฉืง ืืื ืืืืจืืช ืืืืืืช.
ืืชืืืื, ื ืืกืื ื ืืืื ืืก ืืช ืื ืืฉืื ืืช ืฉื ืคืจืืกืช ืืืฉืืืื ื-Ansible playbook ืืื, ืืื ืืื ืงืฉื ืืชืืื, ืืืืืฉื ืืฉืืฉ ืื ื ืืืฉืง ืืืฆืื ื ืฉืฆืืื (ืืืงืื ืืฆืคื ืืืฆืืื 443), ืื ื ืืชื ืืืจืืื ืชืฉืชืืช ืืคืจื. ืืื ืื ืืืืฉืื ืกืคืฆืืคื.
ืขืงืจืื ืืืคืื ืืชืืืช
ืขืงืจืื ืืืคืื ืืชืืืช. ืืืืืืื ืืจืืืช ืืืืืืช ืืืชืจ ืื ืฆืจืืืื ืืืืืช ืชืืืืื ืืืืืืืื ืืจืืืช ื ืืืืืช ืืืชืจ. ืฉื ื ืกืืื ืืืืืืืื ืืืืืื ืืืืืช ืชืืืืื ืืืคืฉืืืช. ืืคืฉืืืช ืื ืืืืจืืช ืืืืืช ืชืืืืืช ืืคืจืืื. ืืคืจืืื ืืืืืื ืืืืืช ืชืืืืื ืืืคืฉืืืช.
ืืื ืืืืืื ืชืชืืกืก ืขื ืื ืื-ืชืื ืืช.
- ืืืื ืืืงืืืืช ืืื ืขื ื ืคืจืื.
- ืืืื ื ืืืื ืืช ืืืจืืืืืืืช ืืชืื ืืขื ื.
- ืื ืืฉื ืืืคืื ืฉื ืืขื ื, ืคืจืืกืช ืืคืืืงืฆืืืช ืืืืชื ืงืฉืืจื ืืืืื Hypervisor ืืื ืคืืขื ื-VM.
ืึธืึตื. ืืืืืงื ืฉื ืคืจืืกืช ืืืฉืืืื ืืจืื ืืืืื ืืจืื ืขื ืชืืืช ืืจืืืช ื ืืืืืช ืืืชืจ ืฉื ื-Hypervisor, ืืืฉืืขืืช ืืืืจ ืืืืชื ืืขืืืช ืืขืช ืฉืืืืฉ ืืืืจ ืืืืืืงื ืื. ืื ืชืืื ืื.
ืคืขืืืช ืืืืืื
ืชืฉืชืืช ืืงืื ืขืืกืงืช ืื ืจืง ืืงืื, ืืื ืื ืืืืกืื ืืื ืงืื ืืื ืฉืื, ืืืื ืืจืืงืฆืืืช ืืื ืืคืชืื ืชืฉืชืืช.
ืืืจื ืืืืืืืก
ืืื ื ื ืื ืฉืืฉ ืื Vasya ืืคืจืืืงื ืฉืื. ืืืกืื ืืืืข ืืื ืขื ืืชืฉืชืืช ืฉืื, ืื ืืงืจื ืื ืืืกืื ืชืืขืื ืคืชืืื? ืื ืืฆื ืืืื ืืืืชื, ืื ืืื ืขืืื ืืืืคืืข ืืืืืืืืก. ืืคืขืืื ืื ืงืืจื. ืื ืื ืงืืจื ืืืืืข ืขื ืืงืื, ืืืื ื ืฉืื, ืืืคื ืคืขืืืชื, ืืืคืขืืช ืืกืืกืืืืช ืื ืืชืคืืจ ืืฆืืืช, ืื ืืชื ืขืืื ืืืืชืงื ืืืกืคืจ ืืฆืืื ืื ื ืขืืืื. ืืื ืืืืขืจ ืกืืืื ืื ืืื ืืืืคืืฅ ืืืข ืืชืื ืืฆืืืช, ื ืืชื ืืืฉืชืืฉ ืืืืฉืืช ืฉืื ืืช
ืืื Devopsing
ืื ืื ืืื
ืืงืจื ืืืืื ื ืืกืฃ ืืื ืฉืืืช ืืืจืืข. ืืืื ืืขืื ืืชืืกืคืช ืงืืืฆื ืฉื ืชืืจื ืื ืืืืขืืจืืื, ืืื ื ืื ืืื ืืื, ืฉืืฉืชืฃ ืืช ืืืกื ืฉืื ืืืฉืืืข ืืช ืืื ืืืืฉืื. ืืฉืชืชืคืื ืืืจืื ืขืืงืืื ืืืจ ืืืฉืืืชืื ืฉื ืืื ืืื, ืืจืืืื ืืืจ ืืจืืงืื ืืืงืื ืกืืื, ืืืืงืื ืฉืื ืคืกืคืกื ืฉืืจื ืืืืื ืืืืืืื ืืืจืื ืืืฉืื ืขื ืืืขืจืืช. ืืืฉื ืื ืขืืื ืืขืชืื ืงืจืืืืช ืืืชืจ ืืืฉืจ ืื.
ืืืงืืจืช ืงืื
ืืืืื ื ืกืืืืืงืืืืืช, ืืื ืืขืื ืืืชืจ ืืืคืืฅ ืืืข ืขื ืืชืฉืชืืช ืืืืฆื ืืื ืคืืขืืช ืืืืฆืขืืช ืกืงืืจืช ืงืื:
- ืืชืฉืชืืช ืืชืืืจืช ืืงืื ืืืืืจ.
- ืฉืื ืืืื ืืชืจืืฉืื ืืกื ืืฃ ื ืคืจื.
- ืืืืื ืืงืฉืช ืืืืื, ื ืืชื ืืจืืืช ืืช ืืืืชื ืฉื ืฉืื ืืืื ืืชืฉืชืืช.
ืืืืช ืืืืชืจืช ืืื ืืืืชื ืฉืืกืืงืจืื ื ืืืจื ืืื ืืื, ืืคื ืืื ืืื ืื, ืืืืืจ. ืืืืื ืืกืืืืช ืฉื ืกืืืจืืช ืชืืคืก ืืชืื ืคืืกืช ืชืฉืชืืช ืืืฉื.
ืงืื ืกืื ืื
ืขื ืืืื ืืืื ืืืืคืืข ืืจืืืืช ืืืืื ืืืงืืจืืช, ืื... ืืืืงืจืื ืืื ืกืื ืื ืืฉืืื ืืืกืืืื ืฉื ืืกืืงืจืื ืขืจื ืืืชื ืขื ืกืื ืื ืืช ืฉืื ืื: 2 ืจืืืืื ืื 4, camelCase ืื snake_case. ืื ื ืืชื ืืื ืืืืฉื ืืืช ืืื.
- ืืจืขืืื ืืจืืฉืื ืืื ืืืืืืฅ โโืขื ืฉืืืืฉ ืืืืืจ, ืืจื ืืืื ืืื ืืกืื, ืืืื ืืืืื. ืืื ืขืืจืืื ืฉืื ืื, ืืขืจืืช ืืคืขืื, ืืื ื ื ืืืื
- ืื ืืชืคืชื ืืืื ืฉืืชื ืืจืคืื ืขืืืจ ืื commit ืืขืืืชื ืืฆืืจืฃ ืืช ืคืื ื-linter. ืืื ืืจืื ืืืงืจืื ืืื ืืืจืื ืืฉืืืื ืืืชืจ ืืขืฉืืช ืืืงืื ื ืฉืืจ ืื ืงืืืข.
Green Build Master
ืืืื ืขืืืจ, ืืืืขื ื ืืืกืงื ื ืฉืื ื ืืชื ืืืื ืืก ืืืืกืืจ ืืชืืืืืืืืช ืฉืื ืขืืืจืืช ืืืื ืื ืืกืืืืื. ืืืืื! ืืืฆืื ื ืืช Green Build Master, ืืฉืจ ื ืืื ืืคืืชืื ืชืืื ื ืืืฉื ืืื ืจื:
- ืืคืืชืื ืืชืืฆืข ืืกื ืืฃ ื ืคืจื.
- ืืืืงืืช ืจืฆืืช ืืืฉืืื ืืื.
- ืื ืืืืื ืื ื ืืฉืืื, ืืงืื ืื ืืืืข ืืืืกืืจ.
ืงืืืช ืืืืืื ืืื ืืืืชื ืืืื ืืืืืช, ืื... ืขืืจืจ ืืจืื ืืืืืงืช, ืืื ืื ืืื ืฉืืื ืืช ืื, ืื... ืืืงืืจืืช ืืืื ืืงืื ืืงืฉืืช ืืืืืืืื ืืื ืืืืืื ืืกืื ืื, ืืขื ืืืื ืืกืคืจ ืืืืืจืื ืืืขืืืชืืื ืืื ืืจืืช.
ืืืืงืช IaC
ืื ืืกืฃ ืืืืืงืช ืกืื ืื, ืืชื ืืืื ืืืฉืชืืฉ ืืืืจืื ืืืจืื, ืืืฉื, ืืื ืืืืืง ืฉืืชืฉืชืืช ืฉืื ืืืืช ืืืืื ืืคืจืืก. ืื ืืืืืง ืฉืฉืื ืืืื ืืชืฉืชืืช ืื ืืืืืื ืืืืืื ืืกืฃ. ืืื ืื ืขืฉืื ืืืืืช ื ืืืฅ? ืืฉืืื ืืืจืืืช ืืคืืืืกืืคืืช, ืขืืืฃ ืืขื ืืช ืืกืืคืืจ ืฉืืืืฉืื ืืื ืกืงืืื ืืืืืืื ื-Powershell ืฉืื ืืืง ืืช ืชื ืื ืืืืื => ื ืืฆืจื ืืืชืจ VMs ืืื ืืจืฉ => ืืืงืื ืืืฆืื ืืืชืจ ืืกืฃ ืืืืชืืื ื. ืื ืื ืืืื ื ืขืื, ืืื ืื ืืืืื ืืคืฉืจื ืืชืคืืก ืืช ืืฉืืืื ืืื ืืฉืืืื ืืืงืืืื ืืืชืจ.
ืืคืฉืจ ืืฉืืื, ืืื ืืืคืื ืชืฉืชืืืช ืืืจืืืืช ืืืืจืืืืช ืขืื ืืืชืจ? ืืืืงืืช ืืชืฉืชืืช, ืืืืืง ืืื ืืงืื, ืืื ื ืขืืกืงืืช ืืคืืฉืื, ืืื ืืืืข ืืืฆื ืืชืฉืชืืช ืฉืื ืฆืจืืื ืืขืืื.
ืคืืจืืืืช ืืืืงืืช IaC
ืืืืงืช IaC: ื ืืชืื ืกืืื
ืื ืชืคืจืืก ืืช ืื ืืชืฉืชืืช ืืืช ืืืช ืืชืืืืง ืฉืืื ืขืืืืช, ืืชื ืขืืื ืืืืืช ืฉืื ืืืงื ืืจืื ืืื ืืืืจืฉ ืืจืื ืืื. ืืื ืืืกืืก ืืืื ืืืืืช ืืฉืื ืฉืขืืื ืืืจ, ืืฉ ืืจืื ืืื ื, ืืืื ืืืกื ืืจืื ืืงืืืืช ืคืจืืืืืืืืื.
ืืฉ ืืื ืืกืืื
ืืืื ื ืกืชืื ืขื ืืืืื ืืจืืืืืืืืช. ืืืจ ืืช ืื ืืงืืฆืื ืืกืคืจืืื ืื ืืืืืช ืืืขืชืง ืืืืงืื ืืืจ. ืืืืจ ืืจืืฉืื ืฉืขืืื ืืจืืฉ:
for i in * ; do
cp $i /some/path/$i.bak
done
ืื ืื ืืฉ ืจืืื ืืฉื ืืงืืืฅ? ืืืื, ืืกืืจ, ืื ืื ื ืืืืื, ืื ืื ื ืืืืขืื ืืื ืืืฉืชืืฉ ืืืจืืืืช:
for i in * ; do cp "$i" "/some/path/$i.bak" ; done
ืื ืืืืื? ืื! ืื ืื ืืื ืฉืื ืืืจ ืืกืคืจืืื, ืืืืืจ. ืืืืืื ื ืื ืืขืืื.
find . -type f -exec mv -v {} dst/{}.bak ;
ืื ืืืืื ืขืืฉืื? ืื... ืฉืืืชื ืื ืืืื ืืืืืช ืืฉื ืืงืืืฅ n
.
touch x
mv x "$(printf "foonbar")"
find . -type f -print0 | xargs -0 mv -t /path/to/target-dir
ืืื ื ืืชืื ืกืืื
ืืืขืื ืืืฉืื ืืงืืื ืขืืืื ืืืืชืคืก ืืฉืฉืืื ื ืืช ืืฆืืืืืื, ืืฉืืื ืื ืืฉ ืืจืื ืชืจืืคืืช ืืืืข
ืฉืคื
ืืื
ืืืืื
ืืึนืึถื
ืคึผึดืืชืึนื
ansible
ืืืืงืช IaC: ืืืืงืืช ืืืืื
ืืคื ืฉืจืืื ื ืืืืืืื ืืงืืืืช, linters ืืื ื ืื ืืืืืื ืืืื ื ืืืืืื ืืืฆืืืข ืขื ืื ืืืืืจืื ืืืขืืืชืืื. ืืชืจื ืืื, ืืื ืืืืื ืืืืืงืืช ืืคืืชืื ืชืืื ื, ืื ื ืืืืืื ืืืืืืจ ืืืืืงืืช ืืืืืืช. ืื ืฉืขืืื ืืื ืืจืืฉ ืืื
ืืืฉ ืืืชืืื ืืืืจื ื ืขื ืืืฆืง. ืืฉืืชืฉืชืืช ืฉืื ื ืฆืจืืื ืืืืืช ืืืจืืืช ืืืื ืื ืงืื ืืช. ืืื ื ืืืืข.
- ืืชืฉืชืืช ืืืืืงืช ืืืื ืื ืงืื ืืช, ืืืฉื ืชืคืงืืื Ansible.
- ื ืคืจืกืช ืกืืืื ืืืฉืื, ืืื ืื ืื ืืืงืจ ืื VM.
- ืื ื ืืืืฉืืื ืืช ืชืคืงืื ื-Ansible ืฉืื ื ืขื ืกืืืืช ืืืืงื ืื.
- ืื ืื ื ืืืืงืื ืฉืืื ืขืื ืืคื ืฉืฆืืคืื ื (ืื ืื ื ืืืฆืขืื ืืืืงืืช).
- ืื ืื ื ืืืืืืื ืืกืืจ ืื ืื ืืกืืจ.
ืืืืงืช IaC: ืืื ืืืืงืช ืืืืืืช
ืฉืืื, ืื ืื ืืืื ืื ื-CFM? ืืชื ืืืื ืคืฉืื ืืืจืืฅ ืืช ืืกืงืจืืคื, ืื ืฉืืชื ืืืื ืืืฉืชืืฉ ืืคืชืจืื ืืช ืืืื ืื ืืื:
CFM
ืืื
ืืืชื ืืคืฉืจื
ืฉืึถืฃ
ืฉืึถืฃ
ืขืจืืืช ืืื
ืืืืื ื-testinfra, ืืืืงืช ืืืฉืชืืฉืื test1
, test2
ืงืืืืื ืื ืืฆืืื ืืงืืืฆื sshusers
:
def test_default_users(host):
users = ['test1', 'test2' ]
for login in users:
assert host.user(login).exists
assert 'sshusers' in host.user(login).groups
ืื ืืืืืจ? ืืฉืืื ืืืจืืืช ืืืขืืจืคืืช, ืื ื ืืืืื ืืฉืื ืืืื ืืคืจืืืงืืื ื-github ื-2018-2019:
ืืกืืจืืช ืืืืงืืช IaC
ื ืฉืืืช ืืฉืืื: ืืื ืืืืจ ืืช ืืื ืืืืฉืืง ืืืชื? ืคืืืช
CFM
ืืื
ืืืชื ืืคืฉืจื
ืฉืึถืฃ
Terraform
ืืืืื ืืฉืื ืืืื ืืคืจืืืงืืื ื-github ืขืืืจ 2018-2019:
ืืืืงืืื ืืขืืืช ืืืื ืืืืงื
ืืชืืืื ืื ืื ื
- ืฆืืจ VM ืืืงืืื.
- ืืื ืชืคืงืืืื Ansible.
- ืืคืขื ืืืืงื.
ืืืฉื 25-35 ืชืคืงืืืื ืื ืขืื 40-70 ืืงืืช, ืืื ืืื ืืจืื.
ืืฉืื ืืื ืืื ืืืขืืจ ืื'ื ืงืื ืก/ืืืงืจ/ืื ืกืืื/ืืืืงืืื. ืืืืืืืืืืืช ืืื ืืืชื ืืืจ
- ืกืคืจื ืืฉืืง ืืื.
- ืกืืจ ืืช ืืชืคืงืืืื.
- ืืฉืงืช ืืืื
- ืืื ืชืคืงืืืื Ansible.
- ืืคืขื ืืช testinfra.
- ืืืืง ืืืืคืืื ืฆืื.
ืืื ืขืืืจ 40 ืชืคืงืืืื ืืืืื ืื ืขืืืจ ืชืจืืกืจ ืืืื ืืงืืช ื-15 ืืงืืช.
ืื ืืืืืจ ืชืืื ืืืืจืืื ืจืืื, ืืื ืืขืจืืื ืฉืื ื ืขืฉื ืฉืืืืฉ, ืืืืืืืช ืืฆืืืช ืืื'. ืืื ืื ืืื ืืืืื ืืขืฆืื ืืืฆื ืืกืืืจ ืืช ืฉืืืช ืืืืงืช ืืืืืื
ืืืืงืืช IaC: ืืืื ื ืืื ืืืจืฆืื
ืืฉืื ืืื ืืคืืจืืืืช ืืืืงืืช ืืชืฉืชืืช ืืืื ืืืื ื ืืื ืืืจืฆืื. ืื ืืืืื ืืืืืงืืช ืืืืื:
- ืืชืฉืชืืช ืืืืืงืช ืืืื ืื ืงืื ืืช, ืืืฉื ืชืคืงืืื Ansible.
- ื ืคืจืกืช ืกืืืื ืืืฉืื, ืืื ืื ืื ืืืงืจ ืื VM.
- ืขืืืจ ืกืืืืช ืืืืงื ืื ืื ืจื ืชืคืงืืืื ืกืืืจืื.
- ืื ืื ื ืืืืงืื ืฉืืื ืขืื ืืคื ืฉืฆืืคืื ื (ืื ืื ื ืืืฆืขืื ืืืืงืืช).
- ืื ืื ื ืืืืืืื ืืกืืจ ืื ืื ืืกืืจ.
ืืืืคื ืืก, ืื ืื ื ืื ืืืืงืื ืืช ืืืืฆืืขืื ืฉื ืจืืื ืืืื ืฉื ืืืขืจืืช ืืื ืืืืืงืืช ืืืืื, ืื ืื ื ืืืืงืื ืืื ืืฉืจืช ืืืืืจ ืืืืืื.
ืืืืงืืช IaC: ืืืืงืืช ืืงืฆื ืืงืฆื
ืืจืืฉ ืืคืืจืืืื ืืงืืืื ืืช ืคื ืื ื ืืืื ื ืืงืฆื ืืงืฆื. ืึธืึตื. ืื ืื ื ืื ืืืืงืื ืืช ืืืืฆืืขืื ืฉื ืฉืจืช ื ืคืจื, ืกืงืจืืคื ื ืคืจื ืื ืืื ื ื ืคืจืืช ืฉื ืืชืฉืชืืช ืฉืื ื. ืื ื ืืืืงืื ืฉืฉืจืชืื ืจืืื ืืืืืจืื ืืื, ืืชืฉืชืืช ืฉืื ื ืคืืขืืช ืืคื ืฉืื ื ืืฆืคืื ืืื ื. ืืฆืขืจื, ืืขืืื ืื ืจืืืชื ืคืชืจืื ืืช ืืืื ืื ืืืจืืื, ืื ืจืื ืืืื... ืืชืฉืชืืช ืืื ืืจืื ืืืืืืืช ืืงืฉื ืืชืื ืืช ืืืืฆืืจ ืืกืืจืช ืืืืืงื. ืืชืืฆืื ืืื, ืื ืืื ืืืฆืจ ืืช ืืคืชืจืื ืืช ืฉืื. ืืฉ ืืืงืืฉ, ืืื ืืื ืชืฉืืื. ืืื, ืื ื ืืืื ืื ืื ืืฉ ืืื ืืืืืฃ ืืืจืื ืืืฉืืืข ืืืฉืืืช ืื ืืฉืคืฉืฃ ืืช ืืืฃ ืฉืื ืืขืืืื ืฉืืื ืืืืฆื ืืคื ืื ื ืืืื.
ืคืจืืืงื ืขื ืืืกืืืจืื ืขืฉืืจื. ืืื ืืฉืืฉ ืืืจืืื ืื ืืืืืื ืืื ืจืื ืฉืื ืืื ืืื ืืฆืืื ืืืชื ืืขืงืืคืื. ืืืคืืืงืฆืื ืชืืืืช ืืืจืื ืืกืื ื ืชืื ืื, ืืื ืืืจืฆืืืช ืืื'. ืืืขืช ืืื ืืชืฉืชืืช ืขืฉืืื ืืืืจืืืช ืื ืืจืื ืงืืฆื docker-compose, ืืืืขืช ืืืื ืืืืงืืช ืืืคืขืื ืืืืื ืกืืืื ืืื Jenkins.
ืชืืื ืืช ืื ืขืืื ืืืฉื ืืื ืจื ืืืื, ืขื ืืชืื ืืืกืืจืช
ืืจืขืืื ืืืืงืจื ืืจืืืง ืืืช, ืื-openshift ืื ืืฆืื ืืืจ ืืื ืืื APB (Ansible Playbook Bundle), ืืืืคืฉืจ ืืืจืื ืืืข ืืืฆื ืืคืจืืก ืชืฉืชืืช ืืชืื ืงืื ืืืื ืจ. ืึธืึตื. ืืฉื ื ื ืงืืืช ืืืข ืฉื ืืชื ืช ืืืืืงื ืขื ืืืคื ืคืจืืกืช ืืชืฉืชืืช.
ืื ืื ื ืฉืืข ืืื ืขื ืฉื ืชืงืื ื ืืชืฉืชืืช ืืืจืืื ืืช: ืืืื ื ืฆืจืืืื Windows ืืืืืงืืช. ืืชืืฆืื ืืื, ืืืืข ืฉื ืื, ืืืื, ืืืฆื ืืคืจืืก ืืืืืืง ื ืืฆื ืื'ื ืงืื ืก.
ืกืืืื
ืชืฉืชืืช ืืคื ืฉืืงืื ืืื
- ืงืื ืืืืืจ.
- ืืื ืืจืืงืฆืื ืื ืืฉืืช.
- ืืืืงืช ืชืฉืชืืช.
ืงืืฉืืจืื
ืืจืกื ืืื ืืืื ืคืืกื ืฆืืื ืืืืืื ืืืืฉื - ืจืืฆื ืืืฉื 2019-04-24
SpbLUG ืืืืื(RU) ื-DevopsConf 2019-05-28 ืืืืื(RU) ื-DINS DevOps EVENING 2019-06-20 ืืงืืื ืฉื ืืืื ืืืชืืืช ืืืขืื ื-300,000 ืฉืืจืืช ืฉื ืงืื ืชืฉืชืืช &ืืจืกืช ืืงืกื ืฉืืืื ืชืฉืชืืช ืืงืื ืืฆืื ืืจ ืืกืคืงื โโืจืฆืืฃ ืืืืงืช ืชืฉืชืืช ืืงืื ืคืืชืื ืืชืืืืงื ืืคืงืืืืืช ืฉื ืชืคืงืืื Ansible Ansible ืื ืื bash!
ืืงืืจ: www.habr.com