8.1 인그레스의 개념

인그레스 : 클러스터 외부에서 내부로 접근하는 요청들을 어떻게 처리할지 정의해둔 규칙 모음

실제로 동작시키는 것은 인그레스 컨트롤러

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

Untitled

Untitled

클러스터 내부에 ingress-nginx 컨트롤러를 만들지 못하기 때문에 404가 뜸