728x90
1. 구성 파일 만들기
manifests 폴더로 이동하도록 하겠습니다.
cd ~/environment/manifests/
이미 만들어진 컨테이너 이미지를 포함한 deploy manifest를 생성합니다.
vi nodejs-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo-nodejs-backend
namespace: default
spec:
replicas: 3
selector:
matchLabels:
app: demo-nodejs-backend
template:
metadata:
labels:
app: demo-nodejs-backend
spec:
containers:
- name: demo-nodejs-backend
image: public.ecr.aws/y7c9e1d2/joozero-repo:latest
imagePullPolicy: Always
ports:
- containerPort: 3000
그 다음 service manifest 파일을 생성해보도록 하겠습니다.
vi nodejs-service.yaml
apiVersion: v1
kind: Service
metadata:
name: demo-nodejs-backend
annotations:
alb.ingress.kubernetes.io/healthcheck-path: "/services/all"
spec:
selector:
app: demo-nodejs-backend
type: NodePort
ports:
- port: 8080
targetPort: 3000
protocol: TCP
2. ingress 수정하기
기존에 생성했던 ingress파일을 수정해 demo-nodejs-backend의 경로를 하단에 추가해보도록 하겠습니다.
vi ingress.yaml
- path: /services
pathType: Prefix
backend:
service:
name: "demo-nodejs-backend"
port:
number: 8080
3. 배포하기
kubectl apply -f nodejs-deployment.yaml
kubectl apply -f nodejs-service.yaml
kubectl apply -f ingress.yaml
4. 배포확인하기
아래의 명령어를 통해 접속 url을 확인합니다.
echo http://$(kubectl get ingress/backend-ingress -o jsonpath='{.status.loadBalancer.ingress[*].hostname}')/services/all
접속 url을 통해 배포가 되었는지 확인해보면 결과값이 출력된 것을 확인해볼 수 있습니다.
수정된 아키텍처 구조는 아래와 같습니다.
728x90
'Cloud > AWS' 카테고리의 다른 글
[EKS 웹 애플리케이션 구축] AWS Fargate로 배포하기 (0) | 2022.08.19 |
---|---|
[EKS 웹 애플리케이션 구축] 서비스 배포하기 (frontend- react) (0) | 2022.08.18 |
[EKS 웹 애플리케이션 구축] 서비스 배포하기 (backend - flask) (0) | 2022.08.18 |
[EKS 웹 애플리케이션 구축] 인그레스 컨트롤러 만들기 (0) | 2022.08.17 |
[EKS 웹 애플리케이션 구축] 콘솔 크레덴셜 추가하기 (0) | 2022.08.17 |