Ingress가 없다고 해서 외부와 통신이 불가능한 것은 아님
인그레스의 이해
인그레스 설치의 이유?
HTTP나 HTTPS를 통해 클러스터 내부 서비스를 외부로 노출
서비스에 외부 URL을 제공
트래픽을 로드밸런식
SSL 인증서 처리: HTTPS(443)
Virtual hosting을 지정: 어느 도메인으로 갈지 호스팅
*** NodePort는 현장에서 사용하기가 현실적으로 어렵기 때문에 Ingress 설치
내부에서 쓰는 서비스는 ClusterIP만 있어도 되지만
Ingress 안에는 라우팅 룰 설정, 외부 단과 gateway 역할
Kubernetes as a project supports and maintains AWS, GCE, and nginx ingress controllers.
Kubernetes를 지원하는 (인증하는) 세 가지 컨트롤러 AWS, GCE(Google), nginx
ingress-nginx/README.md at main · kubernetes/ingress-nginx
물리적 서버, 인스턴스에 설치 시 wget으로 ingress controller 설치, depoyment.yaml 파일 kubectl apply
eks는 aws ingress controller를 설치해 주어야 함. (=aws loadbalancer)
웹 서비스는 NodePort로 열어서 써도 되고, 내부에서 돌아가는 서비스는 ClusterIP만 사용해도 O
인그레스 컨트롤러 설치
시험에는 컨트롤러 설치 자체에 대한 문제는 X
라우팅 룰을 구성하는 문제 출제
인그레스를 이용한 웹서비스 운영
Ingress 설치 시 IAM 정책 생성 필요
ssl 인증서
alb 권한 정책이나 여러 문제로 생성이 되지 않는다면 그냥 loadbalancer로 진행해도 무방(시간 상)