kubernetes 에서 ingress 란?
http/https, ssl 및 라우팅을 해주는 기능을 담당한다. 이는 외부에서 클러스터 내부 어플리케이셔네 접근하는 진입경로 역활을 한다.
kubernates ingress 를 사용하기 위해서는 ingress controller service , ingress controller 와 resource에 대해 알아야 한다.
그림으로 보면 다음과 같다.

(1) 외부 클라이언트가 Pod(Application)에 접근 하기 위해 Host(HTTP/HTTPS) 를 입력하여 접근요청을 Ingress Controller 의 외부 IP로 보낸다.
(2) Ingress Controller Service에서 요청이 들어온걸 확인하고 HA로 구서된 Nginx Ingress Controller Pod-1, Pod-2 로 LoadBalancing 한다.
(3) Nginx Ingress Controller 에서 해당 요청을 받아, 등록된 리소스가 있는지 확인한다.
kind: Ingress지속적인 감시 진행 , 생성/변경/삭제 감지- Ingress Controller 는 resoure 를 주기적으로 감시하고 정책이 변경된게 있는지 확인한다.
- 감지/변경을 확인하고 Controller 내부의 Nginx 설정을 동적으로 업데이트한다.
(4) 등록된 리소스 정보를 보고 이동해야할 Pod로 트레픽을 분기해준다.
- 요청받은 host 및 path 정보에 따라 분기 시켜준다.
인그레스를 설치하게 되면 Ingress service와 ingress controller가 설치되며 HA구성시 ingress controller가 2개 이상 설치되게 된다.
- ingress controller service
ㄴ ingerss controller - pod1
ㄴ ingress controller - pod2
ㄴ ingerss controller - pod...
ingress controller service는 LoadBalancer or NodePort type 으로 외부 로드벨런스가 트레픽을 인그레스 컨트롤러 서비스 보냈을때, 이서비스는 ingress controller pod(…) 들로 트레픽을 분산한다.
이후 ingress controller pod는 ingress resource(config-map) 정보에 따라 Application Pod로 round-robin 정책에의에 트래픽을 분산한다.
그럼 Nginx의 Config정보는 언제 감시되고 언제 업데이트 되나?
ingress controller의 정책에 의해 실시간으로 감지되고 변경된 결과가 있으면 Nginx의 /etc/nginx/conf.d 파일을 재정의 하고 reload 한다.
'devops > Kubernetes' 카테고리의 다른 글
| Spring boot KEDA 예제 (0) | 2025.10.12 |
|---|---|
| helm으로 argo cd install (nginx ingress 사용) (0) | 2025.10.11 |
| kubernetes namespage (0) | 2024.04.25 |
| kubernetes nodeport 란? k8s 네트워크 구성 (1) | 2024.04.25 |
| kubernetes minikube install (0) | 2024.04.25 |