반응형
Nginx upstream 모듈을 사용하면 된다.
/etc/nginx/sites-available 디렉토리에 위치한 default 파일에 upstream 모듈 추가
upstream express-server {
server <tomcat 주소>:8080;
}
<tomcat 주소> 에는 EKS에서 부여하는 IP 주소가 자동으로 매치되도록 tomcat의 서비스 이름을 넣어준다.
EKS에서 서비스 생성 시 tomcat 서비스를 먼저 만들고 nginx 서비스를 만들어야한다.
아래는 코드 예시:
반드시 was-server 라는 이름의 서비스를 먼저 생성
# Cluster yaml 파일
# web은 nginx
# was는 tomcat
---
apiVersion: v1
kind: Service
metadata:
name: was-server
labels:
app: was-server
spec:
type: ClusterIP
selector:
app: was-server
ports:
- port: 8080
targetPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: web-server
labels:
app: web-server
spec:
type: NodePort
selector:
app: web-server
ports:
- port: 80
targetPort: 80
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-server
spec:
replicas: 2
selector:
matchLabels:
app: web-server
template:
metadata:
name: web-server
labels:
app: web-server
spec:
containers:
- name: web-server
image: miracle21/nginx
imagePullPolicy: Always
ports:
- containerPort: 80
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: was-server
spec:
replicas: 2
selector:
matchLabels:
app: was-server
template:
metadata:
labels:
app: was-server
spec:
containers:
- name: was-server
image: miracle21/tomcat
imagePullPolicy: Always
ports:
- containerPort: 8080
tomcat ip 주소에 서비스 이름 넣기
# nginx의 default
upstream express-server {
server was-server:8080;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
proxy_pass http://express-server;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
kubectl apply 결과
반응형
'AWS > 인프라 구축' 카테고리의 다른 글
CloudWatch 로그 S3로 자동 백업 (0) | 2023.08.10 |
---|---|
AWS 기본 VPC 인프라 구축 (0) | 2023.06.28 |
AWS EKS 모니터링: WhaTap 사용 방법 (0) | 2023.06.14 |
AWS EC2 모니터링: WhaTap 사용 방법 (0) | 2023.06.14 |
[Argo CD]3분 간격으로 github 자동 동기화하기 (0) | 2023.06.13 |