ν°μ€ν 리 λ·°
μΏ λ²λ€ν°μ€μ μ€λΈμ νΈ μ€, Podμ λν΄ μμλ³΄κ³ μ νλ€. Podλ₯Ό μ΄ν΄νκΈ° μν΄μλ μΏ λ²λ€ν°μ€μ Pod μμ΄ μ»¨ν μ΄λλ§ νμ©νμ¬ μλΉμ€λ₯Ό ꡬμ±νκ³ μ νλ€λ©΄ μ΄λ»κ² ν΄μΌ λλμ§ μλ€λ©΄, Podμ νμμ±μ λν΄ λͺ νν μ΄ν΄ν μ μλ€.
μ΄λ€ κ²½μ°μ νμ ν κΉ?
μΏ λ²λ€ν°μ€ μμ΄, νΉμ μλΉμ€λ₯Ό μν΄ μ»¨ν μ΄λλ₯Ό μμ±νκ³ κ΄λ¦¬νμ¬μΌ νλ€κ³ μκ°ν΄λ³΄μ. μλ₯Ό λ€μ΄ μΉ μλΉμ€λ₯Ό μν΄ νλμ 컨ν μ΄λμλ μΉκ³Ό κ΄λ ¨λ μ΄ν리μΌμ΄μ μ νλμ 컨ν μ΄λμλ ν΄λΉ μΉ μ΄νλ μΌμ΄μ λμμ λμμ μ£Όλ μ΄ν리μΌμ΄μ μ μ€ννλ©΄ λ€μκ³Ό κ°μ μν©μ΄ λ°μνλ€.
λ€νΈμν¬, λ³Όλ₯¨, λ€μμ€νμ΄μ€ λ± λ€μν μμλ€μ 컨ν μ΄λ λ³λ‘ μ€μ ν΄μ£Όμ΄μΌ νλ€. μ€μ μ΄ λλλ€κ³ ν΄λ νμ₯μ±μ μκ°νλ€λ©΄ μλ‘μ΄ λ¬Έμ μ μ§λ©΄νκ² λλ€. μλ₯Ό λ€μ΄, μ§κΈμ 2κ°μ 컨ν μ΄λκ° μλΉμ€λ₯Ό μν΄ μ°λλλ λ°©μμ΄μ§λ§ μ¬λ¬ 컨ν μ΄λκ° μ°λνκ² λλ€λ©΄ κ΄λ¦¬κ° 볡μ‘ν΄μ§κ² λλ€. λν μ¬μ©μ μκ° κΈμ¦νμ¬ ν΄λΉ μλΉμ€λ₯Ό νμ₯ν νμκ° μμ κ²½μ°μλ λ¬Έμ μ μ§λ©΄ν μ μλ€.
μ΄μ κ°μ΄ 컨ν μ΄λ λ§μΌλ‘ μλΉμ€λ₯Ό ꡬμ±ν κ²½μ°, μ§λ©΄ν μ μλ λ¬Έμ λ€μ ν΄κ²°νκ³ κ΄λ¦¬μ μ©μ΄μ±μ μ¦μ§μν€κΈ° μν΄ μΏ λ²λ€ν°μ€μμλ PodλΌλ μ€λΈμ νΈλ₯Ό μ 곡νλ€. μ΄λ κ·Έλ¦Ό 2μ κ°μ΄ νλμ Pod λ΄μ μλΉμ€μ νμν νλμ 컨ν μ΄λ νΉμ λ€μμ 컨ν μ΄λλ‘ κ΅¬μ±λλ€. λ°λΌμ μ¬μ©μ μκ° μ¦κ°ν κ²½μ° Podλ₯Ό μΆκ°νμ¬ νΈλν½μ λΆμ°μν¬ μ μμΌλ©°, μλ‘μ΄ Support κΈ°λ₯μ μΆκ°νκΈ° μν΄μλ Pod λ΄μ μλ‘μ΄ μ»¨ν μ΄λλ₯Ό μΆκ°ν¨μΌλ‘μ¨ μ΄λ₯Ό ν΄κ²°ν μ μλ€.
μμ κ° μ»¨ν μ΄λ λ³λ‘ ꡬμ±ν κ²½μ° μ§λ©΄ν λ¬Έμ μΈ, λ€νΈμν¬, λ€μμ€νμ΄μ€, λ³Όλ₯¨κ³Ό κ°μ λ¬Έμ λ€μ νλμ Podλ λμΌν ꡬμ±μ μ¬μ©νκΈ°μ μ€μ μΈ‘λ©΄μμλ λ³΄λ€ ν¨μ¨μ μ΄λ€.
Pod μμ±
Pod μμ±μ kubectl createλΌλ λͺ λ Ήμ΄λ₯Ό ν΅ν΄ μμ±ν μ μλ€. Pod λ³λ‘ λͺ μν΄μΌ ν μ΅μ λ€μ΄ λ§κΈ°μ λͺ©μ μ λ§λ Podλ₯Ό μμ±νκΈ° μν΄μλ μ΄λ₯Ό λͺ μν νμΌμ νμ©νμ¬μΌ νλ€. ν΄λΉ νμΌμ yaml λ°©μμ΄λ€.
Pod μμ±μ μν yaml μμ±λ²
kind: Pod
apiVersion: v1
metadata:
name: mypod
labels:
foo: bar
spec:
topologySpreadConstraints:
- maxSkew: 1
topologyKey: zone
whenUnsatisfiable: DoNotSchedule
labelSelector:
matchLabels:
foo: bar
containers:
- name: pause
image: k8s.gcr.io/pause:3.1
μλ Podλ₯Ό μμ±νκΈ° μν yaml νμΌμ μμμ΄λ€. yaml νμΌμ μΉ΄ν κ³ λ¦¬λ ν¬κ² 4κ°μ§λ‘ λλλ€.
- apiVersion : μ€λΈμ νΈλ₯Ό μμ±νκΈ° μν΄ μ¬μ©νλ μΏ λ²λ€ν°μ€νΈ API λ²μ
- kind : μ΄λ€ μ’ λ₯μ μ€λΈμ νΈλ₯Ό μμ±νκ³ μ νλμ§ (Such as Pod, Deployment, Service...)
- metadata : μ΄λ¦, UID λ± ν΄λΉ μ€λΈμ νΈλ₯Ό ꡬλΆν μ μλ ꡬλΆμ
- spec : μ€λΈμ νΈμ νμν μνλ₯Ό μ§μ
Pod κ΄λ¦¬λ₯Ό μν λͺ λ Ήμ΄λ€
kubectl get pods
ν΄λΉ λͺ λ Ήμ΄λ₯Ό ν΅ν΄ νμ¬ μμ±λ Podλ€μ μνμ λν΄ κ°λ΅ν μ μ μλ€. READYμ 1/1μ΄ μλ―Ένλ λ°λ ν΄λΉ Podμ μ€ν μ€μΈ 컨ν μ΄λ μ/μ 체 컨ν μ΄λ μμ΄λ€.
kubectl create pod
yaml νμΌμ ν΅ν΄ μμ±ν κ²½μ° createλ₯Ό ν΅ν΄ μμ±ν μ μλ€.
yaml νμΌ μμ΄ μμ±νκ³ μ ν κ²½μ° runμΌλ‘ μμ±ν μλ μλ€. μΈμλ Pod μ΄λ¦, μ§μ ν μ΅μ λ€μ΄λ€.
kubectl describe pod
ν΄λΉ λͺ λ Ήμ΄λ₯Ό ν΅ν΄ νμ¬ μμ±λ Podμ μνλ€μ λν΄ μμΈν μ μ μλ€. get podsμμλ Podμ μνλ€μ λν΄μ κ°λ΅ν μ μ μμμ§λ§, describeμ κ²½μ° μ΄λ€ λ Έλμμ μ€νλλμ§ λ± μμΈν μ 보λ₯Ό μ μ μμΌλ©° Pod λ΄μ 컨ν μ΄λ μνμ λν΄μλ μ μ μλ€.
kubectl delete pod
μμ±λ Podλ₯Ό μμ νκ³ μ νλ κ²½μ° ν΄λΉ λͺ λ Ήμ΄λ₯Ό ν΅ν΄ μμ ν μ μλ€ λͺ λ Ήμ΄ λ€μ webappκ³Ό κ°μ΄ Podμ μ΄λ¦μ λͺ μνμ¬μΌ νλ€.
'π΅οΈββοΈ μ°λ¬Ό λ°μ κ°κ΅¬λ¦¬ > k8s' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
k8s: ReplicaSets (0) | 2020.08.25 |
---|---|
k8s: ꡬ쑰 λ° κ΅¬μ± μμ (0) | 2020.08.06 |