๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
ํ›„๊ธฐ

[๊ฐ•์˜ ํ›„๊ธฐ] ๊ธ€๋˜x์œ ๋ฐ๋ฏธ Docker & Kubernetes : ์‹ค์ „ ๊ฐ€์ด๋“œ ๊ฐ•์˜ ํ›„๊ธฐ (feat. Docker๊นŒ์ง€)

by kaizen_bh 2024. 3. 17.

 

 

 

ํ˜„์žฌ ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋Š” ๊ธ€๋˜์—์„œ ์œ ๋ฐ๋ฏธ์™€ ํ˜‘์ฐฌ์„ ์ง„ํ–‰ํ•˜์—ฌ ์ข‹์€ ๊ฐ•์˜๋“ค์„ ๋“ค์„ ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๋ฅผ ์–ป๊ฒŒ ๋˜์—ˆ๋‹ค.

๋‚ด๊ฐ€ ์„ ํƒํ•œ ๊ฐ•์˜๋Š” Docker & Kubernetes : ์‹ค์ „ ๊ฐ€์ด๋“œGit & Github ์‹ค๋ฌด ํ™œ์šฉ ์™„๋ฒฝ ๊ฐ€์ด๋“œ ๋‘ ๊ฐœ์ด๋‹ค.

์˜ค๋Š˜์€ ๋„์ปค ๊ฐ•์˜์— ๋Œ€ํ•œ ํ›„๊ธฐ๊ธ€์„ ์˜ฌ๋ฆฌ๊ณ  4์›” ์ค‘์œผ๋กœ ๊นƒ ๊ฐ•์˜์— ๋Œ€ํ•œ ํ›„๊ธฐ๊ธ€๋„ ์˜ฌ๋ผ๊ฐˆ ์˜ˆ์ •์ด๋‹ค.

 


 

ํ•ด๋‹น ๊ฐ•์˜๋ฅผ ์„ ํƒํ•œ ์ด์œ ์™€ ๋ชฉ์ 

 

๋งŽ์€ ์œ ๋ฐ๋ฏธ ๊ฐ•์˜๋“ค ์ค‘์—์„œ ๋„์ปค ๊ฐ•์˜๋ฅผ ์„ ํƒํ•œ ์ด์œ ๋กœ๋Š”

  1. ์‹ค์ œ ์—…๋ฌด์—์„œ๋Š” AI CCTV์— ์‚ฌ์šฉํ•  ๋ชจ๋ธ, ์—”์ง„ ์ ์šฉ๊ณผ ํŽŒ์›จ์–ด, ํ™˜๊ฒฝ ๊ตฌ์„ฑ์„ ๋„์ปค๋ฅผ ์ด์šฉํ•ด ์…‹ํŒ… ๋ฐ ๊ด€๋ฆฌํ•œ๋‹ค.
    ๋ณดํ†ต ์—ฃ์ง€ ๋””๋ฐ”์ด์Šค=๋ธŒ๋ฆฟ์ง€ ํ•˜๋‚˜์— ์—ฌ๋Ÿฌ ๋Œ€์˜ ์นด๋ฉ”๋ผ๋ฅผ ๋ฌผ๋ฆฌ๊ณ  ์นด๋ฉ”๋ผ ํ•˜๋‚˜๋‹น ์‹ค์‹œ๊ฐ„ ์˜์ƒ์„ RTSP๋ฅผ ํ†ตํ•ด ๋ฐ›์•„์™€์„œ ๋ธŒ๋ฆฟ์ง€์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์ด์šฉํ•ด ๋ชจ๋ธ ์ธํผ๋Ÿฐ์Šค๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค. ๋‚ด๊ฐ€ ๋งก์€ ์—…๋ฌด ๋ฒ”์œ„๋Š” ๋ชจ๋ธ ํ•™์Šต์ด๋‚˜ ํ™”์žฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ด€๋ จ, ๊ฐ€๋”์”ฉ ptํŒŒ์ผ์„ ์—”์ง„ ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•ด์„œ ์ „๋‹ฌํ•ด๋“œ๋ฆด ๋•Œ๋„ ์žˆ์ง€๋งŒ ๋„์ปค๋ฅผ ์ด์šฉํ•œ ๋ชจ๋ธ ๋ฐฐํฌ์™€ ์ ์šฉ๊นŒ์ง€ ์•Œ์•„๋‘๋ฉด ๋‚ด๊ฐ€ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋Š” ์—…๋ฌด์˜ ๋ฒ”์œ„๊ฐ€ ๋„“์–ด์ง€์ง€ ์•Š์„๊นŒ ์‹ถ์—ˆ๋‹ค.
    ++ ํ˜„์žฌ ํšŒ์‚ฌ์—์„œ ๋„์ปค๋ฅผ ์ด์šฉํ•ด ์—ฌ๋Ÿฌ ํ™˜๊ฒฝ ์…‹ํŒ…๊ณผ ์—…๋ฐ์ดํŠธ, ๋ฐฐํฌ๋ฅผ ๋งก๊ณ  ๊ณ„์‹  ๋Œ€๋ฆฌ๋‹˜๊ป˜ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์—ฌ์ญค๋ณด๊ณ  ๋ฐฐ์šฐ๊ณ  ์‹ถ์—ˆ์œผ๋‚˜ ์—ฐ์† ์™ธ๊ทผ ๋‹ค๋…€์˜ค๊ณ  ๋ฐ”๋กœ ์ด์ง์œผ๋กœ ์ถฉ๋ถ„ํ•œ ์‹œ๊ฐ„์„ ๊ฐ–์ง€ ๋ชปํ•œ ์ ์ด ์ •๋ง ์•„์‰ฝ๋‹ค. 

  2. ๋ชจ๋ธ ํ•™์Šต ๋“ฑ์— ์ฝ˜๋‹ค๋ฅผ ์ด์šฉํ•œ ๊ฐ€์ƒํ™˜๊ฒฝ ๊ตฌ์„ฑ ์™ธ์—๋„ ๋„์ปค๋ฅผ ์ด์šฉํ•œ ํ™˜๊ฒฝ ๊ตฌ์„ฑ, ๋ฐฐํฌ ๋“ฑ์„ ์‚ฌ์šฉํ•ด๋ณด๊ณ  ์‹ถ์—ˆ๋‹ค.
    ์ฃผ๋กœ ๋ชจ๋ธ ํ•™์Šต์„ ํ•  ๋•Œ ์•„๋‚˜์ฝ˜๋‹ค๋ฅผ ์ด์šฉํ•ด ๋กœ์ปฌ์—์„œ ๊ฐ๊ฐ์˜ ๊ฐ€์ƒํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•˜์—ฌ ์ง„ํ–‰ํ•˜์˜€์œผ๋‚˜ ๋Œ€๋ถ€๋ถ„์˜ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ๋ณด๋ฉด ๊ผญ ๋„์ปค๋ฅผ ์ด์šฉํ•œ ์…‹ํŒ… ๋ฐฉ๋ฒ•์ด ๋“ค์–ด์žˆ๋‹ค. ๋ฐฐํฌ๋ฉด์—์„œ ๋„์ปค๊ฐ€ ์ •๋ง ํŽธ๋ฆฌํ•˜๋‹ค๊ณ ๋Š” ๋“ค์—ˆ๋Š”๋ฐ ๋กœ์ปฌ์—์„œ ์ž‘์—…์„ ํ•  ๋•Œ ์ฝ˜๋‹ค์˜ ๊ฐ€์ƒํ™˜๊ฒฝ๊ณผ ๋„์ปค๋ฅผ ์ด์šฉํ•œ ๋ฐฉ๋ฒ•์—๋Š” ์–ด๋–ค ์ฐจ์ด๊ฐ€ ์žˆ์„๊นŒ๋ผ๋Š” ๊ถ๊ธˆํ•จ์ด ๋“ค์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹จ์ˆœํžˆ ๋ชจ๋ธ ํ•™์Šต๋งŒ ํ•˜๋Š”๊ฑธ ๋„˜์–ด ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์ปค๋ฅผ ํ†ตํ•ด ๋ฐฐํฌํ•  ์ค„ ์•Œ์•„์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๊ธฐ์— ์ด ๊ฐ•์˜๋ฅผ ์„ ํƒํ•˜์˜€๋‹ค.

 

๋‚ด๊ฐ€ ์ฃผ๋กœ ๊ถ๊ธˆํ–ˆ๋˜ ์ ์€ ๋„์ปค ํŒŒํŠธ์˜€๊ธฐ์— ํ˜„์žฌ ๋„์ปค ํŒŒํŠธ๊นŒ์ง€๋งŒ ์‹œ์ฒญํ•œ ์ƒํƒœ์ด๋ฉฐ ํ•ด๋‹น ๊ธ€์—์„œ๋Š” ๊ฐ•์˜์— ๋Œ€ํ•œ ํ›„๊ธฐ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ๊ณต๋ถ€ํ–ˆ๋˜ ๋‚ด์šฉ๋“ค์„ ๊ฐ™์ด ์ ์ง„ ์•Š์„ ๊ฒƒ์ด๋‹ค. ์ถ”ํ›„์— ๋„์ปค ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด ๋”ฅ๋Ÿฌ๋‹, ๋จธ์‹ ๋Ÿฌ๋‹๊ณผ ๋„์ปค์— ๋Œ€ํ•œ ๊ณต๋ถ€ ๋‚ด์šฉ์ด๋‚˜ ์•ž์œผ๋กœ ์‹ค๋ฌด์— ์‚ฌ์šฉํ•ด๋ณธ ๋’ค์˜ ๊ฒฝํ—˜๋‹ด ๋“ฑ์„ ์˜ฌ๋ ค๋ณด๋ ค ํ•œ๋‹ค. 

 

 

 


 

1. ๊ฐ•์˜ ๊ตฌ์„ฑ ๋ฐ ๋ชฉ์ฐจ

 

 

 

ํ•ด๋‹น ๊ฐ•์˜๋Š” 16๊ฐœ์˜ ์„น์…˜์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ ํ•ด๋‹น ๋ชฉ์ฐจ ๋‚ด์šฉ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

 

 


 

2. ๊ฐ•์˜๋ฅผ ํ†ตํ•ด ๋ฐฐ์šด ๋‚ด์šฉ๋“ค ๊ฐ„๋‹จ ์ •๋ฆฌ

 

  • ๊ฐ•์˜๋Š” ํฌ๊ฒŒ ๋„์ปค์™€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋‘ ํŒŒํŠธ๋กœ ๋‚˜๋ˆ ์ ธ์žˆ์œผ๋ฉฐ, ๋„์ปค ํŒŒํŠธ์—์„œ๋Š” ์ฃผ๋กœ ์›น ํŽ˜์ด์ง€๋ฅผ ์˜ˆ์ œ๋กœ ์‚ฌ์šฉํ•˜๋ฉฐ ๊ฐ•์˜๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค. ๋‚œ ๋น„์ „๊ณต์— ์ฒซ ์‹œ์ž‘๋„ ํŒŒ์ด์ฌ์ด์˜€๊ธฐ์— ์›น์— ๋Œ€ํ•œ ์ง€์‹์ด ์ „๋ฌดํ–ˆ์œผ๋‚˜ ๋ฐ˜๋ณต๋˜๋Š” ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด ์›น๊ณผ ๊ด€๋ จ๋œ ๋ถ€๋ถ„๋“ค์ด ์–ด๋–ป๊ฒŒ ๋Œ์•„๊ฐ€๊ณ  ๊ทธ ๊ณผ์ •์—์„œ ๋„์ปค๊ฐ€ ์‚ฌ์šฉ๋˜๋Š”์ง€ ๊ฐ„๋‹จํ•˜๊ฒŒ๋‚˜๋งˆ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.

  • ์œˆ๋„์šฐ์™€ ์šฐ๋ถ„ํˆฌ์—์„œ ๋„์ปค๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์…‹ํŒ…ํ•˜๋Š” ๊ฒƒ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ ๋„์ปค์˜ ๊ฐ„๋‹จํ•œ ๋ช…๋ น์–ด๋“ค๊ณผ ์ด๋ฏธ์ง€ ๋นŒ๋“œ, ์ปจํ…Œ์ด๋„ˆ ๊ด€๋ฆฌ์™€ ๋ณผ๋ฅจ๊ณผ ๋งˆ์šดํŠธ, ๋„คํŠธ์›Œํฌ ์„ค์ • ๋“ฑ๊ณผ ๊ฐ™์€ ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋Šฅ๋“ค์„ ํ•˜๋‚˜์”ฉ ๋ฐฐ์› ๋‹ค. 

  • ๊ฐ•์˜ ๋„์ค‘์— ์ •๋ง ์‹ ์„ธ๊ณ„๋‹ค ์‹ถ์—ˆ๋˜ ๋ถ€๋ถ„์€ ๋ฐ”๋กœ docker-compose. ๋งˆ์šดํŠธ์™€ ๋ณผ๋ฅจ์„ ํ†ตํ•ด ์ฝ”๋“œ์˜ ์‹ค์‹œ๊ฐ„ ์—…๋ฐ์ดํŠธ๋ฅผ ์ ์šฉํ•ด์คฌ๋‹ค๊ณค ํ•˜๋‚˜ ๊ทธ๋ž˜๋„ ์˜ˆ์ œ์—์„œ ๋ฐฑ, ํ”„๋ก ํŠธ, ๋””๋น„ ํŒŒํŠธ๋ณ„๋กœ ๊ฐ๊ฐ ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•ด์„œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋Œ๋ฆฌ๊ณ  IP์ฃผ์†Œ๋ฅผ ๋งž์ถฐ์„œ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์„ ํ•ด์คฌ๋˜ ๋ฒˆ๊ฑฐ๋กœ์šด ๊ณผ์ •๋“ค์„ yamlํŒŒ์ผ ํ•˜๋‚˜๋กœ ๋นŒ๋“œ ๋ฐ ๊ด€๋ฆฌํ•œ๋‹ค๋Š”๊ฑด ์ •๋ง ํšจ์œจ์ ์ด๊ณ  ํŽธ๋ฆฌํ–ˆ๋‹ค.

 

3. ๊ฐ•์˜ ์ดํ‰

  • ๋‚ด์šฉ๊ณผ ์„ค๋ช…์€ ์ „์ฒด์ ์œผ๋กœ ์ข‹์•˜๋‹ค. ๋„์ปค๋ฅผ ์•„์˜ˆ ์ฒ˜์Œ ์จ๋ณด๋Š” ์ž…์žฅ์—์„œ ๋ณด๊ธฐ์— ๋ฌด๋‚œํ•œ ์ •๋„. ๋‹ค๋งŒ ์˜ˆ์ œ๋กœ ๋…ธ๋“œ์™€ ๋ชฝ๊ณ ๋””๋น„ ๋“ฑ์„ ์‚ฌ์šฉํ•˜๊ธฐ์— ์›น์— ๋Œ€ํ•œ ์ „๋ฐ˜์ ์ธ ๊ธฐ๋ณธ ์ง€์‹์ด ์žˆ์œผ๋ฉด ์ง„๋„๋ฅผ ๋”ฐ๋ผ๊ฐ€๋Š”๋ฐ ๋” ์ˆ˜์›”ํ•  ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ•œ๋‹ค.
    ๋‚ด ๊ฒฝ์šฐ ๊ด€๋ จ ์ง€์‹์ด ์—†์–ด์„œ 10-20๋ถ„ ๊ฐ•์˜์—์„œ ๋‹จ์ˆœํžˆ ์˜ˆ์ œ๋ฅผ ๋Œ๋ฆฌ๋Š”๋ฐ๋„ ๊ฐ€๋”์”ฉ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ์‹ค์Šต์—์„œ๋งŒ 30๋ถ„, 1์‹œ๊ฐ„์”ฉ ๊ฑธ๋ ค ์ง„๋„๋ฅผ ๋‚˜๊ฐ€๋Š”๋ฐ ์ƒ๊ฐ๋ณด๋‹ค ์˜ค๋ž˜ ๊ฑธ๋ ธ๋‹ค.
  • ํ•œ๊ธ€ ์ž๋ง‰๋„ ์žˆ๊ณ  ๋ฒˆ์—ญ ํ€„๋ฆฌํ‹ฐ๋„ ๊ดœ์ฐฎ์•„์„œ ๋‚ด์šฉ์„ ์ดํ•ดํ•˜๋Š”๋ฐ ๋ถˆํŽธํ•จ์€ ์—†์—ˆ๋‹ค. ๋Œ€๋ณธ๋„ ๋ณผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ฐ•์˜๋ฅผ ๋ณด๋ฉฐ ์‹ค์Šต์„ ์ง„ํ–‰ํ•˜๊ณ  ๋‚˜์ค‘์— ๋Œ€๋ณธ๊ณผ ๋‚ด์šฉ๋“ค์„ ๋‹ค์‹œ ๋ณด๋ฉด์„œ ๋”ฐ๋กœ ์ •๋ฆฌํ•˜๊ธฐ๋„ ํ•˜์˜€๋‹ค.
  • ์›น์„œ๋น„์Šค๋ฅผ ์ฃผ ์˜ˆ์ œ๋กœ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ ๋”ฅ๋Ÿฌ๋‹๊ณผ ๊ด€๋ จํ•˜์—ฌ ๋„์ปค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ์–ด๋–ค ์‹์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„์ง€์— ๋Œ€ํ•œ ๊ฐ•์˜ ๋‚ด์šฉ๋„ ์žˆ์—ˆ์œผ๋ฉด - ํ•˜๋Š” ์•„์‰ฌ์›€์ด ์žˆ๋‹ค. ์ด ๋ถ€๋ถ„์€ ๋‚ด๊ฐ€ ์ง์ ‘ ํ•ด๋ณด๋ฉด์„œ ์ฑ„์›Œ์•ผํ•  ๋ถ€๋ถ„์œผ๋กœ ๋‚จ์•˜๋‹ค.
  • ์ฟ ๋ฒ„ํ‹ฐ๋„ค์Šค ํŒŒํŠธ๊นŒ์ง„ ์‹œ์ฒญํ•˜์ง€ ์•Š์•„ ์ •ํ™•ํžˆ ํ‰๊ฐ€ํ•  ์ˆ˜ ์—†๋‹ค. ๋‹ค๋ฅธ ๊ณต๋ถ€๋“ค๊ณผ ํ•ด์•ผํ•  ์ผ๋“ค์ด ๋งŽ๊ธฐ์— ๋„์ปค๊นŒ์ง€๋งŒ ์‹œ์ฒญํ–ˆ์ง€๋งŒ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํŒŒํŠธ๋„ ์™„๊ฐ• ํ›„์— ํ›„๊ธฐ๋ฅผ ์ข€ ๋” ์ถ”๊ฐ€ํ•ด๋ณด๊ฒ ๋‹ค.