자격증/CKA

[CKA] Udemy 38. Services - Load Balancer

14ben 2024. 7. 1. 23:48
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