자격증/CKA

[CKA] Udemy 37. Services - Cluster IP

14ben 2024. 7. 1. 23:35
728x90

Kubernetes Cluster IP Services

 

전체 스택 웹 애플리케이션 구성

  • 다양한 종류의 Pod들이 애플리케이션의 각 부분을 호스팅
    • 프론트엔드 웹 서버를 실행하는 여러 Pod
    • 백엔드 서버를 실행하는 여러 Pod
    • Redis와 같은 키-값 저장소를 실행하는 여러 Pod
    • MySQL과 같은 지속형 데이터베이스를 실행하는 여러 Pod
  • 웹 프론트엔드 서버는 백엔드 서버와 통신해야 하며,
  • 백엔드 서버는 데이터베이스와 Redis 서비스와도 통신해야 함.

 

서비스 간 연결 설정의 필요성

  • Pod들은 IP 주소를 가지고 있으나, 이 IP 주소는 고정적이지 않음.
    • Pod는 언제든지 다운될 수 있고, 새로운 Pod가 계속 생성됨.
    • 따라서, 애플리케이션 간의 내부 통신에서 이러한 IP 주소를 신뢰할 수 없음.
  • 특정 프론트엔드 Pod가 백엔드 서비스에 연결할 때,
  • 어떤 백엔드 Pod에 연결할지 결정하는 방법이 필요

 

Kubernetes Service 역할

  • Kubernetes 서비스는 Pod들을 그룹화하고,
  • 그룹 내의 Pod들에 접근할 수 있는 단일 인터페이스를 제공

  • 예를 들어, 백엔드 Pod들에 대한 서비스를 생성하면,
  • 모든 백엔드 Pod들을 그룹화하고 다른 Pod들이 이 서비스에 접근할 수 있는 단일 인터페이스를 제공
    • 요청은 서비스 하위의 Pod들 중 하나로 무작위로 전달됨.
  • Redis에 대한 추가 서비스를 생성하고,
  • 백엔드 Pod들이 이 서비스를 통해 Redis 시스템에 접근할 수 있게 함.
  • 이를 통해 Kubernetes 클러스터에서 마이크로서비스 기반 애플리케이션을 쉽게 배포할 수 있음.
    • 각 레이어는 필요한 경우 확장하거나 이동할 수 있으며, 서비스 간의 통신에 영향을 주지 않음.

 

ClusterIP Service

  • 각 서비스는 클러스터 내에서 IP와 이름을 할당받음.
    • 다른 Pod들은 이 이름을 사용하여 서비스에 접근함.
  • 이러한 유형의 서비스를 ClusterIP 서비스라고 함.

 

ClusterIP 서비스 생성

 

 

  • selector: Pod 정의 파일에서 레이블을 복사하여 선택자 아래에 추가함.

 

 

요약

  • Kubernetes ClusterIP 서비스는 다양한 Pod들 간의 통신을 효율적으로 관리할 수 있게 해줌.
  • Pod의 IP 주소가 동적으로 변경되더라도 서비스 이름을 사용하여 안정적인 통신을 보장함.
  • 서비스는 각 Pod들을 그룹화하여 단일 인터페이스를 제공하고, 무작위로 요청을 분산시켜 로드 밸런싱 역할을 함.
  • 이를 통해 마이크로서비스 기반 애플리케이션을 쉽게 배포하고 관리할 수 있음.

 

 

 

728x90

'자격증 > CKA' 카테고리의 다른 글

[CKA] Udemy 41. Namespaces  (0) 2024.07.02
[CKA] Udemy 38. Services - Load Balancer  (0) 2024.07.01
[CKA] Udemy 36. Services - NodePort  (0) 2024.06.30
[CKA] Udemy 32. Deployments  (0) 2024.06.26
[CKA] Udemy 29. ReplicaSet  (0) 2024.06.24