# Ingress 인그레스(Ingress)는 [[K8s]] 클러스터 외부에서의 요청을 K8s 클러스터 내부의 애플리케이션에 연결하기 위한 API 오브젝트다 ## 대표적인 기능 - 공개 URL과 애플리케이션 매핑 - 복수의 도메인 이름을 가지는 가상 호스트 기능 - 클라이언트의 요청을 여러 파드에 분산 - SSL/TLS 암호화 통신 HTTPS - 세션 어피니티 ### 공개 URL과 애플리케이션 매핑 - http://abc.sample.com/reservation → 예약 애플리케이션 파드에 전송 - http://abc.sample.com/order → 주문 애플리케이션 파드에 전송 ## Addon ### enable $ minikube addons enable ingress 💡 After the addon is enabled, please run "minikube tunnel" and your ingress resources would be available at "127.0.0.1" ▪ Using image k8s.gcr.io/ingress-nginx/controller:v1.0.0-beta.3 ▪ Using image k8s.gcr.io/ingress-nginx/kube-webhook-certgen:v1.0 ▪ Using image k8s.gcr.io/ingress-nginx/kube-webhook-certgen:v1.0 🔎 Verifying ingress addon... 🌟 'ingress' 애드온이 활성화되었습니다 ### list ## 어노테이션 - kubernetes.io/ingress.class: 'nginx' - 여러 인그레스 컨트롤러가 k8s 클러스터에서 동작 중인 경우에는 이 어노테이션을 명시적으로 지정할 필요가 있다 - nginx.ingress.kubernetes.io/rewrite-target: / - 경로를 바꾸도록 하는 어노테이션이다 - 이 설정이 없으면 클라이언트로부터의 요청 경로를 파드에게 그대로 전송하여 [[FileNotFound]] 에러로 연결될 수 있다 ## Docs - [[ConfigMap]] - [[ingress controller]]