로컬 PC에 Kubernetes 구축 후 오브젝트 샘플 테스트하다보니 서비스와 인그레스 실습 시 개념이 부족해 정리해본다.
1. 인그레스(Ingress)
1. 인그레스란
-
일반적으로 외부에서 내부로 향하는 것을 지칭
-
Ingress 트래픽 : 외부에서 서버로 유입되는 트래픽이고
-
Ingress 네트워크 : Ingress 트래픽을 처리하기 위한 네트워크
-
인그레스 오브젝트가 담당할 수 있는 기본 기능
- 외부 요청 라우팅
- /apple, /apple/red 등과 같은 특정 경로로 들어온 요청을 어떤 서비스로 전달할지 정의
- 가상 호스트 기반의 요청 처리
- 같은 IP에 대해 다른 도메인 이름으로 요청 도착 시, 어떻게 처리할 것인가 정의
- SSL/TLS 보안 연결 처리
- 여러 개의 서비스로 요청을 라우팅 시, 보안 연결을 위한 인증서를 쉽게 적용
2. 인그레스를 사용하는 이유
1) Service가 다수 존재할 시, Service 별 URL로 접근하는 것은 매우 번거로움
2) 따라서, Ingress를 하나 셋팅하여, 정의한 규칙에 따라 처리된 뒤, 원하는 위치로 접근
* Ingress는 단지 요청을 처리하는 규칙을 정의하는 선언적인 오브젝트일 뿐, 외부 요청을 받는 실제 서버가 아님 ⇒ ingress는 인그레스 컨트롤러(Ingress Controller)라고 하는 특수한 서버에 적용해야만 그 규칙 사용이 가능. (즉, 실제로 요청을 받아들이는 것은 인그레스 컨트롤러 이다.)