์ด๋ฒ ์ธ๋ฏธ๋๋ฅผ ํตํด ์ฌ๋ฌ๋ถ์ด ansible์ ์ฑ๋ฅ ๋ฐ ๋๊ท๋ชจ ํธ์คํธ์ ๊ด๋ฆฌ ๋ฐฉ๋ฒ์ ๋ํ ์ง๋ฌธ์ ์ฃผ์
จ๋๋ฐ ์ ์ ansible ๊ฒฝํ์ด ๋ถ์กฑํ์ฌ ์ ํํ ๋ต๋ณ์ ๋๋ฆฌ์ง ๋ชปํ์์ต๋๋ค. ์์ญ๋ ์์ค์ด ์๋ ์์ฒ๋ ์๋ง๋๊ฐ ์ฌ๋ฌ ๊ณณ์ ๋ถ์ฐ๋์์ ๋ ์ด๋ป๊ฒ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋ ๊ณ ๋ฏผํ๊ฒ ๋์์ต๋๋ค. ๊ทธ๋์ ์๋ฃ๋ฅผ ์กฐ์ฌํ๋ค๊ฐ ์ข์ ์ฑ๋ฅ ๊ด๋ฆฌ ๊ธฐ๋ฒ์ ์ฐพ๊ฒ ๋์ด ์๊ฐํด๋๋ฆฌ๋ ค๊ณ ํฉ๋๋ค.
์๋ฌธ์ ์๋์ ๊ฐ์ต๋๋ค.
https://www.ansible.com/blog/ansible-performance-tuning
[์์ฝ]
1. ํจํค์ง ๋ฏธ๋ฌ์ฌ์ดํธ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๊ธฐย
- ์์ฒ๋์ ์๋ฒ๋ค์ด ์ธํฐ๋ท repository๋ฅผ ์ฌ์ฉํ๊ฒ ํ์ง๋ง๊ณ , ๊ทธ๋ฃน๋ณ ๋๋ ์ง์ญ๋ณ repository๋ฅผ ๊ตฌ์ฑํ์ฌ ์ฌ๊ธฐ์ ๋ค์ด๋ฐ๊ฒ ํ๋ ๊ฒ์
๋๋ค. ํนํ ๊ธฐ์
IDC์์์ ๊ฐ์ด ํ์๋ง์ ์ฌ์ฉํ ๋๋ ์ด๋ ๊ฒ local repository๋ฅผ ๋ง๋ค๊ณ ๋ชจ๋ repository๋ฅผ ๋๊ธฐํ ์์ผ ๋๋ ๊ฒ์ด ํจํค์ง ๋ค์ด๋ก๋ ์๊ฐ๊ณผ ๊ด๋ฆฌ๋ฉด์์ ์ข์ ๊ฒ์
๋๋ค.
2. ํจํค์ง ์ค์น๋ฅผ ํจ์จ์ ์ผ๋ก ํ๊ธฐ
- with_items ๋ฅผ ํ์ฉํด์ ํ๋์ ssh ์ธ์
์ผ๋ก ํจํค์ง๋ฅผ ์ค์นํ๊ฒ ํ๋ ๊ฒ์
๋๋ค. yum module์ ์ฌ๋ฌ๊ฐ ์ฌ์ฉํ ๋์ ํ๋์ yum module์ ์ฐ๋ ์ฐจ์ด์ ์ ์๋ ๋ช
๋ น์ ์ฐจ์ด์ ๊ฐ์ ๊ฒ์
๋๋ค.
<code>
โช#โyumโฌย install python python-doc #(ํ๋์ ์ธ์
์ฌ์ฉ)
or
#yum install python; yum install python-doc #(๋๊ฐ์ ์ธ์
์ฌ์ฉ)
</code>
3. Fork ์ ์๊ธฐ
- folk ํ๋ผ๋ฏธํฐ๋ ansible์ด ๋์์ ๋ช ๊ฐ์ host์ ์์
์ ์คํํ๋๊ฐ๋ฅผ ๊ฒฐ์ ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ์๋นํ ๋ณด์์ ์ผ๋ก ์ค์ ๋์ด ๊ฐ์ด "5"์ด๋ฉฐ 5๋์ ์๋ฒ์์๋ง ๋์์ ์คํ๋๊ณ ์ด ์์
์ด ๋๋์ผ ๋ค๋ฅธ ํธ์คํธ์์ ํด๋น ์์
๋ค์ด ์ํ๋๊ธฐ ๋๋ฌธ์ ์คํ์๊ฐ์ด ๋์ด๋๊ฒ ๋ฉ๋๋ค. ์ฆ, ansible์ด ๊ด๋ฆฌํ๋ ์๋ฒ๋ค์ด ์์ฒ๋๋ผ๊ณ ํ๋ฉด fork ๋ฅผ 100 ์ด์์ผ๋ก ๋๋ ค์ ์์
์๊ฐ์ ๋นจ๋ฆฌ ๋๋ด๊ฒ ํ ์ ์์ต๋๋ค. folk๋ ๋์์ ์์
์ด ์คํ๋ ํธ์คํธ์๋ผ๊ณ ์๊ฐํ๊ธฐ๋ฉด ๋ ๊ฒ์
๋๋ค.
4. openssh ์ฐ๊ฒฐ ํ
- ansible.cfg์์ "ControlPersist" ๊ฐ์ ๋๋ ค connection timeout๊ฐ์ ๋๋ ค์ฃผ๋ ๋ฐฉ๋ฒ.ย
- "pipelining" ์ค์ ์ ํตํด ansible module์ ํ์ผ ์ ์ก ์๋๋ฅผ ํฅ์ ์ํฌ ์ ์์
- ์ ๋ ๋ถ๋ถ์ ํ
์คํธ๊ฐ ํ์ํฉ๋๋ค.
5. ansible ์ ์ฉ ssh ํด๋ผ์ด์ธํธ(paramiko) ์ฌ์ฉํ๊ธฐ
- ๊ธฐ๋ณธ openSSH ํด๋ผ์ด์ธํธ๋ ์์
๋ง๋ค ์๋ก์ด ssh connection์ ๋งบ์ด์ ์์
์ ์ํํ๊ณ ๊ด๋ฆฌํธ์คํธ๊ฐ ๋ง์ ๊ฒฝ์ฐ์๋ ์ด ์๊ฐ๋ ์๋นํ ๋ง์ ์๊ฐ์ ์ก์๋จน์ต๋๋ค. ํ์ง๋ง "paramiko" ์ "accelerated mode"๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉด ๊ธฐ๋ณธ์ ๋นํด 4-5๋ฐฐ ์ฑ๋ฅํฅ์์ ๋ณผ ์ ์์ต๋๋ค.
6. Pull Mode ์ฌ์ฉ
- ๋ค๋ฅธ puppet์ด๋ chef ์ ๋ฌ๋ฆฌ ansible์ push ๋ฐฉ์์
๋๋ค.์ฆ ์ค์์๋ฒ์์ ๊ด๋ฆฌ๋๋ ํธ์คํธ๋ค๋ก ๋ช
๋ น์ ๋ฐ์ด๋ฃ๋ ๋ฐฉ์์
๋๋ค. ํ์ง๋ง pull ๋ชจ๋๋ฅผ ์ฌ์ฉํ๋ฉด ๊ด๋ฆฌ๋๋ ํธ์คํธ๋ค์์ ์ค์์๋ฒ์ ์ง์ ๋ช
๋ น์ ์์ฒญํ ์ ์๊ฒ ๋ฉ๋๋ค.
7. Immutable Systems
-ย โช#โ์ ํํโฌย ์๋๋ฐฉ์์ ์ ๊ฐ ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ ์๋ตํ๊ฒ ์ต๋๋ค. ์๋ฌธ์ ์ฐธ๊ณ ํ์๊ธฐ ๋ฐ๋๋๋ค.
--
์ด ๋ฉ์ผ์ Google ๊ทธ๋ฃน์ค 'sysadminstudy' ๊ทธ๋ฃน์ ๊ฐ์ ํ ๋ถ๋ค์๊ฒ ์ ์ก๋๋ ๋ฉ์์ง์ ๋๋ค.
์ด ๊ทธ๋ฃน์์ ํํดํ๊ณ ๋ ์ด์ ์ด๋ฉ์ผ์ ๋ฐ์ง ์์ผ๋ ค๋ฉด sysadminstud...@googlegroups.com์ ์ด๋ฉ์ผ์ ๋ณด๋ด์ธ์.
์ด ๊ทธ๋ฃน์ ๊ฒ์ํ๋ ค๋ฉด sysadm...@googlegroups.com์ ์ด๋ฉ์ผ์ ๋ณด๋ด์ธ์.
https://groups.google.com/group/sysadminstudy์์ ์ด ๊ทธ๋ฃน์ ๋ฐฉ๋ฌธํ์ธ์.
๋ ๋ง์ ์ต์ ์ ๋ณด๋ ค๋ฉด https://groups.google.com/d/optout์(๋ฅผ) ๋ฐฉ๋ฌธํ์ธ์.
Notable CCA tools include:
| Tool Name | Released by | Method | Approach |
|---|---|---|---|
| Ansible Tower | Ansible | Push | Declarative & Imperative |
| CFEngine | CFEngine | Pull | Declarative |
| Chef | Chef | Pull | Imperative |
| Otter | Inedo | Push | Declarative & Imperative |
| Puppet | Puppet | Pull | Declarative |
| SaltStack | SaltStack | Push | Declarative & Imperative |