ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๐Ÿค– AI Assisted Content
์ด ๊ธ€์€ AI(Claude, Anthropic)์˜ ๋„์›€์„ ๋ฐ›์•„ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
์ž‘์„ฑ์ž๊ฐ€ ๋‚ด์šฉ์„ ๊ฒ€ํ† ํ•˜๊ณ  ํŽธ์ง‘ํ–ˆ์œผ๋‚˜, AI๊ฐ€ ์ดˆ์•ˆ ์ž‘์„ฑ ๋ฐ ๊ตฌ์„ฑ์— ์ฐธ์—ฌํ–ˆ์Œ์„ ๋ฐํž™๋‹ˆ๋‹ค.

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์ปจํ…Œ์ด๋„ˆ ํŒŒ์ผ ์‹œ์Šคํ…œ, ๋ ˆ์ด์–ด ๊ตฌ์กฐ๋ถ€ํ„ฐ ๋ณผ๋ฅจ๊นŒ์ง€ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ธฐ

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

์ด ๊ธ€์—์„œ๋Š” ์ปจํ…Œ์ด๋„ˆ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ๋ ˆ์ด์–ด ๊ตฌ์กฐ, kubectl exec๋กœ ์ ‘๊ทผํ–ˆ์„ ๋•Œ ์‹ค์ œ๋กœ ๋ณด์ด๋Š” ๊ฒƒ, Copy-on-Write ๋ฉ”์ปค๋‹ˆ์ฆ˜, ๊ทธ๋ฆฌ๊ณ  ๋ณผ๋ฅจ์„ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์˜์†ํ™”๊นŒ์ง€ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์ปจํ…Œ์ด๋„ˆ ํŒŒ์ผ ์‹œ์Šคํ…œ์€ ์—ฌ๋Ÿฌ ๋ ˆ์ด์–ด์˜ ํ•ฉ์ด๋‹ค

ํŒŒ๋“œ ์† ์ปจํ…Œ์ด๋„ˆ์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ์€ ๋‹จ์ผ ๋””์Šคํฌ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ถœ์ฒ˜๋ฅผ ํ•ฉ์ณ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ตœ์†Œ ๊ตฌ์„ฑ ์š”์†Œ๋Š” ๋‹ค์Œ ์„ธ ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.

์šด์˜์ฒด์ œ ๋ ˆ์ด์–ด(Base Image)alpine, ubuntu, debian ๊ฐ™์€ ๋ฒ ์ด์Šค ์ด๋ฏธ์ง€๊ฐ€ ์ œ๊ณตํ•˜๋Š” OS ํŒŒ์ผ๋“ค์ž…๋‹ˆ๋‹ค. /bin, /etc, /usr ๋“ฑ์˜ ๊ธฐ๋ณธ ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ์—ฌ๊ธฐ์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ ˆ์ด์–ด๋Š” ์ฝ๊ธฐ ์ „์šฉ์ž…๋‹ˆ๋‹ค.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ ˆ์ด์–ด — Dockerfile์—์„œ COPY, RUN ๋“ฑ์œผ๋กœ ์ถ”๊ฐ€ํ•œ ์•ฑ ๋ฐ”์ด๋„ˆ๋ฆฌ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ์„ค์ • ํŒŒ์ผ์ด ๋‹ด๊ธด ๋ ˆ์ด์–ด์ž…๋‹ˆ๋‹ค. ์—ญ์‹œ ์ฝ๊ธฐ ์ „์šฉ์ž…๋‹ˆ๋‹ค.

๊ธฐ๋ก ๊ฐ€๋Šฅ ๋ ˆ์ด์–ด(Writable Layer) — ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹คํ–‰๋  ๋•Œ ์ด๋ฏธ์ง€ ๋ ˆ์ด์–ด๋“ค ์œ„์— ์ถ”๊ฐ€๋˜๋Š” ์ตœ์ƒ์œ„ ๋ ˆ์ด์–ด์ž…๋‹ˆ๋‹ค. ํŒŒ์ผ ์ƒ์„ฑ, ์ˆ˜์ •, ์‚ญ์ œ๊ฐ€ ๋ชจ๋‘ ์ด ๋ ˆ์ด์–ด์—์„œ ์ผ์–ด๋‚ฉ๋‹ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‚ญ์ œ๋˜๋ฉด ์ด ๋ ˆ์ด์–ด๋„ ํ•จ๊ป˜ ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

ํŒŒ๋“œ ์† ๊ฐ ์ปจํ…Œ์ด๋„ˆ๋Š” ์ด ๋ ˆ์ด์–ด ๊ตฌ์„ฑ์„ ๋…๋ฆฝ์ ์œผ๋กœ ๊ฐ–์Šต๋‹ˆ๋‹ค. Container A์™€ Container B๋Š” ์„œ๋กœ์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

kubectl exec๋กœ ๋ณด์ด๋Š” ๊ฒƒ์€ "ํ•ฉ์ณ์ง„" ํŒŒ์ผ ์‹œ์Šคํ…œ์ด๋‹ค

kubectl exec -it์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ์— ์ ‘๊ทผํ•˜๋ฉด ํ•˜๋‚˜์˜ ํ†ตํ•ฉ๋œ ํŒŒ์ผ ์‹œ์Šคํ…œ์ด ๋ณด์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ํ”ํžˆ ์˜คํ•ดํ•˜๋Š” ๋ถ€๋ถ„์ด ์žˆ์Šต๋‹ˆ๋‹ค. "๋ณด์ด๋Š” ํŒŒ์ผ๋“ค์€ ๊ธฐ๋ก ๊ฐ€๋Šฅ ๋ ˆ์ด์–ด์ธ๊ฐ€?"๋ผ๋Š” ์งˆ๋ฌธ์ธ๋ฐ, ๋‹ต์€ ์•„๋‹™๋‹ˆ๋‹ค.

kubectl exec -it my-pod -- ls /

์ด ๊ฒฐ๊ณผ์—์„œ /bin/sh๋Š” ์šด์˜์ฒด์ œ ๋ ˆ์ด์–ด์—์„œ ์˜จ ๊ฒƒ์ด๊ณ , /app/server.js๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ ˆ์ด์–ด์—์„œ ์˜จ ๊ฒƒ์ด๋ฉฐ, ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ ์ค‘ ์ƒ์„ฑํ•œ /tmp/log.txt๋Š” ๊ธฐ๋ก ๊ฐ€๋Šฅ ๋ ˆ์ด์–ด์— ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์‚ฌ์šฉ์ž ๋ˆˆ์—๋Š” ์ด ๊ตฌ๋ถ„์ด ์ „ํ˜€ ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด Union Filesystem(OverlayFS)์˜ ์—ญํ• ์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๋ ˆ์ด์–ด๋ฅผ ํˆฌ๋ช…ํ•˜๊ฒŒ ๊ฒน์ณ์„œ ํ•˜๋‚˜์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ์ฒ˜๋Ÿผ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์ด ๋ชฉ์ ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ ์•ˆ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—๋„, kubectl exec๋กœ ์ ‘๊ทผํ•˜๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ๋„ ๋™์ผํ•˜๊ฒŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ์–ด๋–ค ํŒŒ์ผ์ด ์–ด๋А ๋ ˆ์ด์–ด์—์„œ ์™”๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”? ์ปจํ…Œ์ด๋„ˆ ์•ˆ์—์„œ๋Š” ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ˜ธ์ŠคํŠธ ๋…ธ๋“œ์—์„œ๋Š” ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

# ๋…ธ๋“œ์—์„œ ์ปจํ…Œ์ด๋„ˆ ๋Ÿฐํƒ€์ž„์„ ํ†ตํ•ด ๋ ˆ์ด์–ด ๊ตฌ์กฐ ํ™•์ธ
docker inspect <container-id> --format '{{.GraphDriver.Data}}'

์ด ๋ช…๋ น์˜ ๊ฒฐ๊ณผ์—์„œ LowerDir์€ ์ฝ๊ธฐ ์ „์šฉ ์ด๋ฏธ์ง€ ๋ ˆ์ด์–ด๋“ค, UpperDir์€ ๊ธฐ๋ก ๊ฐ€๋Šฅ ๋ ˆ์ด์–ด, MergedDir์€ ํ•ฉ์ณ์ง„ ์ตœ์ข… ๋ทฐ์˜ ๊ฒฝ๋กœ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. kubectl exec๋กœ ๋ณด๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ์€ ๋ฐ”๋กœ ์ด MergedDir์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

Copy-on-Write — ์ฝ๊ธฐ ์ „์šฉ ํŒŒ์ผ๋„ "์ˆ˜์ • ๊ฐ€๋Šฅ"ํ•œ ์ด์œ 

์ฝ๊ธฐ ์ „์šฉ ๋ ˆ์ด์–ด์˜ ํŒŒ์ผ์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์—†๋А๋ƒ๊ณ  ํ•˜๋ฉด, ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ˆ˜์ •์€ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์›๋ณธ์„ ๋ฐ”๊พธ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ Copy-on-Write(CoW) ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.

์šด์˜์ฒด์ œ ๋ ˆ์ด์–ด์— ์žˆ๋Š” /etc/nginx/nginx.conf๋ฅผ ์ˆ˜์ •ํ•œ๋‹ค๊ณ  ํ•˜๋ฉด ์ด๋Ÿฐ ์ผ์ด ์ผ์–ด๋‚ฉ๋‹ˆ๋‹ค.

  1. OverlayFS๊ฐ€ ์ฝ๊ธฐ ์ „์šฉ ๋ ˆ์ด์–ด(LowerDir)์—์„œ ํ•ด๋‹น ํŒŒ์ผ์„ ๊ธฐ๋ก ๊ฐ€๋Šฅ ๋ ˆ์ด์–ด(UpperDir)๋กœ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค.
  2. ๊ธฐ๋ก ๊ฐ€๋Šฅ ๋ ˆ์ด์–ด์— ์ƒ๊ธด ์‚ฌ๋ณธ์„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.
  3. ์ดํ›„ ํ•ด๋‹น ํŒŒ์ผ์„ ์ฝ์„ ๋•Œ๋Š” ๊ธฐ๋ก ๊ฐ€๋Šฅ ๋ ˆ์ด์–ด์˜ ์‚ฌ๋ณธ์ด ์›๋ณธ์„ ๊ฐ€๋ ค์„œ(overlay) ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์›๋ณธ ์ด๋ฏธ์ง€ ๋ ˆ์ด์–ด์˜ ํŒŒ์ผ์€ ๊ทธ๋Œ€๋กœ ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ก ๊ฐ€๋Šฅ ๋ ˆ์ด์–ด์˜ ์ˆ˜์ •๋œ ์‚ฌ๋ณธ์ด ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋” ๋†’์•„์„œ ์›๋ณธ์„ ๋ฎ์–ด ๋ณด์ด๊ฒŒ ํ•  ๋ฟ์ž…๋‹ˆ๋‹ค.

์‚ญ์ œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ์ฝ๊ธฐ ์ „์šฉ ๋ ˆ์ด์–ด์˜ ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๋ฉด ์‹ค์ œ๋กœ ์›๋ณธ์ด ์ง€์›Œ์ง€๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ธฐ๋ก ๊ฐ€๋Šฅ ๋ ˆ์ด์–ด์— whiteout ํŒŒ์ผ์ด๋ผ๋Š” ํŠน์ˆ˜ ๋งˆ์ปค๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. OverlayFS๊ฐ€ ์ด ๋งˆ์ปค๋ฅผ ๋ณด๊ณ  "์‚ญ์ œ๋˜์—ˆ๋‹ค"๊ณ  ํŒ๋‹จํ•ด์„œ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ฃผ์ง€ ์•Š๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

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

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

ํŒŒ๋“œ ์žฌ์‹œ์ž‘ = ์ปจํ…Œ์ด๋„ˆ ์žฌ์‹œ์ž‘ = ๋ฐ์ดํ„ฐ ์œ ์‹ค

์—ฌ๊ธฐ์„œ ๊ธฐ์–ตํ•ด์•ผ ํ•  ๊ฒƒ์€ ๋‘ ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.

์ฒซ์งธ, ๊ธฐ๋ก ๊ฐ€๋Šฅ ๋ ˆ์ด์–ด์˜ ์ˆ˜๋ช…์€ ์ปจํ…Œ์ด๋„ˆ์˜ ์ˆ˜๋ช…์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ๋‘˜์งธ, ํŒŒ๋“œ์˜ ์žฌ์‹œ์ž‘์€ ๊ทธ ์•ˆ์— ๋“ค์–ด ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ์˜ ์žฌ์‹œ์ž‘์ž…๋‹ˆ๋‹ค.

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

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

๋ณผ๋ฅจ์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ํ™•์žฅํ•œ๋‹ค

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

ConfigMap / Secret — ์ฝ๊ธฐ ์ „์šฉ ์„ค์ • ๋งˆ์šดํŠธ

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค API ์„œ๋ฒ„์— ์ €์žฅ๋œ ์„ค์ • ๋ฐ์ดํ„ฐ๋ฅผ ์ปจํ…Œ์ด๋„ˆ์˜ ํŠน์ • ๊ฒฝ๋กœ์— ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ ๋งˆ์šดํŠธํ•ฉ๋‹ˆ๋‹ค. ํŒŒ๋“œ๊ฐ€ ์žฌ์‹œ์ž‘๋˜์–ด๋„ API ์„œ๋ฒ„์— ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚จ์•„ ์žˆ์œผ๋ฏ€๋กœ ๋‹ค์‹œ ๋งˆ์šดํŠธ๋ฉ๋‹ˆ๋‹ค.

PersistentVolume — ํŒŒ๋“œ์™€ ๋…๋ฆฝ์ ์ธ ์˜๊ตฌ ์Šคํ† ๋ฆฌ์ง€

NFS, AWS EBS, Azure Disk ๊ฐ™์€ ์™ธ๋ถ€ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ํŒŒ๋“œ์™€ ๋…๋ฆฝ์ ์ธ ์ˆ˜๋ช…์„ ๊ฐ€์ง€๊ธฐ ๋•Œ๋ฌธ์— ํŒŒ๋“œ๊ฐ€ ์‚ญ์ œ๋˜์–ด๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณด์กด๋ฉ๋‹ˆ๋‹ค. ์ฝ๊ธฐ/์“ฐ๊ธฐ ๋ชจ๋‘ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

EmptyDir — ํŒŒ๋“œ ์ˆ˜๋ช…์˜ ์ž„์‹œ ๋ณผ๋ฅจ

์ด๋ฆ„ ๊ทธ๋Œ€๋กœ ๋นˆ ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ณผ๋ฅจ์ž…๋‹ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ๋ ˆ์ด์–ด๋‚˜ ๊ธฐ๋ก ๊ฐ€๋Šฅ ๋ ˆ์ด์–ด์— ์†ํ•˜์ง€ ์•Š๊ณ , ํŒŒ๋“œ ์ˆ˜์ค€์—์„œ ๋ณ„๋„๋กœ ์ •์˜๋ฉ๋‹ˆ๋‹ค.

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

๋ฐ์ดํ„ฐ ์ˆ˜๋ช… ํ•œ๋ˆˆ์— ๋น„๊ต

์ปจํ…Œ์ด๋„ˆ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋กํ•  ๋•Œ, ์–ด๋””์— ์ €์žฅํ•˜๋А๋ƒ์— ๋”ฐ๋ผ ์ˆ˜๋ช…์ด ์™„์ „ํžˆ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

๊ธฐ๋ก ๊ฐ€๋Šฅ ๋ ˆ์ด์–ด  →  ์ปจํ…Œ์ด๋„ˆ ์ˆ˜๋ช…  →  ์ปจํ…Œ์ด๋„ˆ ์žฌ์‹œ์ž‘ ์‹œ ์œ ์‹ค
EmptyDir         →  ํŒŒ๋“œ ์ˆ˜๋ช…     →  ํŒŒ๋“œ ๋Œ€์ฒด ์‹œ ์œ ์‹ค (์ปจํ…Œ์ด๋„ˆ ์žฌ์‹œ์ž‘์—๋Š” ์œ ์ง€)
PersistentVolume →  ๋…๋ฆฝ ์ˆ˜๋ช…     →  ํŒŒ๋“œ ๋Œ€์ฒด์—๋„ ์œ ์ง€

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

๋งˆ๋ฌด๋ฆฌ

์ปจํ…Œ์ด๋„ˆ ํŒŒ์ผ ์‹œ์Šคํ…œ์€ ๊ฒ‰์œผ๋กœ๋Š” ํ•˜๋‚˜์˜ ๋””์Šคํฌ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ, ๋‚ด๋ถ€์ ์œผ๋กœ๋Š” ์ฝ๊ธฐ ์ „์šฉ ์ด๋ฏธ์ง€ ๋ ˆ์ด์–ด ์œ„์— ๊ธฐ๋ก ๊ฐ€๋Šฅ ๋ ˆ์ด์–ด๊ฐ€ ์–นํ˜€์ง„ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. Copy-on-Write ๋•๋ถ„์— ํŒŒ์ผ ์ˆ˜์ •์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ์ด ๋ ˆ์ด์–ด์˜ ์ˆ˜๋ช…์€ ์ปจํ…Œ์ด๋„ˆ์™€ ํ•จ๊ป˜ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๋ณด์กดํ•˜๋ ค๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ฑ๊ฒฉ์— ๋งž๋Š” ๋ณผ๋ฅจ(EmptyDir, PersistentVolume ๋“ฑ)์„ ์„ ํƒํ•˜์—ฌ ํŒŒ๋“œ๋ฅผ ์ •์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.


์ฐธ๊ณ  ๋ฌธ์„œ

๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
TAG
more
ยซ   2026/06   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
๊ธ€ ๋ณด๊ด€ํ•จ