๋กœ์ผ“๐Ÿพ
article thumbnail
๋ฐ˜์‘ํ˜•

 

 

 

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ ์‹คํ–‰ ์ค‘์ธ ํŒŒ๋“œ์˜ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜๋ ค๋ฉด kubectl exec -it pod -- ... ๋ฅผ ํ†ตํ•ด ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

 

๋งŒ์•ฝ nginx ๋ฅผ ์‹คํ–‰ ์ค‘์ธ ํŒŒ๋“œ๊ฐ€ ์žˆ๊ณ , nginx ์˜ index.html ์„ ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, ์•„๋ž˜์™€ ๊ฐ™์ด ์ง„ํ–‰์„ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

# pod ๋ผ๋Š” ์ด๋ฆ„์„ ๊ฐ€์ง„ ํŒŒ๋“œ๋ฅผ nginx ์ด๋ฏธ์ง€๋ฅผ ์ด์šฉํ•ด์„œ ์ƒ์„ฑ
kubectl run pod --image nginx

# bash ๋ฅผ ํ†ตํ•ด ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€ ์ ‘์†
kubectl exec -it pod -- bash

# index.html ์„ ๊ฒ€์ƒ‰
find ./ -type f -iname "*.html"

# ์œ„์น˜๋ฅผ ์ฐพ์€ ํ›„ vim ์„ ํ†ตํ•ด ์ˆ˜์ •
vim ./usr/share/nginx/html/index.html

 

index.html ์— I'm kingbj0429 ๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ์—ˆ๊ณ , ํ•ด๋‹น ํŒŒ๋“œ ๋‚ด์—์„œ nginx ์— ์ ‘๊ทผํ•œ ๊ฒฐ๊ณผ ์„ฑ๊ณต์ ์œผ๋กœ ๋ฐ”๋€ ๊ฑธ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Welcome to nginx! I'm kingbj0429

 

๊ทธ๋Ÿฐ๋ฐ ํŒŒ๋“œ ๋‚ด๋ถ€์— ์ง์ ‘ ์ ‘๊ทผํ•˜์ง€ ์•Š์•„๋„(kubectl exec -it) index.html ๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์‹ค์„ ์•Œ๊ณ  ๊ณ„์‹ ๊ฐ€์š”?

 

๊ทธ๋Ÿผ ์–ด๋–ป๊ฒŒ ๊ทธ๊ฒŒ ๊ฐ€๋Šฅํ•œ์ง€ ๋ฐ”๋กœ ์•Œ์•„๋ณด์ฃ !

 

๋ ›์ธ ๋‘๋”์ฝ”๋“œ~

 

 

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ ๋…ธ๋“œ๋Š” ํฌ๊ฒŒ 2๊ฐ€์ง€๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ํ†ตํ•ฉ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ(์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ) ์™€ ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ ๋‚ด์— ์žˆ๋Š” API Server ๋ฅผ ํ†ตํ•ด ์‹ค์งˆ์ ์œผ๋กœ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋ฆฌ์†Œ์Šค๋ฅผ ์‹คํ–‰์‹œ์ผœ์ฃผ๋Š” ์—ญํ• ์˜ ์›Œ์ปค ๋…ธ๋“œ(๋ฐ์ดํ„ฐ ํ”Œ๋ ˆ์ธ) ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ๋ผ๊ณ  ํ•ด์„œ ๊ทธ ์œ„์— ํŒŒ๋“œ๋ฅผ ์‹คํ–‰์‹œํ‚ค์ง€ ๋ชปํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ๋‹ค๋งŒ ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ์—๋Š” node-role.kubernetes.io/control-plane ๋ผ๋Š” Taint key ๋ฅผ ๊ฐ€์ ธ์„œ ๋ฐฐํฌ๊ฐ€ ์•ˆ๋˜๋Š” ๊ฒƒ์ผ๋ฟ Toleration ์„ ํ†ตํ•ด ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ์—๋„ ํŒŒ๋“œ๋ฅผ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ, ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ์— ํŒŒ๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฑด ๊ถŒ์žฅ๋˜๋Š” ๋ฐฉ๋ฒ•์€ ์•„๋‹™๋‹ˆ๋‹ค.

๋งˆ์Šคํ„ฐ ๋…ธ๋“œ์˜ Taint

 

๊ทธ๋ฆฌ๊ณ  ์ผ๋ฐ˜์ ์ธ ํŒŒ๋“œ๋ฅผ ๋ชจ๋‘ ์›Œ์ปค ๋…ธ๋“œ ์œ„์—์„œ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. 
crictl ps ๋ช…๋ น์–ด๋ฅผ ๋‚ ๋ ค์ฃผ๋ฉด ์–ด๋–ค ํŒŒ๋“œ๊ฐ€ ์‹คํ–‰ ์ค‘์ธ์ง€ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ์ด๋ฏธ์ง€๋ฅผ ๋ณด์‹œ๋ฉด ์•„๊นŒ ์ƒ์„ฑํ•œ nginx ์ด๋ฏธ์ง€ ๊ธฐ๋ฐ˜์˜ pod ๋˜ํ•œ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์›Œ์ปค ๋…ธ๋“œ ์œ„ ํŒŒ๋“œ๋“ค

 

์šฐ๋ฆฌ๋Š” ์—ฌ๊ธฐ์„œ ํ•˜๋‚˜ ํžŒํŠธ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

"์•„ ~ ๊ฒฐ๊ตญ ํŒŒ๋“œ๋„ ํŒŒ๋“œ๋ฅผ ์‹คํ–‰์‹œ์ผœ์ฃผ๋Š” ๋…ธ๋“œ๊ฐ€ ์žˆ๊ณ , ์‹ค์งˆ์ ์ธ ๋ฐ์ดํ„ฐ๋Š” ๊ทธ ๋…ธ๋“œ ์œ„์— ์ „๋ถ€ ์กด์žฌํ•˜๊ฒ ๊ตฌ๋‚˜!"

 

ํŒŒ๋“œ ๋˜ํ•œ ์„œ๋ฒ„ ์•ˆ์—์„œ ํ”„๋กœ์„ธ์Šค๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ PID ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•œ๋ฒˆ pod ์˜ PID ๋ฅผ ํ™•์ธํ•ด๋ณด์ฃ .

crictl inspect ๋’ค์— ๋‚œ์ˆ˜๋Š” ์ปจํ…Œ์ด๋„ˆ id

 

systemctl | grep 27a84c12f53c8 ๊ณผ journalctl | grep 27a84c12f53c8 ๋ฅผ ํ†ตํ•ด์„œ๋„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

ํ”„๋กœ์„ธ์Šค ๋ผ๋Š” ๊ฒƒ์€ ์ฆ‰์Šจ, /proc/<pid> ์— nginx ํŒŒ๋“œ ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•ด๋‹น ๊ฒฝ๋กœ๋กœ ์ด๋™ํ•ด๋ณด๋ฉด ์‹ค์ œ๋กœ ํŒŒ๋“œ ๊ด€๋ จ๋œ ๋ชจ๋“  ํŒŒ์ผ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

cd /proc/30221

 

์‚ฌ์‹ค ์›Œ์ปค ๋…ธ๋“œ์˜ ๊ด€๋ฆฌ์ž๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด, ์œ„ ์ด๋ฏธ์ง€์ฒ˜๋Ÿผ ํ”„๋กœ์„ธ์Šค์— ์ ‘๊ทผ์„ ํ•˜๊ฒŒ ํ•˜๋ฉด ์•ˆ๋ฉ๋‹ˆ๋‹ค. 

ํ•œ๊ฐ€์ง€ ์˜ˆ๋ฅผ ๋“ค๋ฉด, ์œ„ ์ด๋ฏธ์ง€์— fd ๋ผ๋Š” ํด๋”๊ฐ€ ์žˆ๋Š”๋ฐ ํ•ด๋‹น fd ์— ์ ‘๊ทผํ•˜๋ฉด ํŒŒ๋“œ ๋‚ด์—์„œ ์‚ฌ์šฉ ์ค‘์ธ ์‹œํฌ๋ฆฟ ๊ฐ’์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  etcd ์•”ํ˜ธํ™”๋ฅผ ํ•˜๋ฉด ์‹œํฌ๋ฆฟ์ด ์•”ํ˜ธํ™” ๋˜์„œ ์•Œ์•„๋‚ผ ์ˆœ ์—†์ง€๋งŒ, ์›Œ์ปค ๋…ธ๋“œ์— ์ ‘๊ทผํ•œ๋‹ค๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋„ ์œ„ํ—˜ํ•œ ์š”์†Œ๋“ค์ด ๊ฝค ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

fd ์— ์ ‘๊ทผํ•ด์„œ ์‹œํฌ๋ฆฟ ์„ ์•Œ์•„๋‚ด๋Š” ๋ฐฉ๋ฒ•๊ณผ etcd ์•”ํ˜ธํ™” ์— ๋Œ€ํ•ด์„œ ๋‚˜์ค‘์— ์•Œ์•„๋ณด๋„๋ก ํ•˜์ฃ !

 

๋‹ค์‹œ ๋ณธ๋ก ์œผ๋กœ ๋“ค์–ด์™€ ์šฐ๋ฆฌ๊ฐ€ ํ–ฅํ•  ๊ณณ์€ root ๋ผ๋Š” ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๊ฐ€ ๊ฑธ๋ฆฐ ๊ณณ์ž…๋‹ˆ๋‹ค.

์•„๋ž˜ ์ด๋ฏธ์ง€์—์„œ ๋ณด์ด๋Š” ํŒŒ์ผ์„ ์‹ค์ œ๋กœ ์šฐ๋ฆฌ๊ฐ€ kubectl exec -it pod -- ls -l ํ–ˆ์„ ๋•Œ์™€ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ’์ž…๋‹ˆ๋‹ค.

/proc/30221
kubectl exec -it pod -- ls -l

 

/proc/30221 ์—์„œ index.html ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด ๊ฐ’์„ ์ˆ˜์ •ํ•˜๋ฉด kubectl exec -it ๋ฅผ ํ†ตํ•ด ์ˆ˜์ •ํ–ˆ์„ ๋•Œ์™€ ์™„์ „ํžˆ ๊ฐ™์€ ํ–‰์œ„๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

ํ•œ๊ฐ€์ง€ ์—ฌ๋‹ด์œผ๋กœ ์›Œ์ปค ๋…ธ๋“œ์—์„œ df -h ๋ฅผ ํ•˜๋ฉด ์‹ค์ œ๋กœ ์ปจํ…Œ์ด๋„ˆ๋“ค๊ณผ ๋งˆ์šดํŠธ ๋œ ๊ฑธ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฆ‰, ์ปจํ…Œ์ด๋„ˆ๋„ ๊ฒฐ๊ตญ ๋…ธ๋“œ์— ๋งˆ์šดํŠธ ๋œ๋‹ค๋Š” ๊ฒƒ์ด์ฃ .

 

์˜ค๋Š˜์€ kubectl exec -it ์—†์ด๋„ ๋…ธ๋“œ ์ž์ฒด์—์„œ๋„ ํŒŒ๋“œ์˜ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค.

๋”๋ถˆ์–ด ์›Œ์ปค ๋…ธ๋“œ์˜ ๋ณด์•ˆ์ด ์–ผ๋งˆ๋‚˜ ์ค‘์š”ํ•œ์ง€ ์•Œ ์ˆ˜ ์žˆ์—ˆ์ฃ . 

 

๊ทธ๋Ÿผ ์˜ค๋Š˜์€ ์—ฌ๊ธฐ๊นŒ์ง€!

๋ฐ˜์‘ํ˜•
profile on loading

Loading...