반응형
NKS를 구축한 뒤 서비스를 외부에 노출시키려면 ALB(Application Load Balancer)를 통해 쉽게 할 수 있다.
필자는 일단 tomcat pod 를 올리고
아주 간단한 service를 등록해주었다.
apiVersion: v1
kind: Service
metadata:
name: my-tomcat-svc
spec:
type: NodePort
selector:
app: my-tomcat
ports:
- port: 80
targetPort: 8080
ALB Ingress Controller 설치
kubernetes 1.19 버전 이상(한국)
kubectl apply -f https://raw.githubusercontent.com/NaverCloudPlatform/nks-alb-ingress-controller/main/docs/install/pub/install.yaml
Ingress 등록
필자는 간단히 http 프로토콜로 앞서 생성한 my-tomcat-svc 서비스에 연결시키는 내용을 작성하였다.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: alb-ingress-my-tomcat
annotations:
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}]'
alb.ingress.kubernetes.io/description: 'my tomcat alb ingress controller'
labels:
app: alb-ingress-my-tomcat
spec:
ingressClassName: alb
defaultBackend:
service:
name: my-tomcat-svc
port:
number: 80
이제 ingress 를 등록해주면
kubectl apply -f ingress.yaml -n <네임스페이스>
NCP콘솔>VPC>LoadBalancer 에 자동으로 생성된다.
생성된 로드밸런서가 연결된 타겟을 확인해보면 내가 생성한 서비스에 잘 연결되어져 있다.
LB에 접속정보를 들어가보면
정상적으로 tomcat 을 호출하는 것을 확인할 수 있다.
도메인
NCP의 global DNS 서비스를 이용하면 손쉽게 내가 생성한 LB서비스와 연결할 수 있다.
외부DNS에서 도메인을 구입한 후 NCP 네임서버를 등록하는 방식인데,
필자는 내도메인.한국에서 무료도메인을 발급받아 하려고했으나, 여기선 네임서버 등록 기능이 없다.
아쉬운대로 CNAME을 설정하면 간단한 도메인호스팅을 경험할 수 있다.
마치며
클라우드에선 이런 서비스 노출들이 굉장히 쉽다...
혼자서 모든것을 touch 할 수 있는 클라우드..!
잘 활용할 수 있는 사람이 되자.
반응형
'엔지니어링 > NCP' 카테고리의 다른 글
[NKS] velero 백업 및 복원하기 (2) | 2022.11.07 |
---|---|
[NKS] Naver Container Registry 이미지 배포 (2) | 2022.09.26 |
[NCP] 네이버 클라우드 플랫폼 적응기 (0) | 2022.09.26 |