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 |