Service - ClusterIP

Yu Sang MinΒ·2025λ…„ 5μ›” 21일

CKA

λͺ©λ‘ 보기
13/110
post-thumbnail

πŸ“Œ ClusterIP

  • ν’€ μŠ€νƒ μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ€ 계측별(ν”„λ‘ νŠΈμ•€λ“œ, λ°±μ•€λ“œ, λ°μ΄ν„°λ² μ΄μŠ€)λ₯Ό ν˜ΈμŠ€νŒ…ν•˜λŠ” Pod듀이 쑴재
  • ν”„λ‘ νŠΈμ•€λ“œλŠ” λ°±μ•€λ“œμ™€ ν†΅μ‹ ν•˜κΈ° μ›ν•˜κ³  λ°±μ•€λ“œ μ„œλ²„λŠ” λ°μ΄ν„°λ² μ΄μŠ€μ™€ ν†΅μ‹ ν•˜κΈΈ 원함
  • μ•±μ˜ 이런 μ„œλΉ„μŠ€ λ˜λŠ” 계측을 μ—°κ²°ν•˜λŠ” μ˜¬λ°”λ₯Έ 방법은?

πŸ’¬ Pod듀은 λͺ¨λ‘ ν• λ‹Ήλœ IP μ£Όμ†Œκ°€ μžˆλ‹€

  • ν•˜μ§€λ§Œ 이 IP듀은 정적인 IPκ°€ μ•„λ‹ˆλ©° pod듀은 μ–Έμ œλ“  μŠ€μΌ€μΌλ§(μΆ•μ†Œλ˜μ–΄ μ—†μ–΄μ§€κ±°λ‚˜, μƒˆλ‘œ μΆ”κ°€λ˜μ–΄ μƒˆλ‘œμš΄ IPλ₯Ό ν• λ‹Ή 받을 수 μžˆλ‹€)
  • λ•Œλ¬Έμ— 계측간 λ‚΄λΆ€ 톡신에 이 IP μ£Όμ†Œμ—λ§Œ μ˜μ‘΄ν•  수 μ—†λ‹€

πŸ“‘ μΏ λ²„λ„€ν‹°μŠ€ μ„œλΉ„μŠ€λ₯Ό 톡해 Podλ₯Ό ν•˜λ‚˜λ‘œ λ¬Άκ³  ν•˜λ‚˜μ˜ μΈν„°νŽ˜μ΄μŠ€λ₯Ό 톡해 각 계측을 λ‹΄λ‹Ήν•˜λŠ” Pod에 μ ‘κ·Ό ν•  수 μžˆλ‹€.

  • μš”μ²­μ€ λ¬΄μž‘μœ„λ‘œ ν•œ Pod에 전달 λœλ‹€.
  • 덕뢄에 K8S ν΄λŸ¬μŠ€ν„°μ— MSA 기반 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ 쉽고 효과적으둜 배포 κ°€λŠ₯
  • λ‹€μ–‘ν•œ μ„œλΉ„μŠ€ κ°„ 톡신에 영ν–₯을 μ£Όμ§€ μ•Šκ³  각 계측 ν™•μž₯ 및 이동 κ°€λŠ₯
  • 각각의 μ„œλΉ„μŠ€(ClusterIP)λŠ” ν΄λŸ¬μŠ€ν„° λ‚΄λΆ€μ—μ„œ IP와 그에 ν• λ‹Ήλœ 이름을 κ°€μ§€κ³  μžˆλ‹€
  • λ‹€λ₯Έ Podκ°€ μ„œλΉ„μŠ€μ— μ ‘κ·Όν•˜λŠ”λ° κ·Έ 이름을 μ‚¬μš©ν•œλ‹€.

πŸ“‹ Definition

apiVersion: v1
kind: Service
metadata:
  name: back-end
  
spec:
  type: ClusterIP
  ports:
  - targetPort: 80
    port: 80
  
  selector:
    app: myapp
    type: back-end
  • type ν•„λ“œλ₯Ό μ§€μ •ν•˜μ§€ μ•Šμ•„λ„ default 값은 ClusterIP

⌨️ Command

$ kubectl create -f service-definition.yaml
$ kubectl get services
  • ClusterIPλ‚˜ Service 이름을 μ΄μš©ν•΄ λ‹€λ₯Έ Podμ—μ„œ μ„œλΉ„μŠ€μ— μ—‘μ„ΈμŠ€ ν•  수 μžˆλ‹€.
profile
React, Node.js, AWS, Git, Github, Github Action, Docker, K8S

0개의 λŒ“κΈ€