Kubernetes: Ingress
Introduction
현대의 마이크로서비스 환경에서 쿠버네티스 클러스터 내의 애플리케이션으로 트래픽을 관리하는 것은 필수 기술입니다.
쿠버네티스는 클러스터로의 외부 트래픽을 제어하고 라우팅하는 강력한 솔루션인 Ingress를 제공합니다.
GPT-4 좋네
Ingress: Cluster 내 서비스로의 외부 액세스를 관리하는 Kubernetes의 API 객체
Kubernetes의 ingress는 host 이름과 경로를 포함한 일련의 규칙을 기반으로 HTTP와 HTTPS routing을 제공하여 client 요청을 적절한 backend service로 연결하는 장점이 있다.
Ingress의 주요 구성 요소는 아래와 같다.
- Ingress Resource
- Traffic routing 규칙 정의
- Host, 경로 및 traffic 흐름을 제어하는 다양한 기타 매개변수 포함
- Ingress Controller
- Ingress 리소스의 규칙을 읽고 실제 traffic routing 처리
- NGINX Ingress Controller, Traefik, …
- Backend Service
- Cluster 내에서 요청을 처리하는 실제 service
- Ingress resource에서 정의한 대로 다양한 경로와 도메인을 통해 노출 가능
또한 사용하는 이유는 아래와 같다.
- 간소화된 routing: Routing 규칙을 한 곳에서 집중 관리하여 관리 및 유지 보수 명료화
- SSL/TLS 종료: SSL/TLS 인증서를 한 곳에서 처리
- 경로 기반 routing: URL 경로를 기반으로 요청을 다른 서비스로 연결함으로써 보다 체계적인 구조 구축
- 비용 효율: Routing 규칙을 통합함으로써 여러 load balancer의 필요 감소