쿠버네티스의 Service

2025. 10. 27. 15:13·개발 공부/k8s

Service 요소 개요

  • 서비스의 selector와 pod의 label이 연결이 되면 서비스 레지스트리의 주소들이 연결이 됨
    • 만약 pod가 삭제되면 서비스 레지스트리의 주소도 삭제됨
  • ClusterIP는 쿠버네티스 내에서 Pod 통신을 의미
  • NodePort, LoadBalancer, ExternalIPs 는 쿠버네티스 외부에서 내부로 들어오는 통신을 의미하며 이를 서비스 퍼블리싱이라 부름
    • NodePort의 경우 CluterIP로 변환하여 서비스와 연결하며 LoadBalancer는 NodePort로 변환하여 연결함
    • 실무에서는 LoadBalancer를 주로 사용하며 ExternalName은 테스트 용도로 주로 사용
  • clusterIP의 이름을 None으로 바꾸면 headless service가 되며 이때는 바로 Pod의 Ip를 알 수 있음
    • 평소에는 사용하지 않으며 DB와 같이 Stateful한 서비스에서 주로 사용
      • 백엔드 서버에서 둘 다 설정하여 맞추어서 요청을 보냄
  • 서비스의 externalName사용 시 DNS의 이름이 바뀌어서 요청이 보내지기 때문에 https 통신에서는 사용을 못함
    • 내부 http 통신이 아닌 이상은 잘 사용하지 않음 

인프라 구성과 Service

  • master node와 worker node 둘다 kube-proxy가 만들어져서 iptables를 조작함
  • 외부에서 요청(+ 내부 서버)이 들어오면 LoadBalancer를 통해 pod로 트래픽이 들어감
  • CNI는 따로 존재하기 때문에 트래픽을 잘 전달 가능
  • 테스트용 서버에서 ExternalIP로 테스트 용도로 사용이 가능함
  • 만약 서버의 에러가 있을 시 Pod에 DNS를 직접 설정하여 테스트 서버에 요청 가능

 

출처: https://inf.run/Ln688

저작자표시 (새창열림)

'개발 공부 > k8s' 카테고리의 다른 글

쿠버네티스의 PVC, PV  (0) 2025.11.01
쿠버네티스의 Ingress  (0) 2025.10.30
Pod에서 알아야할 기능들  (0) 2025.10.25
통일감 있는 로컬 개발 환경 세팅하기  (0) 2025.10.20
여러 IT 직군들과 쿠버네티스  (0) 2025.10.19
'개발 공부/k8s' 카테고리의 다른 글
  • 쿠버네티스의 PVC, PV
  • 쿠버네티스의 Ingress
  • Pod에서 알아야할 기능들
  • 통일감 있는 로컬 개발 환경 세팅하기
Jamey
Jamey
  • Jamey
    컴공 대학생의 이야기
    Jamey
  • 전체
    오늘
    어제
    • 분류 전체보기 (36)
      • 개발 공부 (33)
        • k8s (24)
        • kafka (8)
        • AI (1)
      • 개발기 (2)
      • 프로젝트 홍보 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    Rag
    cloudflare workers
    Kafka
    Graphana
    Jenkins
    K8S
    조인 쿼리
    카프카
    serialDB
    토픽
    Linux
    langchain
    Kubernetes
    Producer
    consumer
    llm최적화
    topic
    current offset
    AI
    sql자동화
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
Jamey
쿠버네티스의 Service
상단으로

티스토리툴바