์ ์ฒด ๊ธ
์ฟ ๋ฒ๋คํฐ์ค(kubernetes) ๊ธฐ์ด
1. ์ฟ ๋ฒ๋คํฐ์ค(kubernetes)๋? - ์ปจํ ์ด๋ ์ค์ผ์คํธ๋ ์ด์ ๋๊ตฌ๋ก ๊ตฌ๊ธ์์ ๊ฐ๋ฐํ ์คํ์์ค ํ๋ก์ ํธ ์ ๋๋ค. - auto scaling, auto healing ๊ธฐ๋ฅ ๋ฑ์ ์ด์ฉํด์ฌ ๊ฐ ์ปจํ ์ด๋๋ค์ด ์๋ฒ ์์์ ์ต๋ํ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋๋ก ํฉ๋๋ค. - ๋ฐฐํฌ, ์ ์ง๋ณด์, ๋ก๊น ๊ธฐ๋ฅ ๋ฑ์ ์ด์ฉํด์ ๊ด๋ฆฌ ์๋ํ๋ฅผ ๋์์ค๋๋ค. - ๋ค๋ฅธ ์ปจํ ์ด๋ ์ค์ผ์คํธ๋ ์ด์ ๋๊ตฌ๊ฐ ๋ง์์ง๋ง ํ์ฌ๋ ์ฟ ๋ฒ๋คํฐ์ค์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ฉฐ AWS, Azure ๋ฑ์์๋ ์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ์ค์นํ์ง ์๊ณ ์ฌ์ฉํ ์ ์๋ ์๋น์ค๋ค์ ์ ๊ณตํฉ๋๋ค. 2. vm์ ์ปจํ ์ด๋์(container) ์ฐจ์ด - vm์ ํ๋์ ์๋ฒ์์ os ์์ hypevisor(vmware, xen ๋ฑ)๋ฅผ ์ค์นํ๊ณ ๊ทธ ์์ guest os๋ฅผ ์ค์นํ ํ ์ฌ๋ผ๊ฐ๋ ๋จ์๋ก..
๋ฐฐํฌ ์ ๋ต
๋กค๋ง(rolling) ์ผ๋ฐ์ ์ธ ๋ฐฐํฌ๋ฅผ ์๋ฏธํ๋ฉฐ ๋จ์ํ๊ฒ ์๋ฒ๋ฅผ ๊ตฌ์ฑํ์ฌ ๋ฐฐํฌํ๋ ์ ๋ต ๊ตฌ๋ฒ์ ์์ ์ ๋ฒ์ ์ผ๋ก ํธ๋ํฝ์ ์ ์ง์ ์ผ๋ก ์ ํ ๋ฐฐํฌ ์ค ๋๋จธ์ง ์ธ์คํด์ค์ ํธ๋ํฝ์ด ๋ชฐ๋ฆฌ๊ธฐ ๋๋ฌธ์ ์๋ฒ ์ฒ๋ฆฌ ์ฉ๋์ ์ฌ์ ์ ๊ณ ๋ ค ํ์ ๋ธ๋ฃจ/๊ทธ๋ฆฐ(blue/green) ๋ ๋/๋ธ๋(red/black), A/B๋ก ๋ถ๋ฆฌ๊ธฐ๋ ํจ ๊ตฌ๋ฒ์ ์ ๋ธ๋ฃจ, ์ ๋ฒ์ ์ ๊ทธ๋ฆฐ ์ ๋ฒ์ ์ ๋ฐฐํฌํ๊ณ ์ผ์ ํ ๋ชจ๋ ์ฐ๊ฒฐ์ ์ ๋ฒ์ ์ผ๋ก ์ ํํ๋ ์ ๋ต ๋น ๋ฅธ ๋กค๋ฐฑ์ด ๊ฐ๋ฅํ๊ณ ์ด์ํ๊ฒฝ์ ์ํฅ์ ์ฃผ์ง ์์ผ๋ฉฐ ์ค์ ์๋น์ค ํ๊ฒฝ์ผ๋ก ์ ๋ฒ์ ํ ์คํธ ๊ฐ๋ฅ ์์์ด ๋๋ฐฐ๋ก ํ์ํ์ฌ ๋น์ฉ์ด ๋ง์ด ๋ฐ์ ์นด๋๋ฆฌ(canary) ์ํ์ ๋น ๋ฅด๊ฒ ๊ฐ์งํ ์ ์๋ ๋ฐฐํฌ ์ ๋ต LB๋ฅผ ํตํด์ ์ง์ ํ ์๋ฒ ๋๋ ํน์ ์ฌ์ฉ์์๊ฒ๋ง ๋ฐฐํฌํ๋ค๊ฐ ์ ์์ ์ด๋ฉด ์ ์ฒด ๋ฐฐํฌ ๊ฐ๋ฅ A/B ํ ์คํธ๊ฐ ๊ฐ๋ฅํ๋ฉฐ ์ฑ๋ฅ ..
YAML ๋ฌธ๋ฒ
YAML .yaml, .yml ํ์ฅ์ UTF-8 or UTF-16๊ณผ ๊ฐ์ด ์ถ๋ ฅ ๊ฐ๋ฅํ ์ ๋์ฝ๋ ๋ฌธ์์งํฉ์ ์ด์ฉ XML, JSON, YAML ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ํํํ๋ ํ์์ผ๋ก ํํ์ ๋ฌธ๋ฒ์ด ๋ค๋ฆ XML : HTML๊ณผ ๋น์ทํ๋ฉฐ ๊บฝ์ ()๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ์ด๋ฃจ๊ณ ์์ JSON : REST API์ ์ฌ์ฉ๋๋ฉฐ ์ต๊ทผ XML๋ณด๋ค ๋ง์ด ์ฌ์ฉ๊ณ ์์, ์ฃผ์์ ์ฌ์ฉํ ์ ์๋ค๋ ํน์ง์ด ์์ผ๋ฉฐ ๊ดํธ๋ฅผ ์ฌ์ฉ YAML : ์ฝ๊ธฐ ์ฝ๊ฒ ํํํ์์ผ๋ฉฐ ๊ณต๋ฐฑ ์์ฃผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ตฌ๋ถ YAML ๊ณต์ : https://yaml.org/ JSON to YAML : https://www.json2yaml.com/ YAML ๋ฌธ๋ฒ ์ฒดํฌ : http://www.yamllint.com/ ์ฃผ์(commnet) # ๋ก ํ์ ํ ์ค์ด ๋๋ ๋๊น์ง ์ ์ง #์ด..
๊ณ์ ๊ณผ su, sudo
๊ณ์ - root(#) : ์์คํ ๋ชจ๋ ๊ถํ์ ๊ฐ์ง super ์ฌ์ฉ์ - admin : ์ปดํจํฐ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ์ฌ์ฉ์๋ค(user๋ ๋ค๋ฅผ๊ฒ ์์ง๋ง user๋ ๊ตฌ๋ถํ๊ธฐ ์ํจ) - user : ์ผ๋ฐ ์ฌ์ฉ์๋ค ํ ์คํธ ํ๊ฒฝ > whoami #ํ์ฌ ๋ก๊ทธ์ธ ๊ณ์ eunhye > pwd #ํ์ฌ ๊ฒฝ๋ก /Users/eunhye > echo $hi #eunhye์ ์ ์ฉ๋ ํ๊ฒฝ ๋ณ์๋ก ์ฌ์ฉ ์ฌ๋ถ์ ๋ฐ๋ผ ํ์ฌ eunhye ํ๊ฒฝ์ธ์ง or ์๋์ง ํ์ธ ๊ฐ๋ฅ hello su(substitute user) [๊ณ์ ] - ๋ก๊ทธ์์ํ์ง ์๊ณ ๊ณ์ ์ ํ - ๋ณ๊ฒฝ๋ ๊ณ์ ์ ๋น๋ฐ๋ฒํธ ์๊ตฌ - ๊ณ์ ์ด ์๋ต๋ ๊ฒฝ์ฐ root๋ก ๋์ - ๊ธฐ์กด์ ๋ก๊ทธ์ธ๋ ๊ณ์ ํ๊ฒฝ์ผ๋ก shell ์คํ > su Password: sh-3.2# whoami root sh-..
/dev/null 2>&1
ํ์ค ์ถ๋ ฅ๊ณผ ํ์ค ์๋ฌ๋ฅผ ๋ชจ๋ ๋ฒ๋ฆฌ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๋ช ๋ น์ด๋ก ์ ์คํฌ๋ฆฝํธ์์ ์ฌ์ฉ > commnad > /dev/null 2>&1 ๋ฆฌ๋ ์ค์์ 0, 1, 2๋ ํ์ค ์ ๋ ฅ, ํ์ค ์ถ๋ ฅ, ํ์ค ์๋ฌ์ ์๋ฏธ๋ฅผ ๊ฐ์ง - 0 : ํ์ค ์ ๋ ฅ(stdin) - 1 : ํ์ค ์ถ๋ ฅ(stdout) - 2 : ํ์ค ์๋ฌ(stderr) ๊ทธ ์ค ์๋ ๊ตฌ๋ฌธ์ ํ์ค ์ถ๋ ฅ์ ๋ฒ๋ฆฌ๊ฒ ๋ค(/dev/null)๋ ์๋ฏธ > /dev/null (= 1> /dev/null) ๊ทธ ์ค ์๋ ๊ตฌ๋ฌธ์ ํ์ค ์๋ฌ๋ฅผ ํ์ค ์ถ๋ ฅ๊ณผ ๋์ผํ๊ฒ ์ฒ๋ฆฌํ๊ฒ ๋ค๋ ์๋ฏธ 2>&1 ๋ง์ฝ? ๋ฒ๋ฆฌ์ง ์๊ณ ๋ฐ๋ก log๋ก ๋จ๊ฒจ์ ๋ณด๊ณ ์ถ๋ค๋ฉด ์๋์ฒ๋ผ ๊ฒฝ๋ก๋ฅผ ์ง์ ํด์ฃผ๋ฉด ๋จ > command 1>stdout.log 2>stderr.log > ./test #command ์คํ ์ ํ์ค ์๋ฌ..
terraform ๋ฒ์ ๊ด๋ฆฌ : tfenv
1. ์ค์น ํ ๋ผํผ์ ๊ณ์ ๋ฒ์ ์ด ์ฌ๋ผ๊ฐ๊ณ ์๊ธฐ ๋๋ฌธ์ ๋ฒ์ ๊ด๋ฆฌ๊ฐ ํ์! ๋ฒ์ ์ ๊ด๋ฆฌํ๊ธฐ ์ํด tfenv๋ฅผ ์ฌ์ฉ > brew install tfenv 2. ์ฌ์ฉ ์ํ๋ terraform ๋ฒ์ ์ค์น > tfenv install [๋ฒ์ ] > tfenv install latest #์ต์ ๋ฒ์ ์ค์น ๊ฐ๋ฅํ ๋ฒ์ ๋ฆฌ์คํธ > tfenv list-remote 1.1.0-alpha20210922 1.1.0-alpha20210908 1.1.0-alpha20210811 1.1.0-alpha20210728 1.1.0-alpha20210714 1.1.0-alpha20210630 1.1.0-alpha20210616 1.0.8 1.0.7 1.0.6 1.0.5 1.0.4 1.0.3 1.0.2 1.0.1 1.0.0 0.15.5 0...
ssh key
1. ssh ์๊ฒฉ์ง์ ์๊ฒฉ ๊ณ์ ์ผ๋ก ์ ์ํ๋ ๋ช ๋ น์ด์ ๋๋ค. > ssh [OPTION][์๊ฒฉ ๊ณ์ ]@[์๊ฒฉ์ง] 2. ssh key ssh ์ ์ ์ key๋ฅผ ์ํด ์ฐธ์กฐ๋๋ ๋๋ ํ ๋ฆฌ์ ๋๋ค. ๋ชฉ์ ์ ๋ฐ๋ผ ๋ค๋ฅด์ง๋ง ์๋ฒ๋ ๊ณต๊ฐํค, ๊ฐ์ธ์ ๋น๊ณต๊ฐํค๋ฅผ ๊ฐ์ง๊ณ ์ํธํ ํต์ ์ ํฉ๋๋ค. > pwd ~/.ssh > ls -la total 8 drwx------ 3 eunhye staff 96 7 11 20:23 . drwxr-xr-x+ 31 eunhye staff 992 9 29 23:02 .. -rw-r--r-- 1 eunhye staff 404 10 1 11:10 config -rw-r--r-- 1 eunhye staff 3990 9 29 15:56 known_hosts known_hosts - ์ฐ๊ฒฐ๋ ํธ์คํธ์ key ..