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
-
piVersion: v1
-
kind: Service
-
metadata:
-
name: nginx-ingress-controller
-
namespace: ingress-nginx
-
spec:
-
ports:
-
- name: http
-
protocol: TCP
-
port: 80
-
targetPort: 80
-
nodePort: 30100
-
- name: https
-
protocol: TCP
-
port: 443
-
targetPort: 443
-
nodePort: 30101
-
selector:
-
app.kubernetes.io/name: ingress-nginx
-
type: NodePort