DevOps/IaC ์๋ํ8 [Ansible] ํจํค์ง ์ ๋ณด ์ด์ฉํ๊ธฐ Package_facts ์ฌ์ฉ Package Facts Ansible์์๋ ๋ ธ๋์ ์ ๋ณด๋ฅผ ์์งํ๋ Fact๊ฐ ์์ต๋๋ค. gather_facts ํ๋์ ๊ฐ์ no๋ก ์ค์ ํด์ ํด๋น ์ ๋ณด๊ฐ ํ์์์ ๋, ์ฑ๋ฅ์ ๋์ด๊ธฐ ์ํด ์ฌ์ฉ๋๊ณ ์์ฃ . package์ ์ ๋ณด๋ฅผ ์ ๊ณตํด์ฃผ๋ fact๋ ansible์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. Ansible์ ์ฌ๋ฌ ์ฉ๋๋ก ์ฌ์ฉ์ด๋๋๋ฐ... ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ์ฉ๋๋ ํจ์น๋ฅผ ์๋ํํ๊ธฐ ์ํด ์ฌ์ฉ๋ ๊ฒ๋๋ค. ๊ทธ๋์ package์ ๋ํ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ package fact๋ฅผ ํจ์นํ๋๋ฐ ์ ์ฉํ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ฒ ๊ธ์์๋ Package Facts๋ฅผ ์ด์ฉํด์ ํจํค์ง๋ค์ ์ ๋ณด๋ฅผ ์์งํด์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค. ์๋น์ค์ ์ ํ๋ฆฌ์ผ์ด์ ๋ค์ด ๋ชจ๋ ํจํค์งํํ๋ก ๊ด๋ฆฌ๋๊ณ ์ ํ๋ฆฌ์ผ์ด์ ๋ค์ ๋์ฐ๋ ์๋ฒ๊ฐ .. 2021. 5. 25. [Ansible] Serial ๋ณ๋ ฌ์คํ ์ง์ ํ๊ธฐ Ansible Serial ์ต์ Ansible์ task ์คํ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ณ๋ ฌ๋ก ์ฒ๋ฆฌ๊ฐ ๋ฉ๋๋ค. ์ฆ, ์คํ์ด ํ์ํ ํธ์คํธ์ ๋์ ์คํ์ด ๋๋ ๊ฒ ์ ๋๋ค. task๋ฅผ ๋ณ๋ ฌ๋ก ์คํ๋์์ ๋... ๋ํ์ ์ผ๋ก ๋ฐ์ํ ์ ์๋ ๋ฌธ์ ๋ ์ค์๊ฐ์ผ๋ก ์๋น์ค๊ฐ ์๋ ์ ์๋ค๋ ์ ์ ๋๋ค. ์๋ฅผ ๋ค์ด 3๊ฐ์ ๋ ธ๋์์ HA ๊ตฌ์ฑ๋์ด ์คํ๋๊ณ ์๋ ์น์๋ฒ๊ฐ ์์ต๋๋ค. ์๋ก์ด feature๊ฐ ์ถ๊ฐ๋์ด ํจ์น๋ฅผ ํ๋ ค๊ณ ํ๋๋ฐ ansible๋ก ์งํํ๋ฉด ๋ณ๋ ฌ๋ก ํจ์น๋์ด ์ด๋ ํ ์๊ฐ์ ์๋น์ค๊ฐ ๋์ํ์ง ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ansible์์๋ serial ํ๋๋ก ํ๋ฒ์ task๊ฐ ์คํ๋๋ ๋ ธ๋์ ์๋ฅผ ์ง์ ํ ์ ์์ด rolling update๊ฐ ๊ฐ๋ฅํด์ง๋๋ค. --- - hosts: all gather.. 2021. 5. 23. [Ansible] gather_facts ์ฑ๋ฅํฅ์ ๋ฐฉ๋ฒ Ansible gather_facts ์ฑ๋ฅ ํฅ์ Ansible์์ default๋ก Node์ Fact ์ ๋ณด๋ฅผ ์์งํฉ๋๋ค. Fact๋ Anisible Node์ OS, Resource, IP ๋ฑ ํธ์คํธ์ ๋ค์ํ ์ ๋ณด๋ฅผ ๋ณ์๋ก ์ ์ฅํฉ๋๋ค. ์ด๋ฐํ Fact์ ์ ๋ณด๋ฅผ Provisioningํ๋ ๊ณผ์ ์์ ์ฌ์ฉํ์ง ์๋๋ค๋ฉด... ๋ ธ๋์ ์์ ๋น๋กํด์ ์ฑ๋ฅ์ด ์ ํ ๋ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด.... ๋จ์ํ๊ฒ ๋ชจ๋ ๋ ธ๋์ ํ์ผ์ ํ๋ ์์ฑํ๋๋ฐ ๊ตณ์ด Node์ ์ ๋ณด๋ค์ ์์งํ ํ์๊ฐ ์์ต๋๋ค. 3๋์ ๋ ธ๋์๋ง Provisioningํ๋ค๋ฉด ํฌ๊ฒ ๋ฌธ์ ๊ฐ ์๊ฒ ์ง๋ง... 100๋, 1000๋๊ฐ ๋์ด๊ฐ๋ ๋ ธ๋๋ค์ ๊ด๋ฆฌํ๋ค๋ฉด ์ฑ๋ฅ์ ๋ํ ์ฐจ์ด๋ฅผ ํ์ฐํ๊ฒ ๋๋ ์ ์์ ๊ฒ ์ ๋๋ค. --- - hosts: all # facts๋ฅผ ์.. 2021. 5. 23. [Puppet] ํผํซ ์คํ Resource, Class, Manifest, Node ์ฌ์ฉ๋ฒ Puppet ์คํ Puppet์ ์์ฒด์ ์ผ๋ก ์ ๊ณต๋๋ ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๋ค. ์์ฑํ ์คํฌ๋ฆฝํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ด๋ฆฌ๋๊ณ ์๋ Host์ ๋ช ๋ น์ ๋ด๋ฆฌ๊ณ ์ธํ๋ผ๋ฅผ ์ฝ๋ํํ์ฌ ๊ด๋ฆฌํ ์ ์๋ค. Puppet ์คํฌ๋ฆฝํธ๋ .pp ํ์ฅ์๋ฅผ ๊ฐ๊ณ Manifest ํ์ผ์ด๋ผ๊ณ ๋ ํ๋ค. ์ด๋ฒ ๊ธ์์๋ Puppet Script์์ ์ฌ์ฉ๋๋ Resource, Class, Manifest ๊ทธ๋ฆฌ๊ณ Node์ ๋ํ ๊ฐ๋ ์ ์์๋ณด๊ณ Nginx๋ฅผ ์ค์นํ๊ณ Nginx ํํ์ด์ง์ htmlํ์ผ์ ๋ฐ์์์ index๋ก ์ ์ํ๋ ์์ ๋ฅผ ์งํํด๋ณด๊ฒ ์ต๋๋ค. Puppet์ ๋ํ ๊ธฐ๋ณธ ๊ฐ๋ ์ด ํ์ํ๊ฑฐ๋ Puppet์ค์น๊ฐ ์๋์ด์์ผ๋ฉด ์ค์ตํ๊ฒฝ์ ์ํด ์๋ ๊ธ์ ํตํด ์ค์น๊ฐ๋ฅํฉ๋๋ค. [Puppet] ํผํซ ์๊ฐ ๋ฐ ์ค์น Puppet์ด๋? Puppet์.. 2021. 1. 11. [Puppet] ํผํซ ์๊ฐ ๋ฐ ์ค์น Puppet์ด๋? Puppet์ ruby๋ก ๋ง๋ค์ด์ง ์์คํ ๊ด๋ฆฌ ์๋ํ ํด์ด๋ค. ์ฃผ๋ก ์ค์ , ๊ด๋ฆฌ, ๋ฐฐํฌ, orchestrate์ ๊ฐ์ ์ผ์ ํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค. puppet์ ์ฌ์ฉํ๋ ์ด์ ๋ ๋ฐ๋ณต๋๋ ์ ๋ฌด๋ฅผ ์๋ํํ๊ธฐ ์ํจ์ด๋ค. ์๋ฅผ ๋ค์ด ํจํค์ง๋ฅผ 5๊ฐ์ ์๋ฒ์ ์ค์นํด์ผํ๋ค๊ณ ๊ฐ์ ํ๋ฉด... ์ค๋ ์๊ฐ์ด ๊ฑธ๋ฆฌ์ง ์์ ๋ฐ๋ณต๋๋ ์์ ์ ์ง์ ๋ถ์ด์ ํ ์ ์๋ค. ํ์ง๋ง, ๋ง์ฝ 100๊ฐ, 1000๊ฐ ์ด์์ ์๋ฒ์ ๊ฐ์ ์์ ์ ํด์ผํ๋ค๋ฉด? ์ง์ ํ๊ธฐ์๋ ์์๋๋ ๋น์ฉ์ด ๋๋ฌด ํฝ๋๋ค. ์ด๋ฌํ ์ด์ ๋ก ์ธํ๋ผ, ๋ฐ๋ธ์ต์ค ์์ง๋์ด๊ฐ ์กฐ์ง์ ์ ๋ฌด๋ฅผ ์๋ํํ๊ธฐ ์ํด ๋ง์ด ์ฌ์ฉํ๋ค. puppet ์ฃผ์ ํน์ง Master Agent Pull ๊ธฐ๋ฐ ์์คํ ๊ด๋ฆฌ ํด์ Pull๊ธฐ๋ฐ๊ณผ Push๊ธฐ๋ฐ์ผ๋ก ๋๋๋ค. Puppet์ Pull๊ธฐ.. 2021. 1. 10. [Vagrant] SSH ๊ณต๊ฐํค ์๋ ๋ฑ๋ก ํ๊ฒฝ ์ค์ , Ansible ์ฌ์ฉ ์ด๋ฒ ๊ธ์์๋ Vagrant๋ฅผ ์ด์ฉํด์ ansible์ ์ฌ์ฉํ ๋ ์ธ์ฆ ์์ ์ ์๋ตํ๊ธฐ ์ํด SSH ๊ณต๊ฐํค๋ฅผ ์๋์ผ๋ก ๋ฑ๋กํ๋ ์ค์ต๋๋ค. Vagrant๋ฅผ ์ด์ฉํด์ provisioningํ ๋ Ansible์ ๋ง์ด ์ฌ์ฉํ๊ฒ ๋ฉ๋๋ค. ๊ทธ๋ฐ๋ฐ ansible์ ssh๋ฅผ ํตํด ํต์ ํ๊ธฐ ๋๋ฌธ์ ansible hosts์ ์ง์ ๊ณ์ ์ ๋ณด๋ฅผ ๋ฑ๋กํด์ฃผ์ง ์๋ ์ด์ -k ์ต์ ์ ์ด์ฉํด์ผํ์ง๋ง... vagrant์์ ํ๊ฒฝ ์ธํ ์ ์ํด -k ์ต์ ์ ์ฌ์ฉํ ์ ์๋ค. ์ด๋ฐ ๋ถํธํจ์ ํด์ํ๊ธฐ ์ํด ๊ณต๊ฐํค๋ฅผ vagrant์์ ์ง์ ๋ฑ๋กํ์ฌ provisioning์ ํธํ๊ฒ ์งํํ ์ ์์ต๋๋ค. Vagrantfile # -*- mode: ruby -*- # vi: set ft=ruby : Vagrant_API_Version = "2" .. 2020. 12. 20. [Vagrant] ์ฌ์ฉ๋ฒ ๋ฐ CentOS Provisioning ๊ธฐ๋ณธ ๊ตฌ์ถ, Vagrant๋? Vagrant? Provisioning? Vagrant๋ Provisioning์ ์ํ ํด์ ๋๋ค. ๊ทธ๋ผ Provisioning์ด ๋ญ๊น์? ์ ๊ฐ ์ ์ํ๋ Provisioning์ ์์คํ ์ ๋ฏธ๋ฆฌ ์ฝ๋ํํ์ฌ ์ธ์ ๋ ์ง ์ฆ์ ์์คํ ์ ๊ตฌ์ฑํ ์ ์๋๋ก ํ๋ ๊ฒ ์ ๋๋ค. ์๋ฅผ ๋ค์ด Virtual box๋ฅผ ์ฌ์ฉํด์ ๊ฐ์๋จธ์ ์ ์์ฑํ๋๋ฐ ํ์ํ ๋ฉ๋ชจ๋ฆฌ, cpu, ๋คํธ์ํฌ๋ฅผ ์ ์ํ๊ณ ์์คํ ์ ํ์ํ ํจํค์ง๋ฅผ ์ค์น ํน์ ํ๊ฒฝ์ค์ ์ ๋ฏธ๋ฆฌ ์ฝ๋ํํ์ฌ ์๋ฒ๋ฅผ ์์ฑํ ์ค๋นํ ์ ์์ต๋๋ค. Vagrant๋ฅผ ์ฌ์ฉํ๋ฉด ์ฃผ๊ธฐ์ ์ผ๋ก ์๋ฒ๋ฅผ ๋ฐฐํฌํ๊ณ ์๋กญ๊ฒ ํ๊ฒฝ์ ์ ์ฉํ ํ์๊ฐ ์์ ๋ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋ ์ ์์ต๋๋ค. ๊ฐ๊ฐ ๋ค๋ฅธ ์๋น์ค์ ํ ์คํธํ๊ฒฝ์ ๊ตฌ์ถํ๊ฑฐ๋, ํ์ต์ด๋ ๋จ๊ธฐ์ ์ผ๋ก ์ฌ์ฉ์ ํ์ํ ์ ์์ต๋๋ค. Vagrant ์ค์น Vagran.. 2020. 12. 19. [Ansible] ์ค์น ๋ฐ ์ค์ต ํ๊ฒฝ ๊ตฌ์ถ, Ansible์ด๋? ์ ์ฌ์ฉํ๋ ๊ฒ์ธ๊ฐ? Ansible์ ๋ฌด์์ด๊ณ ์ ์ฌ์ฉํ๋ ๊ฒ์ธ๊ฐ? Ansible์ ๋ํ ๊ฒ์์ ํ์ จ๋ค๋ ๊ฒ์ ์๋ํ๋ DevOps๋ฅผ ์ด๋ฏธ Researching ํ์ ๊ฒ์ด๋ผ๊ณ ์๊ฐ๋ฉ๋๋ค. ์ฃผ๋ณ์์ Ansible, Puppet, Chef ํน์ Salt์ ๊ฐ์ ๋ฐฐํฌ ์๋ํ ๊ด๋ฆฌ ํด์ ๋ค์ด๋ณด์ จ์ํ ๋ฐ ๋๋์ฒด ์ด๋ค ๊ธฐ๋ฅ์ ํ ์ ์๊ณ ์ ์ฌ์ฉํ๋์ง์ ๋ํด์ ์์๋ณด๋๋ก ํฉ์๋ค. ์์คํ ์ ์ด๋ฃจ๊ธฐ ์ํด ์ฌ๋ฌ ์๋น์ค๊ฐ ๋ชจ์ฌ ํ๋์ ์์คํ ์ผ๋ก ์ด์์ด ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋ฐฐ๋ฌ์ฑ ์์คํ ์ ๊ตฌ์ฑํ๋๋ฐ ํ์ํ ์๋น์ค๋ค์ ๋์ดํด๋ณด๋ฉด... ๊ณ ๊ฐ ๋ฐ ๋ฐฐ๋ฌ์๋ค์ด ์ฑ์ ์ฌ์ฉํ๊ธฐ ์ํ ๋ก๊ทธ์ธ ์๋น์ค, ๊ณ ๊ฐ๋ค์ ์ฃผ๋ฌธ ์๋น์ค, ๋ฐฐ๋ฌ์๋ค์ด ๋ฐฐ๋ฌํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ์๋น์ค, ์ฃผ๋ฌธ ๊ฒฐ์ ์๋น์ค, DB ์๋น์ค ๋ฑ... ์ฌ๋ฌ๊ฐ์ ์๋น์ค๊ฐ ์ด์๋ฉ๋๋ค. ๊ทธ๋ฐ๋ฐ ๊ฐ๊ฐ ์๋น์ค๋ค์ .. 2020. 12. 6. ์ด์ 1 ๋ค์