์ „์ฒด ๊ธ€

์ „์ฒด ๊ธ€

    ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค(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 ..