
한국외대 컴퓨터공학과의 클러스터 서버를 활용해 백엔드(Spring Boot) 서비스를 직접 Kubernetes 위에서 배포하고, 외부에서 HTTPS로 접근할 수 있도록 설정하는 것!
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
...
addresses:
- 203.253.70.241-203.253.70.250
apiVersion: apps/v1
kind: Deployment
metadata:
name: cpu1-std-202001444
spec:
...
containers:
- name: springboot-app
image: yunseo0219/springboot-app:1.0
ports:
- containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: cpu1-std-202001444
spec:
type: NodePort
selector:
app: cpu1-std-202001444
ports:
- port: 8080
nodePort: 30117
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: hufspetition-ingress
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "true"
spec:
ingressClassName: nginx
tls:
- hosts:
- api.hufspetition.hufs.ac.kr
secretName: hufspetition-selfsigned-tls
rules:
- host: api.hufspetition.hufs.ac.kr
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: cpu1-std-202001444
port:
number: 8080
왜 Let's Encrypt를 쓸 수없었는지는 다음 포스트를 봐주세용
helm uninstall nginx-ingress # 재설치 전 제거
helm install nginx-ingress ingress-nginx/ingress-nginx \
--set controller.nodeSelector."kubernetes\.io/hostname"=cpu-node1 \
--set controller.service.type=NodePort \
--set controller.service.nodePorts.http=32618 \
--set controller.service.nodePorts.https=32710 \
--set controller.hostPort.enabled=true \
--set controller.publishService.enabled=true