728x90
Kubernetes Services - Load Balancer
NodePort Service 복습
- NodePort 서비스는 외부 사용자가 클러스터의 워커 노드의 포트에서 애플리케이션에 접근할 수 있게 도와줌.
- 예를 들어, Voting 앱과 Result 앱이 프론트엔드 애플리케이션이 있다
- 클러스터에 4개의 노드가 있고,
- 외부 사용자가 애플리케이션에 접근할 수 있게 NodePort 서비스를 생성한다고 가정.
NodePort Service의 한계
- NodePort 서비스는 노드의 포트에서 트래픽을 받아 해당 포트로 라우팅함.
- 그러나, 사용자가 애플리케이션에 접근할 수 있는 URL을 무엇으로 제공해야 할까?
- 각 노드의 IP와 노출된 서비스의 포트를 조합하여 접근할 수 있음.
- 예: Voting 앱의 경우 IP와 포트 조합이 4개, Result 앱도 동일.
- Pod가 특정 노드에만 배포되었더라도 클러스터의 모든 노드에서 접근 가능함.
단일 URL 제공의 필요성
- 그러나, 사용자는 votingapp.com 또는 resultapp.com과 같은 단일 URL을 원함.
- 이를 달성하기 위해 새로운 VM을 생성하고 HAProxy나 Nginx와 같은 로드 밸런서를 설치하고 구성할 수 있음.
- 그러나, 이러한 외부 로드 밸런서를 설정하고 유지 관리하는 것은 번거로울 수 있음.
클라우드 플랫폼의 네이티브 로드 밸런서 활용
- Google Cloud, AWS, Azure와 같은 지원되는 클라우드 플랫폼에서는 네이티브 로드 밸런서를 활용할 수 있음.
- Kubernetes는 특정 클라우드 제공자의 네이티브 로드 밸런서와 통합할 수 있는 기능을 지원
- 프론트엔드 서비스의 서비스 유형을 NodePort 대신 LoadBalancer로 설정하면 됨.
- 단, 이는 지원되는 클라우드 플랫폼에서만 작동함.
- GCP, AWS, Azure는 지원됨.
- VirtualBox와 같은 지원되지 않는 환경에서 LoadBalancer 유형을 설정하면
- NodePort와 동일한 효과를 가지며, 외부 로드 밸런서 구성은 이루어지지 않음.
요약
- LoadBalancer 서비스는 클라우드 플랫폼의 네이티브 로드 밸런서를 활용하여
- 단일 URL을 통해 애플리케이션에 접근할 수 있게 함.
- NodePort 서비스는 외부 접근을 가능하게 하지만, 단일 URL 제공에는 한계가 있음.
- 지원되는 클라우드 플랫폼에서 LoadBalancer 유형을 사용하면
- 외부 로드 밸런서를 쉽게 설정하고 관리할 수 있음.
728x90
'자격증 > CKA' 카테고리의 다른 글
[CKA] Udemy 44. Imperative vs Declarative (0) | 2024.07.04 |
---|---|
[CKA] Udemy 41. Namespaces (0) | 2024.07.02 |
[CKA] Udemy 37. Services - Cluster IP (0) | 2024.07.01 |
[CKA] Udemy 36. Services - NodePort (0) | 2024.06.30 |
[CKA] Udemy 32. Deployments (0) | 2024.06.26 |