Kubernetes Ingress

Kubernetes Ingress

Sep 04, 2019    

Ingress

인그레스는 클러스터 외부에서 내부 서비스로 들어오는 요청에 대해 HTTP/S 프로토콜을 개방한다. 트래픽 라우팅은 인그레스 리소스에 정의된 룰에 의해 제어된다. 인그레스는 임의의 포트 혹은 프로토콜을 개방하지 않는다. 서비스를 HTTP/S 프로토콜 이외의 방법으로 인터넷에 개방하는 것은 서비스 타입 Service.Type=NodePort 혹은 Service.Type=LoadBalancer를 사용해야 한다.

Ingress Types

Single Service Ingress

단일 서비스를 개방하는 경우 어떤 규칙 없이 인그레스를 사용할 수 있다.

Simple fanout

HTTP 요청 URI에 기반하여, 단일 IP주소로부터 여러 서비스들에 트래픽을 분배해야 하는 경우 인그레스는 로드밸런싱 기능을 제공한다.

Name based virtual hosting

동일 IP 주소에서 여러 호스트 네임을 사용해서 트래픽을 분배하는 경우에 사용한다. 이 경우에 인그레스는 리퀘스트 헤더의 Host 헤더에 의해 라우팅 목적지를 판단한다.

TLS

TLS private key와 인증서를 포함한 시크릿을 통해 인그레스를 보호할 수 있다. 현재 인그레스는 443 포트만 지원하고 있다.

Loadbalancing