Podλ μΏ λ²λ€ν°μ€μμ 컨ν μ΄λκ° μ€μ λ‘ μ€νλλ κ°μ₯ μμ λ¨μμ λλ€. λ³΄ν΅ νλμ Podμλ νλμ 컨ν μ΄λκ° λ€μ΄κ° μμ§λ§, κ²½μ°μ λ°λΌ μ¬λ¬ 컨ν μ΄λκ° ν¨κ» λ€μ΄κ°κΈ°λ ν©λλ€.
μΏ λ²λ€ν°μ€μμ μ ν리μΌμ΄μ μ΄ λ°°ν¬λλ©΄, κ·Έ μ€μ¬μλ νμ Podκ° μ‘΄μ¬ν©λλ€. νμ§λ§ Podλ λ¨μν μ€νλκ³ λλλ κ²μ΄ μλλΌ, λ€μν μν(state)λ₯Ό κ±°μΉλ©° λμν©λλ€.
μλλ Podκ° μμ±λκ³ μ’ λ£λκΈ°κΉμ§ κ±°μΉλ μ£Όμ μνμ λλ€:
μ΄ μνλ€μ kubectl get pods λͺ
λ Ήμ΄λ₯Ό ν΅ν΄ νμΈν μ μμ΅λλ€.
Readiness Probeκ° μ€ν¨νλ©΄ μλΉμ€λ μ°κ²°λμ§ μμ μ μμrestartPolicy: NeverμΌ λλ μ€ν¨ ν μ¬μμνμ§ μμkubectl describe pod [μ΄λ¦] μΌλ‘ μμΈ λ‘κ·Έ νμΈ| μμΈ | μ€λͺ λ° μμ |
|---|---|
| μ ν리μΌμ΄μ μ€λ₯ | 컨ν
μ΄λ λ΄λΆ μ€ν νμΌμ΄ μμΈλ₯Ό λ°μμμΌ μ’
λ£ μ: Java μ ν리μΌμ΄μ μμ NullPointerException λ°μ ν μ¦μ μ’ λ£ |
| μλͺ»λ Command/Entrypoint | YAMLμ command λλ args μ€μ μ€λ₯μ: command: ["exit", "1"] |
| νκ²½λ³μ λλ½ | ENV_VAR=DATABASE_URL μ€μ μ΄ λΉ μ Έμ μ€ν μ DB μ°κ²° μ€ν¨ |
| μμ‘΄ μλΉμ€ λ―Έμλ | 컨ν μ΄λ μμ μ λ€λ₯Έ API μλ²λ DBμ μμ‘΄ν κ²½μ°, ν΄λΉ μλΉμ€κ° μ€λΉλμ§ μμμ μ€ν¨ λ°λ³΅ |
| Health Check μ€ν¨ | livenessProbeμμ μ€ν¨λ₯Ό λ°λ³΅νμ¬ μ»¨ν
μ΄λκ° κ°μ μ¬μμλ¨ |
| μ΄λ―Έμ§ λ¬Έμ | imagePullPolicy: Alwaysλ‘ μ€μ νκ³ λ μ§μ€νΈλ¦¬μ μλ νκ·Έ μ¬μ© μ 컨ν
μ΄λ μ€ν μ€ν¨ λ°λ³΅ |
| λͺ λ Ήμ΄ | μ€λͺ |
|---|---|
kubectl get pods |
Pod μν λͺ©λ‘ κ°λ΅ νμΈ |
kubectl describe pod [μ΄λ¦] |
μν λ³ν μ΄λ ₯, μ΄λ²€νΈ λ‘κ·Έ νμΈ |
kubectl logs [μ΄λ¦] |
컨ν μ΄λ λ‘κ·Έ νμΈ (μ€λ₯ μμΈ νμ ) |
kubectl exec -it [μ΄λ¦] -- sh |
Pod λ΄λΆμμ μ§μ λλ²κΉ |
λ€μκ³Ό κ°μ λͺ λ Ήμ΄λ‘ μΌλΆλ¬ μλͺ»λ Podλ₯Ό λ§λ€μ΄ μνλ₯Ό νμΈν μ μμ΅λλ€:
apiVersion: v1
kind: Pod
metadata:
name: crash-test
spec:
containers:
- name: bad-container
image: busybox
command: ['sh', '-c', 'exit 1']
kubectl apply -f crash-test.yaml
kubectl get pods
kubectl describe pod crash-test
μ΄ Podλ exit 1 λͺ
λ ΉμΌλ‘ νμ μ€ν¨νκΈ° λλ¬Έμ CrashLoopBackOff μνλ‘ μ§μ
νκ² λ©λλ€.
λ λ€λ₯Έ μμ:
apiVersion: v1
kind: Pod
metadata:
name: missing-env
spec:
containers:
- name: app
image: myapp:latest
env:
- name: API_KEY
valueFrom:
configMapKeyRef:
name: missing-config
key: apiKey
μ μμλ μ‘΄μ¬νμ§ μλ ConfigMapμ μ°Έμ‘°ν΄ μ»¨ν μ΄λ μμ μ νκ²½ λ³μ μ€λ₯κ° λ°μν©λλ€.
kubectl λͺ
λ Ήμ΄λ₯Ό νμ©ν΄ μ½κ² νμΈ κ°λ₯νλ©°, μ μ ν λ‘κ·Έ λΆμμ΄ μ€μν©λλ€.μΏ λ²λ€ν°μ€μ Pod μνλ₯Ό μ μ΄ν΄νλ κ²μ ν΄λ¬μ€ν° μ΄μ λ₯λ ₯μ λμ΄λ 첫걸μμ λλ€!
π μ°Έκ³ μλ£: