ν‹°μŠ€ν† λ¦¬ λ·°

728x90
λ°˜μ‘ν˜•
μΏ λ²„λ„€ν‹°μŠ€μ˜ 였브젝트 쀑, Pod에 λŒ€ν•΄ μ•Œμ•„λ³΄κ³ μž ν•œλ‹€. Podλ₯Ό μ΄ν•΄ν•˜κΈ° μœ„ν•΄μ„œλŠ” μΏ λ²„λ„€ν‹°μŠ€μ˜ Pod 없이 μ»¨ν…Œμ΄λ„ˆλ§Œ ν™œμš©ν•˜μ—¬ μ„œλΉ„μŠ€λ₯Ό κ΅¬μ„±ν•˜κ³ μž ν•œλ‹€λ©΄ μ–΄λ–»κ²Œ ν•΄μ•Ό λ˜λŠ”μ§€ μ•ˆλ‹€λ©΄, Pod의 ν•„μš”μ„±μ— λŒ€ν•΄ λͺ…ν™•νžˆ 이해할 수 μžˆλ‹€.

 

μ–΄λ–€ κ²½μš°μ— ν•„μš” ν• κΉŒ?

 

Figure 1. μ»¨ν…Œμ΄λ„ˆ λ³„λ‘œ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹€ν–‰ν•˜λŠ” 경우

 μΏ λ²„λ„€ν‹°μŠ€ 없이, νŠΉμ • μ„œλΉ„μŠ€λ₯Ό μœ„ν•΄ μ»¨ν…Œμ΄λ„ˆλ₯Ό μƒμ„±ν•˜κ³  κ΄€λ¦¬ν•˜μ—¬μ•Ό ν•œλ‹€κ³  μƒκ°ν•΄λ³΄μž. 예λ₯Ό λ“€μ–΄ μ›Ή μ„œλΉ„μŠ€λ₯Ό μœ„ν•΄ ν•˜λ‚˜μ˜ μ»¨ν…Œμ΄λ„ˆμ—λŠ” μ›Ήκ³Ό κ΄€λ ¨λœ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ„ ν•˜λ‚˜μ˜ μ»¨ν…Œμ΄λ„ˆμ—λŠ” ν•΄λ‹Ή μ›Ή μ–΄ν”Œλ ˆμΌ€μ΄μ…˜ λ™μž‘μ— 도움을 μ£ΌλŠ” μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹€ν–‰ν•˜λ©΄ λ‹€μŒκ³Ό 같은 상황이 λ°œμƒν•œλ‹€.

 

 λ„€νŠΈμ›Œν¬, λ³Όλ₯¨, λ„€μž„μŠ€νŽ˜μ΄μŠ€ λ“± λ‹€μ–‘ν•œ μš”μ†Œλ“€μ„ μ»¨ν…Œμ΄λ„ˆ λ³„λ‘œ μ„€μ •ν•΄μ£Όμ–΄μ•Ό ν•œλ‹€. 섀정이 λλ‚œλ‹€κ³  해도 ν™•μž₯성을 μƒκ°ν•œλ‹€λ©΄ μƒˆλ‘œμš΄ λ¬Έμ œμ— μ§λ©΄ν•˜κ²Œ λœλ‹€. 예λ₯Ό λ“€μ–΄, μ§€κΈˆμ€ 2개의 μ»¨ν…Œμ΄λ„ˆκ°€ μ„œλΉ„μŠ€λ₯Ό μœ„ν•΄ μ—°λ™λ˜λŠ” λ°©μ‹μ΄μ§€λ§Œ μ—¬λŸ¬ μ»¨ν…Œμ΄λ„ˆκ°€ μ—°λ™ν•˜κ²Œ λœλ‹€λ©΄ 관리가 λ³΅μž‘ν•΄μ§€κ²Œ λœλ‹€. λ˜ν•œ μ‚¬μš©μž μˆ˜κ°€ κΈ‰μ¦ν•˜μ—¬ ν•΄λ‹Ή μ„œλΉ„μŠ€λ₯Ό ν™•μž₯ν•  ν•„μš”κ°€ μžˆμ„ κ²½μš°μ—λ„ λ¬Έμ œμ— 직면할 수 μžˆλ‹€.

 

Figure 2. Pod

 μ΄μ™€ 같이 μ»¨ν…Œμ΄λ„ˆ 만으둜 μ„œλΉ„μŠ€λ₯Ό ꡬ성할 경우, 직면할 수 μžˆλŠ” λ¬Έμ œλ“€μ„ ν•΄κ²°ν•˜κ³  κ΄€λ¦¬μ˜ μš©μ΄μ„±μ„ μ¦μ§„μ‹œν‚€κΈ° μœ„ν•΄ μΏ λ²„λ„€ν‹°μŠ€μ—μ„œλŠ” 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의 이름을 λͺ…μ‹œν•˜μ—¬μ•Ό ν•œλ‹€.

728x90
λ°˜μ‘ν˜•

'πŸ•΅οΈβ€β™‚οΈ 우물 λ°–μ˜ 개ꡬ리 > k8s' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

k8s: ReplicaSets  (0) 2020.08.25
k8s: ꡬ쑰 및 ꡬ성 μš”μ†Œ  (0) 2020.08.06
λŒ“κΈ€
κΈ€ 보관함
μ΅œκ·Όμ— 올라온 κΈ€
μ΅œκ·Όμ— 달린 λŒ“κΈ€