(해당 내용은 NCP classic 환경 관련입니다)

 

외부와 연결해 이전에 생성했던 service에 접근할 수 있도록 하는 

nginx ingress controller 를 생성하고 테스트까지 진행한다! 

 

 

실제로 Host를 설정해서 환경별로 나누는 부분까지는 하지 않고,

Path로 api service까지 전달되는 내용만 구축해서 테스트해볼 예정


1. ingress 설정

ingress controller를 설치하기 전에 ingress에 대해서 작성하자면

쿠버네티스 ingress란 외부에서 쿠버네티스 클러스터로 들어오는 요청을 어떻게 처리할 것인지 결정하는 것이다.

(일종의 규칙이라고 보면 되겠다)

 

dev-ingress.yaml

(똑같이 namespace쪽을 주의!, namespace를 다르게 주는 경우 연결되지 않음)

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
        name: dev-ingress
        #namespace: ingress-nginx
        namespace: dev-namespace
        annotations:
                kubernetes.io/ingress.class: "nginx"
                #nginx.ingress.kubernetes.io/rewrite-target: /
                #ingressclass.kubernetes.io/is-default-class: "true"
spec:
        rules:
              - http:
                        paths:
                              - path: /
                                pathType: Prefix
                                backend:
                                        service:
                                                name: dev-api-service
                                                port:
                                                        number: 9001

 

 

2. nginx ingress controller 설치

nginx ingress controller는 위 ingress에서 설정한 규칙이 동작하게 해주는 것이다.

nginx ingress service로 특정 포트를 열면, 사용자는 그쪽으로 요청을 보내고 요청이 들어오면

ingress 규칙을 참고하여 분배하는 것이다.

 

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.0.0/deploy/static/provider/baremetal/deploy.yaml

한 줄이면 설치 끝

전부 ingress-nginx 라는 namespace에 자동으로 설치된다.

 

 

3. Ingress 적용 및 공인IP를 통한 접속

그 다음 아까 작성했던 ingress를 적용한다.

kubectl apply -f dev-ingress.yaml

 

다음으로는 외부에서 접속하기 위해 워커노드1, 워커노드2 둘 다에 공인 IP를 발급하고

위에서 본 ingress-nginx-controller의 32580 포트를 0.0.0.0(모든 접근) 에 대해 허용한다. 

 

그리고 테스트를 해보면

 

끝~!

 

다음으로는 서비스를 하나 더 추가해 dev, front로 구성하는 것과

도메인 할당 및 LB 연결, 운영 환경을 위한 namespace를 생성하는 부분까지 진행할 예정이다.

 

추가로 CD tool로 ArgoCD를 사용해보고 싶어서 조사해보는 중

 

'[kubernetes, ncp] 쿠버네티스 파드간 통신을 위한 Subnet 구성 - (4)' 수정하기 (tistory.com)

 

https://yong0810.tistory.com/manage/newpost/63?type=post&returnURL=https%3A%2F%2Fyong0810.tistory.com%2Fmanage%2Fposts

 

yong0810.tistory.com

+ Recent posts