• toc {:toc}

Pods

  • Container : 기본적으둜 μˆ˜ν–‰μ‹œν‚€λŠ” ν”„λ‘œκ·Έλž¨, μŠ€ν† λ¦¬μ§€, ν™˜κ²½ λ³€μˆ˜ 등을 ν•˜λ‚˜μ˜ μ»¨ν…Œμ΄λ„ˆλ‘œ 합쳐 μ‚¬μš©ν•œλ‹€.
  • Pods : μ—¬λŸ¬ λ‹€μ–‘ν•œ μ»¨ν…Œμ΄λ„ˆλ₯Ό ν•˜λ‚˜μ˜ 캑슐과 같이 ν•˜λ‚˜λ‘œ λ¬Άμ–΄ 닀룬닀.
    • λ‹€λ₯Έ μ»¨ν…Œμ΄λ„ˆ ν˜Ήμ€ 같은 μ»¨ν…Œμ΄λ„ˆλ₯Ό λ¬Άμ–΄ 관리
  • μΏ λ²„λ„€ν‹°μŠ€κ°€ κ΄€λ¦¬ν•˜λŠ” κ°€μž₯ μž‘κ³  κ°„λ‹¨ν•œ 블둝이닀.
  • νŒŸμ€ ν΄λŸ¬μŠ€ν„°μ˜ μ‹€ν–‰ 쀑인 ν”„λ‘œμ„ΈμŠ€λ“€μ„ λ‚˜νƒ€λ‚Έλ‹€.
  • νŒŸμ€ App 의 μ»¨ν…Œμ΄λ„ˆ, μŠ€ν† λ¦¬μ§€ λ¦¬μ†ŒμŠ€, μœ μΌν•œ λ„€νŠΈμ›Œν¬ IP, μ»¨ν…Œμ΄λ„ˆλ₯Ό μ–΄λ–»κ²Œ μ‹€ν–‰μ‹œν‚¬μ§€λ₯Ό λ‹€λ£¨λŠ” μ„€μ • 등을 ν•˜λ‚˜λ‘œ μΊ‘μŠν™”ν•œλ‹€.

Pods Networking

  • 각각의 νŒŸμ€ μœ μΌν•œ IP μ£Όμ†Œλ₯Ό ν• λ‹Ήν•œλ‹€.
  • νŒŸμ—μ„œ λͺ¨λ“  μ»¨ν…Œμ΄λ„ˆλŠ” IP μ£Όμ†Œ, λ„€νŠΈμ›Œν¬ 포트λ₯Ό 포함해 λ„€νŠΈμ›Œν¬ namespace λ₯Ό κ³΅μœ ν•œλ‹€. 즉, λ™μΌν•œ IP μ£Όμ†Œ, 포트, namespace λ₯Ό μ‚¬μš©ν•œλ‹€.
  • νŒŸμ†μ˜ μ»¨ν…Œμ΄λ„ˆλ“€μ€ localhost λ₯Ό μ‚¬μš©ν•΄ 동일 팟 λ‚΄μ˜ μ»¨ν…Œμ΄λ„ˆλ“€κ³Ό ν†΅μ‹ ν•œλ‹€.

Nodes

  • 컴퓨터듀이 ν•˜λ‚˜μ˜ λ…Έλ“œκ°€ λœλ‹€.
  • Nodes : μΏ λ²„λ„€ν‹°μŠ€μ˜ worker machine 을 λ§ν•œλ‹€.

Clusters

  • λ…Έλ“œλ“€μ΄ λ­‰μΉ˜λ©΄ Cluster κ°€ λœλ‹€.
  • Cluster : μΏ λ²„λ„€ν‹°μŠ€μ— μ˜ν•΄ λ‹€λ€„μ§€λŠ” μ»¨ν…Œμ΄λ„ˆν™”λœ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹€ν–‰ν•˜λŠ” λ…Έλ“œλ“€μ˜ 집합이닀.
  • Docker Storage 와 같이 Storage λ₯Ό μ—°κ²°ν•  수 μžˆλ‹€.
  • λ„€νŠΈμ›Œν¬λ₯Ό 톡해 μ—°κ²°ν•œ Storage 도 μ‚¬μš©ν•  수 μžˆλ‹€. 도컀와 λ™μΌν•˜λ‹€.
  • 도컀와 λ™μΌν•˜κ²Œ deploy ν•œλ‹€.

Deployment

  • 도컀 λ•Œμ—λŠ” λͺ…령을 μ£ΌλŠ” κ²ƒμ²˜λŸΌ ν•˜μ§€λ§Œ, μΏ λ²„λ„€ν‹°μŠ€λŠ” 희망 μƒνƒœλ₯Ό μ œμ‹œν•˜κ³  ν•΄λ‹Ή μƒνƒœμ— 맞좰 μž‘λ™ν•œλ‹€.
  • 도컀 λ•Œ replica β†’ μ»¨ν…Œμ΄λ„ˆλ₯Ό μ—¬λŸ¬ 개 λ„μš°μ§€λ§Œ, μΏ λ²„λ„€ν‹°μŠ€λŠ” νŒŸμ„ μ€‘μ‹¬μœΌλ‘œ 닀룬닀.
  • ν”„λ‘œκ·Έλž˜λ¨Έλ“€μ€ μ›ν•˜λŠ” μƒνƒœλ₯Ό 배포의 ν˜•νƒœλ‘œ μ œμ‹œν•œλ‹€.
  • Deployment Controller λŠ” μ‹€μ œ μƒνƒœλ₯Ό μ›ν•˜λŠ”, μ œμ‹œλœ μƒνƒœλ‘œ λ³€κ²½ν•˜κ³  λ°°ν¬ν•˜λŠ” 역할을 ν•œλ‹€. Actual state β†’ Desired state
  • Replica 둜 λ³΅μ œν•˜λŠ” 역할은 Replica Controller κ°€ ν•œλ‹€. (역할도 λΆ„ν• λ˜μ–΄ μžˆλ‹€.)
  • BusyBox : ν•˜λ‚˜μ˜ μ‹€ν–‰νŒŒμΌμ—μ„œ μ—¬λŸ¬ μœ λ‹‰μŠ€ μœ ν‹Έλ¦¬ν‹°λ“€μ„ μ œκ³΅ν•˜λŠ” μž‘μ€ μ†Œν”„νŠΈμ›¨μ–΄ λ¬ΆμŒμ΄λ‹€.
  • λ‹€μ–‘ν•œ POSIX ν™˜κ²½μ—μ„œ λŒμ•„κ°€κ³  λ¦¬λˆ…μŠ€ 컀널에 μ˜ν•΄ μ œκ³΅λ˜λŠ” μΈν„°νŽ˜μ΄μŠ€μ™€ μž‘λ™ν•  수 μžˆλ„λ‘ μ œκ³΅λœλ‹€.
  • 맀우 μ œν•œλœ λ¦¬μ†ŒμŠ€λ“€λ‘œ μ‚¬μš©ν•˜λŠ” μž„λ² λ””λ“œ 운영체제λ₯Ό μœ„ν•΄ λ§Œλ“€μ–΄μ‘Œλ‹€.

Ingress

  • Ingress : HTTP 와 같이 ν΄λŸ¬μŠ€ν„°μ—μ„œ μ„œλΉ„μŠ€μ— λŒ€ν•œ μ™ΈλΆ€ 접근을 닀루기 μœ„ν•œ API 객체 (object) 이닀.
  • ν΄λŸ¬μŠ€ν„°μ™€ μ™ΈλΆ€μ˜ 톡신을 ν•  λ•Œ μ‚¬μš©ν•œλ‹€.
  • Load balancing : λ„μ°©ν•œ request λ₯Ό μ–΄λ–€ 팟으둜 보낼 것인지 μ‘°μ’…ν•œλ‹€.
  • SSL(Secure Socket Layer) Termination : μ•”ν˜Έν™”λœ 톡신 (SSL) 이 계속 전달될 λ•Œ μ•”ν˜Έν™”λŠ” νŠΈλž˜ν”½μ΄ 크기 λ•Œλ¬Έμ— μ„±λŠ₯ λΆ€ν•˜κ°€ 크닀. μ™ΈλΆ€μ—μ„œ 왔을 λ•Œ λ‚΄λΆ€μ—μ„œλŠ” μ•”ν˜Έν™”λ₯Ό μ‚¬μš©ν•  ν•„μš”κ°€ μ—†μœΌλ―€λ‘œ μž…κ΅¬μ—μ„œ μ•”ν˜Έν™”λ₯Ό μ’…λ£Œν•˜λŠ”λ°, 이λ₯Ό Ingress κ°€ μ§„ν–‰ν•œλ‹€.
  • 이름 기반 가상 ν˜ΈμŠ€νŒ…μ„ μ œκ³΅ν•œλ‹€. μ—¬λŸ¬ λͺ…이 λ‚΄ μ‚¬μ΄νŠΈλ₯Ό μ‚¬μš©ν•  λ•Œ ν•œ λŒ€μ˜ 컴퓨터λ₯Ό μ‚¬μš©ν•˜λ©΄ νŠΈλž˜ν”½μœΌλ‘œ 인해 ν„°μ§€κΈ° λ•Œλ¬Έμ— μ—¬λŸ¬ λŒ€λ₯Ό λ™μΌν•œ μ΄λ¦„μœΌλ‘œ μ‚¬μš©ν•œλ‹€. ν˜Ήμ€ κ·Έ λ°˜λŒ€λ„ κ°€λŠ₯ν•˜λ‹€. (μ—¬λŸ¬ 개의 컴퓨터가 ν•œ 개의 이름을 κ°–λŠ” 경우, ν•œ λŒ€μ˜ 컴퓨터가 μ—¬λŸ¬ 개의 이름을 κ°–λŠ” 경우) ex) 넀이버

NodePort

  • νŠΉμ • λ…Έλ“œμ— 포트λ₯Ό λš«μ–΄ λ…Έλ“œμ™€ μ™ΈλΆ€κ°€ 톡할 수 μžˆλ„λ‘ ν•˜λŠ” 방식이닀.

μ°Έκ³ λ¬Έν—Œ

μ—°κ²°λ¬Έμ„œ