더북(TheBook)

3.3.2 사용 목적별로 연결하는 인그레스

노드포트 서비스는 포트를 중복 사용할 수 없어서 1개의 노드포트에 1개의 디플로이먼트만 적용됩니다. 그렇다면 여러 개의 디플로이먼트가 있을 때 그 수만큼 노드포트 서비스를 구동해야 할까요? 쿠버네티스에서는 이런 경우에 인그레스를 사용합니다. 인그레스(Ingress)는 고유한 주소를 제공해 사용 목적에 따라 다른 응답을 제공할 수 있고, 트래픽에 대한 L4/L7 로드밸런서와 보안 인증서를 처리하는 기능을 제공합니다.

인그레스를 사용하려면 인그레스 컨트롤러가 필요합니다. 다양한 인그레스 컨트롤러가 있지만, 여기서는 쿠버네티스에서 프로젝트로 지원하는 NGINX 인그레스 컨트롤러(NGINX Ingress controller)로 구성해 보겠습니다. 여기서는 NGINX 인그레스 컨트롤러가 다음 단계로 작동합니다.

1. 사용자는 노드마다 설정된 노드포트를 통해 노드포트 서비스로 접속합니다. 이때 노드포트 서비스를 NGINX 인그레스 컨트롤러로 구성합니다.

2. NGINX 인그레스 컨트롤러는 사용자의 접속 경로에 따라 적합한 클러스터 IP 서비스로 경로를 제공합니다.

3. 클러스터 IP 서비스는 사용자를 해당 파드로 연결해 줍니다.

Note ≡


인그레스 컨트롤러는 파드와 직접 통신할 수 없어서 노드포트 또는 로드밸런서 서비스와 연동되어야 합니다. 따라서 노드포트로 이를 연동했습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.