인그레스 : 클러스터 외부에서 내부로 접근하는 요청들을 어떻게 처리할지 정의해둔 규칙 모음
실제로 동작시키는 것은 인그레스 컨트롤러
ingress-basic.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: test
annotations:
nginx.ingress.kubernetes.io/rewrite-target: / # redirect 경로
spec:
rules:
- host: foo.bar.com
http:
paths:
- path: /foos1
pathType: Prefix
backend:
service:
name: s1
port:
number: 80
- path: /foos2
pathType: Prefix
backend:
service:
name: s2
port:
number: 80
$ kubectl apply -f ingress-basic.yaml
인그레스 컨트롤러를 사용하기 위해 깃허브 저장소 클론
$ git clone <https://github.com/kubernetes/ingress-nginx.git
>
LoadBalancer 타입에서 NodePort 타입으로 서비스 변경
$ vi ingress-nginx/deploy/static/provider/cloud/deploy.yaml
NodePort 타입 기반의 ingress-nginx 컨트롤러에 접근하는 서비스까지 만들어짐
$ kubectl apply -f deploy.yaml
클러스터 내부에 ingress-nginx 컨트롤러를 만들지 못하기 때문에 404가 뜸