CKA-8์ผ์ฐจ

YeJi Kimยท2023๋…„ 2์›” 22์ผ
0

CKA

๋ชฉ๋ก ๋ณด๊ธฐ
8/15

๐Ÿ“ CKA 8์ผ์ฐจ
๐Ÿ“ Udemy-Certified Kubernetes Administrator (CKA) with Practice Tests 94-104




95. Commands

๋„์ปค์—์„œ ์ปจํ…Œ์ด๋„ˆ๋Š” ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ด์•„์žˆ์–ด์•ผ Running ์ƒํƒœ๊ฐ€ ๋œ๋‹ค.
์ปจํ…Œ์ด๋„ˆ ์•ˆ์˜ ์›น ์„œ๋น„์Šค๊ฐ€ ๋ฉˆ์ถ”๊ฑฐ๋‚˜ ์ถฉ๋Œํ•˜๋ฉด ์ปจํ…Œ์ด๋„ˆ๋Š” ์ข…๋ฃŒ๋œ๋‹ค.

์ปจํ…Œ์ด๋„ˆ์—์„œ ์‹คํ–‰๋˜๋Š” ํ”„๋กœ์„ธ์Šค๋Š” Dockerfile์— ์˜ํ•ด ์ •์˜๋œ๋‹ค.
Dockerfile์˜ CMD๋Š” ์ปจํ…Œ์ด๋„ˆ ์•ˆ์—์„œ ์‹คํ–‰๋  ๋ช…๋ น์ด๋‹ค.

์ปจํ…Œ์ด๋„ˆ ์‹œ์ž‘ ๋ช…๋ น์„ ์–ด๋–ป๊ฒŒ ์ง€์ •ํ• ๊นŒ?

์ฒซ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์€ docker run ๋ช…๋ น์–ด์— COMMAND๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
๊ทธ๋Ÿผ ์ด๋ฏธ์ง€์— ์ง€์ •๋œ ๊ธฐ๋ณธ ๋ช…๋ น์„ ์žฌ์ •์˜ํ•œ๋‹ค.
docker run ubuntu sleep 5๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ž‘๋™ํ•  ๋•Œ sleep์„ 5์ดˆ ๋™์•ˆ ์‹คํ–‰ํ•˜๊ณ  ์ข…๋ฃŒ๋œ๋‹ค.

๋‘ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์€ CMD๋ฅผ ์ถ”๊ฐ€ํ•œ Dockerfile์„ ์ž‘์„ฑํ•ด์„œ ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
์ผ์‹œ์ ์œผ๋กœ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋Š” ์•ž์˜ ๋ฐฉ๋ฒ•๊ณผ ๋‹ค๋ฅด๊ฒŒ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์˜๊ตฌ์ ์œผ๋กœ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ช…๋ น์„ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์…ธ ์–‘์‹, JSON์ด ์žˆ๋‹ค.
JSON ๋ฐฐ์—ด ํฌ๋งท์—์„œ ๋ช…๋ น์„ ์ง€์ •ํ•  ๋•Œ ๋ฐฐ์—ด์˜ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๊ฐ€ ์‹คํ–‰ ๊ฐ€๋Šฅํ•ด์•ผ ํ•œ๋‹ค.
๋˜ํ•œ ๋ช…๋ น๊ณผ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ๋ณ„๋„๋กœ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค.

CMD๋Š” docker run ๋ช…๋ น์˜ [COMMAND] ์˜ต์…˜์— ๋”ฐ๋ผ CMD์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์™„์ „ํžˆ ๋ฐ”๋€๋‹ค.
๋ฐ˜๋ฉด์—, ENTRYPOINT์˜ ๊ฒฝ์šฐ ์ „๋‹ฌ๋ฐ›์€ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•ด์„œ ๋ช…๋ น์„ ์‹คํ–‰ํ•œ๋‹ค.
๋งŒ์•ฝ, ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ „๋‹ฌ ๋ฐ›์ง€ ๋ชปํ•˜๋ฉด 'sleep' ๋ช…๋ น์ด ์‹คํ–‰๋˜์–ด ๋ˆ„๋ฝ๋œ ๋ช…๋ น๋ฌธ์ด๋ผ๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ธฐ๋ณธ๊ฐ’์„ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•ด์„œ ENTRYPOINT์™€ CMD๋ฅผ ๋‘˜ ๋‹ค ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.
์ด ๊ฒฝ์šฐ, ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด ENTRYPOINT ๋ช…๋ น์–ด์— CMD ๋ช…๋ น์ด ์ถ”๊ฐ€๋œ๋‹ค.
๋งŒ์•ฝ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์ง€์ •๋˜์—ˆ์œผ๋ฉด CMD ๋ช…๋ น์€ ๋ฌดํšจํ™”๋œ๋‹ค.
์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ์—๋Š” ENTRYPOINT์™€ CMD๋ฅผ ํ•ญ์ƒ JSON ํฌ๋งท์œผ๋กœ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ ENTRYPOINT๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด '--entrypoint' ์˜ต์…˜์„ ์‚ฌ์šฉํ•ด ์žฌ์ •์˜ํ•˜๋ฉด ๋œ๋‹ค.




96. Commands and Arguments

๋„์ปค ์‹คํ–‰ ๋ช…๋ น์— ์ถ”๊ฐ€๋˜๋Š” ๋ชจ๋“  ๊ฒƒ์€ ํŒŒ๋“œ ์ •์˜ ํŒŒ์ผ์˜ args ์†์„ฑ์œผ๋กœ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค.
ํŒŒ๋“œ ์ •์˜ ํŒŒ์ผ์˜ args ์˜ต์…˜์„ ํ†ตํ•ด Dockerfile์˜ CMD๋ฅผ ์žฌ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

Dockerfile์˜ ENTRYPOINT๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ•œ๋‹ค๋ฉด ํŒŒ๋“œ ์ •์˜ ํŒŒ์ผ์˜ command ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

์ฆ‰, ํŒŒ๋“œ ์ •์˜ ํŒŒ์ผ์˜ command ์˜์—ญ์€ Dockerfile์˜ ENTRYPOINT ์˜์—ญ์„ ๋ฎ์–ด์“ฐ๊ณ 
args ์˜์—ญ์€ Dockerfile์˜ CMD ์˜์—ญ์„ ๋ฎ์–ด์“ด๋‹ค.




98. Solution - Commands and Arguments

ํŒŒ๋“œ ์ •์˜ ํŒŒ์ผ์—์„œ args์™€ command๋ฅผ ๋ช…์‹œํ•  ์ˆ˜ ์žˆ๋‹ค.

args์™€ command๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‘๊ฐ€์ง€
ํ˜•์‹์œผ๋กœ ๋ช…์‹œ๋œ๋‹ค.


์•„๋ž˜์˜ ๊ฒฝ์šฐ, '--color green'์ด ์ปจํ…Œ์ด๋„ˆ์—์„œ ์‹คํ–‰๋œ๋‹ค.


์•„๋ž˜์˜ ๊ฒฝ์šฐ, 'python app.py --color pink'๊ฐ€ ์ปจํ…Œ์ด๋„ˆ์—์„œ ์‹คํ–‰๋œ๋‹ค.


kubectl run ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ๋‹ค์Œ ์˜ต์…˜๋“ค์„ ์‚ฌ์šฉํ•ด์„œ args์™€ command๋ฅผ ๋„˜๊ฒจ์ค„ ์ˆ˜ ์žˆ๋‹ค.
kubectl ์˜ต์…˜๊ณผ ์ปจํ…Œ์ด๋„ˆ ์•ˆ์—์„œ ์‹คํ–‰๋˜๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์˜ต์…˜์„ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด '--'๊ฐ€ ์‚ฌ์šฉ๋œ๋‹ค.




99. Configure Environment Variables in Applications

ํŒŒ๋“œ ์ •์˜ ํŒŒ์ผ์—์„œ env ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ‚ค-๊ฐ’ ํฌ๋งท์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ์ด์™ธ์—๋„ ์ปจํ”ผ๊ทธ๋งต๊ณผ ์‹œํฌ๋ฆฟํ‚ค๋ฅผ ์‚ฌ์šฉํ•ด์„œ env๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.




100. Configuring ConfigMaps in Application

์ปจํ”ผ๊ทธ ๋งต์€ ์ค‘์•™์—์„œ ํ‚ค ๊ฐ’ ์Œ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ๋ฒˆ์— ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.
ํŒŒ๋“œ ์ •์˜ ํŒŒ์ผ์˜ env ํ•„๋“œ์— ์ปจํ”ผ๊ทธ๋งต์„ ์‚ฝ์ž…ํ•˜์—ฌ ์ปจํ”ผ๊ทธ๋งต์˜ ํ‚ค ๊ฐ’ ์Œ์ด ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค.

์ปจํ”ผ๊ทธ ๋งต ๊ตฌ์„ฑ์—๋Š” ๋‘ ๋‹จ๊ณ„๊ฐ€ ์žˆ๋‹ค.
1. Create ConfigMap
2. Inject into Pod

๋‹ค๋ฅธ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๊ฐœ์ฒด๋“ค๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ปจํ”ผ๊ทธ๋งต์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์€ ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.
๋ช…๋ น์ ์ธ ๋ฐฉ๋ฒ•์€ kubectl create configmap ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๊ณ 
์„ ์–ธ์ ์ธ ๋ฐฉ๋ฒ•์€ configmap ์ •์˜ ํŒŒ์ผ์„ ์ž‘์„ฑํ•˜๊ณ  kubectl create -f ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

kubectl create configmap ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ํ‚ค ๊ฐ’ ๋ฐ์ดํ„ฐ๋ฅผ ๋ช…์‹œํ•˜๊ธฐ ์œ„ํ•ด '--from-literal' ์˜ต์…˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ‚ค ๊ฐ’์„ ๋ช…์‹œํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” '--from-literal' ์˜ต์…˜์„ ์—ฌ๋Ÿฌ๋ฒˆ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.
'--from-file' ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์„์„ ํ†ตํ•ด ํ•„์š”ํ•œ ํ‚ค ๊ฐ’ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ๋ฒˆ์— ์ „๋‹ฌํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

configmap ์ •์˜ ํŒŒ์ผ์„ ํ†ตํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด configmap์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.


๋‹ค์–‘ํ•œ ๋ชฉ์ ์„ ์œ„ํ•ด ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ํ•„์š”ํ•œ๋งŒํผ configmap์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— configmap์— ์ด๋ฆ„์„ ์ ์ ˆํžˆ ๋ถ™์ด๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.


์ปจํ”ผ๊ทธ๋งต์„ ํ†ตํ•ด ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํŒŒ๋“œ ์ •์˜ ํŒŒ์ผ์˜ 'envFrom' ํ•„๋“œ์— ์ปจํ”ผ๊ทธ๋งต ์ด๋ฆ„์„ ๋ช…์‹œํ•˜๋ฉด ๋œ๋‹ค.


ํŒŒ๋“œ ์ •์˜ ํŒŒ์ผ์—์„œ configmap์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ๋‹ค์Œ ์„ธ ๊ฐ€์ง€์ด๋‹ค.
env, single env, volume์œผ๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.




102. Solution - Environment Variables

configmap์œผ๋กœ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ •ํ•˜๊ธฐ
โ—์ฃผ์˜ํ•  ์ ! ๋„์–ด์“ฐ๊ธฐ๋ฅผ ์ฃผ์˜ํ•˜์ž!!




103. Configure Secrets in Applications

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

Secret ์—ญ์‹œ ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

๋จผ์ € ๋ช…๋ น์ ์ธ ๋ฐฉ๋ฒ•์€ '--from-literal'์˜ต์…˜์„ ํ†ตํ•ด ํ‚ค ๊ฐ’ ์Œ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
๋น„๋ฐ€์ด ๋„ˆ๋ฌด ๋งŽ์œผ๋ฉด '--from-file' ์˜ต์…˜์„ ์ด์šฉํ•ด ํŒŒ์ผ๋กœ ํ‚ค ๊ฐ’ ์Œ์„ ํ•œ๋ฒˆ์— ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‹ค์Œ์œผ๋กœ ์„ ์–ธ์ ์ธ ๋ฐฉ๋ฒ•์—์„œ๋Š” ์‹œํฌ๋ฆฟ ์ •์˜ ํŒŒ์ผ์„ ๋จผ์ € ์ž‘์„ฑํ•˜๊ณ  kubectl apply -f ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์‹œํฌ๋ฆฟ์„ ์ƒ์„ฑํ•œ๋‹ค.
์—ฌ๊ธฐ์„œ ์ฃผ์˜ํ•  ์ ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ธ์ฝ”๋”ฉ๋œ ํฌ๋งท์œผ๋กœ ์ €์žฅํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

์ผ๋ฐ˜ ํ˜•์‹์—์„œ ์ธ์ฝ”๋”ฉ ๋œ ํ˜•์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋œ๋‹ค.

Secret์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ ๋ช…๋ น์–ด๋“ค์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
Secret์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” kubectl get secret ์‹œํฌ๋ฆฟ๋ช… -o yaml ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

์ธ์ฝ”๋”ฉ๋œ ๊ฐ’์„ ํ•ด๋…ํ•˜๊ธฐ ์œ„ํ•ด์„œ '--decode' ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.


ํŒŒ๋“œ์˜ env๋กœ ์‹œํฌ๋ฆฟ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ํŒŒ๋“œ ์ •์˜ ํŒŒ์ผ์— ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์‚ฝ์ž…ํ•˜๋ ค๋ฉด envFrom์ด๋ผ๋Š” ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.


ํŒŒ๋“œ์— ์‹œํฌ๋ฆฟ์„ ์ฃผ์ž…ํ•˜๋Š” ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•๋„ ์žˆ๋‹ค.
๋‹จ์ผ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋กœ ๋„ฃ์„ ์ˆ˜ ์žˆ๊ณ  ๋ณผ๋ฅจ์œผ๋กœ ๋„ฃ์„ ์ˆ˜๋„ ์žˆ๋‹ค.

ํŒŒ๋“œ์˜ ๋ณผ๋ฅจ์œผ๋กœ ์‹œํฌ๋ฆฟ์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ, ์‹œํฌ๋ฆฟ์˜ ๊ฐ๊ฐ์˜ ํŠน์„ฑ์€ ํŒŒ์ผ๋กœ ์ƒ์„ฑ๋œ๋‹ค.
ํŒŒ์ผ์—๋Š” ์•”ํ˜ธ ๊ฐ’์ด ๋‹ด๊ฒจ ์žˆ๋‹ค.
์ด ๊ฒฝ์šฐ์—๋Š” 3๊ฐœ์˜ ์•”ํ˜ธ๊ฐ€ 3๊ฐœ์˜ ํŒŒ์ผ์— ๋‹ด๊ฒจ ์žˆ๋‹ค.


Secret์„ ๋‹ค๋ฃฐ ๋•Œ๋Š” ์ฃผ์˜ํ•  ์ ์ด ์žˆ๋‹ค.
์šฐ์„ , Secret์€ ์•”ํ˜ธํ™”๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค. ๊ทธ๋ž˜์„œ ๋ˆ„๊ตฌ๋“  Secret ์ •์˜ ํŒŒ์ผ์„ ๋ณผ ์ˆ˜ ์žˆ๊ณ  Secret ๊ฐœ์ฒด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ธฐ๋ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
๋”ฐ๋ผ์„œ ์ฃผ์˜ํ•ด์•ผ ํ•˜๋ฉฐ RBAC(Role Based Access Control, ์—ญํ•  ๊ธฐ๋ฐ˜ ์ ‘๊ทผ ์ œ์–ด)๋‚˜ ์ œ 3์ž์˜ ์•”ํ˜ธ ๊ณต๊ธ‰์ž๋ฅผ ๊ณ ๋ คํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.




104. A note about Secrets

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

๋˜ํ•œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” Secret์„ ์•ˆ์ „ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด

  • Secret์€ ํ•ด๋‹น ๋…ธ๋“œ์˜ ํŒŒ๋“œ์— ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋งŒ ๋…ธ๋“œ๋กœ ์ „์†ก๋œ๋‹ค.
  • kubelet์€ Secret์ด ๋””์Šคํฌ ์ €์žฅ์†Œ์— ๊ธฐ๋ก๋˜์ง€ ์•Š๋„๋ก Secret์„ tmpfs์— ์ €์žฅํ•œ๋‹ค.
  • Secret์— ์˜์กดํ•˜๋Š” Pod๊ฐ€ ์‚ญ์ œ๋˜๋ฉด kubelet์€ Secret ๋ฐ์ดํ„ฐ์˜ ๋กœ์ปฌ ๋ณต์‚ฌ๋ณธ๋„ ์‚ญ์ œํ•œ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ Helm Secrets, HashiCorp Valut์™€ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด Kubernetes์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ์™€ ๊ฐ™์€ ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋‹ค๋ฅธ ๋” ์ข‹์€ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.

profile
์ด์ „์˜ ๊ธฐ๋ก๋“ค ๐Ÿ‘‰ https://blog.naver.com/reviewerkyj

0๊ฐœ์˜ ๋Œ“๊ธ€