#5 Kubernetes Namespace, ResourceQuota, LimitRange


Namespace

  • ν•œ ν΄λŸ¬μŠ€ν„° 내에 논리적인 뢄리 λ‹¨μœ„

    • 논리적인 뢄리λ₯Ό ν–ˆλ‹€ ν•˜λ”λΌλ„ λ„€μž„μŠ€νŽ˜μ΄μŠ€λ“€κ°„μ˜ μžμ› μ‚¬μš©λŸ‰μ„ ν†΅μ œν•΄μ£Όμ§„ λͺ»ν•¨. 즉, ν•œ ν΄λŸ¬μŠ€ν„° λ‚΄μ˜ μžμ› λ‚΄ λ„€μž„μŠ€νŽ˜μ΄λ“€λΌλ¦¬ κ³΅μœ ν•΄μ„œ μ“°λŠ” 것이닀.

    μ°Έκ³ : Podλ₯Ό 각자 λ‹€λ₯Έ λ„€μž„μŠ€νŽ˜μ΄μŠ€μ— 논리적인 뢄리λ₯Ό ν•˜λ”λΌλ„ Network Policyλ₯Ό 톡해 λ”°λ‘œ μ •μ˜ν•΄μ£Όμ§€ μ•ŠμœΌλ©΄ λ‹€λ₯Έ λ„€μž„μŠ€νŽ˜μ΄μŠ€ μ•ˆμ— μžˆλŠ” Pod에 접근이 κ°€λŠ₯ν•˜λ‹€.

  • 예λ₯Ό λ“€λ©΄ namespace:billing κ³Ό namespace:commerce λŠ” 같은 ν΄λŸ¬μŠ€ν„° 내에 μžˆμ§€λ§Œ λ…Όλ¦¬μ μœΌλ‘œ 뢄리됨

    • ν•œ ν΄λŸ¬μŠ€ν„° μžμ›μ„ κ°€μ§€κ³  μ—¬λŸ¬ Namespace듀을 λ§Œλ“€μ–΄ (개발 / 운영 / ν…ŒμŠ€νŠΈ μ‹μœΌλ‘œ) λ‚˜λˆŒ 수 있음.

ResourceQuota

  • 각 Namespaceλ§ˆλ‹€ μžμ›μ˜ ν•œκ³„λ₯Ό μ„€μ •ν•  수 μžˆλ‹€.

    • λ„€μž„μŠ€νŽ˜μ΄μŠ€μ—μ„œμ˜ μžμ› 독점을 막고, λ‹€λ₯Έ λ„€μž„μŠ€νŽ˜μ΄μŠ€λ“€μ— λŒ€ν•œ μ•ˆμ „μ„±μ„ 보μž₯ν•˜κΈ° μœ„ν•¨.
  • .yaml νŒŒμΌμ„ 톡해 ν•œ λ„€μž„μŠ€νŽ˜μ΄μŠ€ μ•ˆμ—μ„œμ˜ Object 개수λ₯Ό μ‘°μ ˆν•  수 μžˆλ‹€.

Options

requests: μ΅œμ†Œ μžμ›μ˜ λŸ‰

limits: μ΅œλŒ€ μžμ›μ˜ λŸ‰

ResourceQuota .yamlμ—μ„œ requests, limitsλ₯Ό μ •μ˜ν–ˆλ‹€λ©΄ Pod yaml 파일 μ•ˆμ— requests, limitsλ₯Ό μ •μ˜ν•΄μ•Ό 생성이 κ°€λŠ₯ν•˜λ‹€.

LimitRange

  • 각각의 Podλ§ˆλ‹€ λ„€μž„μŠ€νŽ˜μ΄μŠ€μ— λ“€μ–΄μ˜¬ 수 μžˆλŠ”μ§€ Pod의 μžμ›μ„ 체크 및 ν• λ‹Ή, 비할당을 ν•΄μ€€λ‹€.

    • 예λ₯Ό λ“€μ–΄ μžμ›μ΄ λ„ˆλ¬΄ 큰 ν•œ Podκ°€ λ“€μ–΄μ˜€κ²Œ λœλ‹€λ©΄ λ‹€λ₯Έ Pod듀은 ν•΄λ‹Ή λ„€μž„μŠ€νŽ˜μ΄μŠ€μ— λ“€μ–΄μ˜¬ 수 μ—†λŠ”λ°, 이λ₯Ό λ°©μ§€ν•΄μ£ΌκΈ° μœ„ν•œ 것이 LimitRange이닀.
    • 즉 Pod의 μžμ›λŸ‰μ„ μ‘°μ ˆν•˜λŠ” 것이닀.
  • LimitRangeμ—μ„œ μ„€μ •ν•œ 값보닀 μž‘μ•„μ•Ό λ“€μ–΄μ˜¬ 수 μžˆλ‹€.

ResourceQuota 와 LimitRange의 차이점: ResourceQuotaλŠ”λ„€μž„μŠ€νŽ˜μ΄μŠ€μ˜ μžμ›μ„ μ œν•œν•˜λŠ” 것이고, LimitRangeλŠ” Pod의 μžμ›λŸ‰μ„ μ œν•œ ν•˜λŠ” 것이닀.

Options

  • min: μ΅œμ†Œλ‘œ μš”μ²­ν•˜λŠ” μžμ›μ˜ 크기
  • max: μ΅œλŒ€λ‘œ μš”μ²­ν•˜λŠ” μžμ›μ˜ 크기
  • maxLimitRequestRatio: min, max 의 λ°°μˆ˜κ°€ μ •μ˜ν•œ 숫자 λ²”μœ„ 내에 μžˆμ–΄μ•Ό Podκ°€ λ„€μž„μŠ€νŽ˜μ΄μŠ€μ— λ“€μ–΄μ˜¬ 수 μžˆλ‹€.
  • defaultRequest: Pod .yaml 파일 μ•ˆμ— 아무것도 μ„€μ •ν•˜μ§€ μ•Šμ•˜μ„ λ•Œμ˜ κΈ°λ³Έ κ°’
  • default: Pod .yaml 파일 μ•ˆμ— 아무것도 μ„€μ •ν•˜μ§€ μ•Šμ•˜μ„ λ•Œμ˜ κΈ°λ³Έ μ΅œλŒ€ κ°’

Images - Namespace, ResoureQuota, LimitRange

1 2 3

μœ„λ‘œ μ˜¬λΌκ°€κΈ°πŸ’¨

Hello, I'm@nickhealthy
개발자λ₯Ό 꿈꾸고, 파이썬과 ν΄λΌμš°λ“œμ— 관심이 λ§Žμ€ λΉ„μ „κ³΅μž

Github