더북(TheBook)

8. NGINX 인그레스 컨트롤러 생성과 인그레스 설정을 완료했습니다. 이제 외부에서 NGINX 인그레스 컨트롤러에 접속할 수 있게 노드포트 서비스로 NGINX 인그레스 컨트롤러를 외부에 노출합니다.

[root@m-k8s ~]# kubectl apply -f ~/_Book_k8sInfra/ch3/3.3.2/ingress.yaml 
service/nginx-ingress-controller created

적용하는 코드는 다음과 같습니다. 기존 노드포트와 달리 http를 처리하기 위해 30100번 포트로 들어온 요청을 80번 포트로 넘기고, https를 처리하기 위해 30101번 포트로 들어온 것을 443번 포트로 넘깁니다. 그리고 NGINX 인그레스 컨트롤러가 위치하는 네임스페이스를 ingress-nginx로 지정하고 NGINX 인그레스 컨트롤러의 요구 사항에 따라 셀렉터를 ingress-nginx로 지정했습니다.

ingress.yaml

  1. piVersion: v1
  2. kind: Service
  3. metadata:
  4.   name: nginx-ingress-controller
  5.   namespace: ingress-nginx
  6. spec:
  7.   ports:
  8.   - name: http
  9.     protocol: TCP
  10.     port: 80
  11.     targetPort: 80
  12.     nodePort: 30100
  13.   - name: https
  14.     protocol: TCP
  15.     port: 443
  16.     targetPort: 443
  17.     nodePort: 30101
  18.   selector:
  19.     app.kubernetes.io/name: ingress-nginx
  20.   type: NodePort
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.