Search

[CKA] 9. POD

Date
2024/11/12
Category
Devops
Tag
Kubernetes
CKA
Core Concept
๋ชฉ์ฐจ

ย POD

โ€ข
์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” Worker Node์— ์ง์ ‘ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ฐฐํฌํ•˜์ง€ ์•Š์Œ
โ€ข
์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ Pod๋ผ๋Š” ๊ฐ์ฒด์— ์บก์Šํ™”๋จ
โ€ข
Pod๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋‹จ์ผ ์ธ์Šคํ„ด์Šค์ด๋ฉฐ, ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ์˜ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ์ฒด์ด๋‹ค
โ€ข
์ผ๋ฐ˜์ ์œผ๋กœ Pod๋Š” ์•ฑ์„ ์‹คํ–‰ํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ์™€ 1๋Œ€1 ๊ด€๊ณ„๋ฅผ ๊ฐ–๋Š”๋‹ค
โ—ฆ
์Šค์ผ€์ผ์—… - ์ƒˆ Pod ์ƒ์„ฑ
โ—ฆ
์Šค์ผ€์ผ๋‹ค์šด - ๊ธฐ์กด Pod ์ œ๊ฑฐ
โ—ฆ
์Šค์ผ€์ผ ์—…์„ ์œ„ํ•ด ๊ธฐ์กด Pod์— ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์Œ

์Šค์ผ€์ผ์—…

โ€ข
์•ก์„ธ์Šค๊ฐ€ ์ฆ๊ฐ€ํ•˜์—ฌ ์•ฑ ๊ทœ๋ชจ๋ฅผ ๋Š˜๋ ค์•ผ ํ•  ๊ฒฝ์šฐ
โ—ฆ
Load๋ฅผ ๊ณต์œ ํ•˜๋ ค๋ฉด ์›น ์•ฑ์˜ ์ถ”๊ฐ€ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•ด์•ผํ•จ
โ–ช
๊ฐ™์€ Pod ๋‚ด์—์„œ ์ƒˆ ์ปจํ…Œ์ด๋„ˆ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑ X
โ–ช
๊ฐ™์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ƒˆ๋กœ์šด ์ธ์Šคํ„ด์Šค๋กœ ์ƒˆ๋กœ์šด Pod ์ƒ์„ฑ
โ€ข
์•ก์„ธ์Šค๊ฐ€ ๋” ์ฆ๊ฐ€ํ–ˆ๊ณ , Node๊ฐ€ ์ถฉ๋ถ„ํ•œ ์šฉ๋Ÿ‰์„ ํ™•๋ณดํ•˜์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ
โ—ฆ
Node์— ์ƒˆ๋กœ์šด Pod๋ฅผ ์ƒ์„ฑํ•  ์šฉ๋Ÿ‰์ด ์—†์œผ๋‹ˆ ๋‹ค๋ฅธ Node์— ์ถ”๊ฐ€ Pod๋ฅผ ๋ฐฐํฌํ•จ

ย Multi-Container PODs

โ€ข
ํ•œ Pod ๋‚ด์— ์—ฌ๋Ÿฌ ์ปจํ…Œ์ด๋„ˆ์ผ ์ˆ˜ ์žˆ์ง€๋งŒ ๋“œ๋ฌธ ์ผ€์ด์Šค์ž„
โ€ข
Pod ๋‚ด์˜ ์ปจํ…Œ์ด๋„ˆ๋Š” localhost๋กœ ์„œ๋กœ ์ง์ ‘ ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•จ
โ€ข
Storage Space๋„ ๊ณต์œ  ๊ฐ€๋Šฅ
โ€ข
์ด๋•Œ๋Š” ๊ฐ™์€ ์ข…๋ฅ˜์˜ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋‹ด์Œ
โ—ฆ
์Šค์ผ€์ผ์—…์„ ์œ„ํ•ด์„  Pod๋ฅผ ์ถ”๊ฐ€ ์ƒ์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ
โ€ข
ํ•œ Pod ๋‚ด์— ์—ฌ๋Ÿฌ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋‘๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค ์˜ˆ์‹œ:
โ—ฆ
์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ง€์›ํ•˜๋Š” Helper Container
โ–ช
๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ํ”„๋กœ์„ธ์Šค

ย ๋ฐฐํฌ

โ€ข
kubectl run <container-name> --image=<image-name>
โ—ฆ
Docker ์ด๋ฏธ์ง€์˜ ์ธ์Šคํ„ด์Šค ๊ธฐ๋ฐ˜ Docker ์ปจํ…Œ์ด๋„ˆ ๋ฐฐํฌ
โ€ข
kubectl get pods
โ—ฆ
Pod ๋ชฉ๋ก ํ™•์ธ
โ—ฆ
Pod์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ
โ€ข
๋‹จ์ˆœํžˆ Pod๋งŒ ๋ฐฐํฌ๋œ ์ƒํƒœ์—์„  ์™ธ๋ถ€ ์‚ฌ์šฉ์ž์—๊ฒŒ ์›น ์„œ๋ฒ„ ์•ก์„ธ์Šค๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š์Œ
โ€ข
๋‚ด์ ์œผ๋กœ ์•ก์„ธ์Šค๋Š” ๊ฐ€๋Šฅ
โ€ข
kubectl describe pod <pod-name>
โ—ฆ
Pod ์ƒ์„ฑ ์‹œ๊ฐ„
โ—ฆ
Label
โ—ฆ
๋‚ด์žฅ ์ปจํ…Œ์ด๋„ˆ
โ—ฆ
Pod Events

ย POD With YAML

โ€ข
์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” YAML ํŒŒ์ผ์„ Pod, Replicas, Deployment, Service ๋“ฑ ๊ฐ์ฒด ์ƒ์„ฑ์„ ์œ„ํ•œ ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉ
โ€ข
yaml ์‚ฌ์šฉ์‹œ ๊ณต๋ฐฑ์„ ์ž˜ ๋งž์ถฐ์•ผ ํ•จ
โ—ฆ
2 spaces์™€ tab์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ 2์นธ ๊ณต๋ฐฑ์„ ์ถ”์ฒœํ•จ

Root Level Properties

โ€ข
์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์ •์˜ ํŒŒ์ผ์€ ํ•ญ์ƒ 4๊ฐœ์˜ ์ƒ์œ„ ๋ ˆ๋ฒจ ํ•„๋“œ๋ฅผ ํฌํ•จ
โ—ฆ
ํ•„์ˆ˜ ํ•„๋“œ์ด๋ฏ€๋กœ, ๊ตฌ์„ฑ ํŒŒ์ผ์— ๋ฐ˜๋“œ์‹œ ์กด์žฌํ•ด์•ผ ํ•จ
I. apiVersion
โ€ข
์ƒ์„ฑํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค API ๋ฒ„์ „
โ€ข
๋งŒ๋“œ๋ ค๋Š”๊ฒŒ ๋ฌด์—‡์ด๋ƒ์— ๋”ฐ๋ผ ์˜ฌ๋ฐ”๋ฅธ API ๋ฒ„์ „์„ ์‚ฌ์šฉํ•ด์•ผ ํ•จ
โ—ฆ
POD - v1
โ—ฆ
Service - v1
โ—ฆ
ReplicaSet - apps/v1
โ—ฆ
Deployment - apps/v1
II. kind
โ€ข
์ƒ์„ฑํ•˜๋ ค๋Š” ๊ฐ์ฒด์˜ ์œ ํ˜•
III. metadata
โ€ข
๊ฐ์ฒด ์œ„์˜ ๋ฐ์ดํ„ฐ
โ—ฆ
name, labels, ๋“ฑ๋“ฑ
โ€ข
apiVersion, kind ๊ฐ™์€ ๋ฌธ์ž์—ด๊ณผ ๋‹ฌ๋ฆฌ ๋”•์…”๋„ˆ๋ฆฌ ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง
โ€ข
name์€ String์„ ๊ฐ’์œผ๋กœ ๊ฐ€์ง€๊ณ , labels๋Š” ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ๊ฐ’์œผ๋กœ ๊ฐ€์ง
โ€ข
labels์€ ๊ฐ์ฒด๋ฅผ ์‹๋ณ„ํ•˜๋Š”๋ฐ ๋„์›€์ด ๋จ
โ—ฆ
์˜ˆ์‹œ๋กœ FE, BE ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ labels๋ฅผ ํ†ตํ•ด ํ•„ํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Œ
IV. spec
โ€ข
์ƒ์„ฑํ•˜๋ ค๋Š” ๊ฐ์ฒด์— ๋”ฐ๋ผ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์— ๊ทธ ๊ฐ์ฒด์— ๊ด€๋ จ๋œ ์ •๋ณด๋ฅผ ์ œ๊ณต
โ€ข
๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ๊ฐ’์œผ๋กœ ๊ฐ€์ง
โ€ข
Pod ์ƒ์„ฑ์‹œ containers ๋ผ๋Š” property ํ•„์š”
โ—ฆ
containers๋Š” List/Array์„ ๊ฐ€์ง
โ—ฆ
- ๋กœ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋‚˜๋ˆ”
โ—ฆ
๋ฆฌ์ŠคํŠธ๋ฅผ ๊ฐ€์ง€๋Š” ์ด์œ ๋Š” ํ•œ Pod ์•ˆ์— ์—ฌ๋Ÿฌ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋‹ด์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ