Skip to content

Kubernetes Services

Kubernetes Services란?

Kubernetes Services는 애플리케이션 내부 및 외부의 다양한 컴포넌트 간의 통신을 가능하게 합니다. 이를 통해 애플리케이션들을 서로 또는 사용자와 연결하는 데 도움이 됩니다.

Services의 주요 기능

  • Frontend 로드를 서빙하는 Pod 그룹, Backend 프로세스를 실행하는 그룹, 외부 데이터 소스에 연결하는 그룹 등 애플리케이션 내의 Pod 그룹 간 연결성 제공
  • Frontend 애플리케이션을 최종 사용자에게 제공
  • Backend와 Frontend Pods 간의 통신 지원
  • 외부 데이터 소스와의 연결성 구축
  • Microservices 간의 느슨한 결합을 가능하게 함

Services의 Use Case

Kubernetes 네트워킹의 다양한 측면 중 외부 통신에 초점을 맞춥니다. Pod가 웹 애플리케이션을 실행할 때, 외부 사용자가 이 웹페이지에 어떻게 접근할 수 있는지 탐구합니다.

서비스와 Pod의 연결

  • 서비스를 특정 Pod에 연결하기 위해 레이블과 셀렉터를 사용
  • 서비스 정의 파일 내 selector 섹션을 통해 Pod를 식별

다중 Pod와의 연결

  • 하나의 서비스가 여러 Pod를 자동으로 엔드포인트로 선택하여 외부 요청을 포워딩
  • 로드밸런싱은 랜덤 알고리즘을 사용

요약

Kubernetes Services는 Pod의 추가 및 제거 시 자동으로 업데이트되며, 단일 노드, 단일 노드의 다중 Pod, 다중 노드의 다중 Pod 등 모든 경우에 동일하게 생성됩니다. Services는 일단 생성되면 일반적으로 추가 구성 변경 없이 유연하고 적응적입니다.

K8s Reference Docs:

https://kubernetes.io/docs/concepts/services-networking/service/