You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
autoflow-server-mgmt/kubernetes-aws.yaml

77 lines
2.1 KiB

apiVersion: apps/v1
kind: Deployment
metadata:
name: autoflow-server
namespace: autoflow
spec:
replicas: 1
selector:
matchLabels:
app: autoflow-server
template:
metadata:
labels:
app: autoflow-server
spec:
containers:
- name: autoflow-server
# [수정] 외부 레지스트리 주소를 제거하고 로컬 태그만 사용
image: autoflow-server:latest
# [추가] 외부에서 이미지를 다운로드하지 않고 로컬 이미지를 사용하도록 강제
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8080
env:
- name: RDS_HOSTNAME
# [수정 필요] Outpost 내부 RDS의 Private IP 또는 DNS를 입력하세요.
value: "INTERNAL_RDS_IP_HERE"
- name: RDS_USERNAME
value: "admin"
- name: RDS_PASSWORD
valueFrom:
secretKeyRef:
name: autoflow-secrets
key: rds-password
- name: JWT_SECRET
valueFrom:
secretKeyRef:
name: autoflow-secrets
key: jwt-secret
- name: S3_BUCKET_NAME
# [수정 필요] Outpost 내 생성한 S3 버킷 명을 입력하세요.
value: "autoflow-outpost-bucket"
volumeMounts:
- name: storage-volume
mountPath: /app/storage
volumes:
- name: storage-volume
persistentVolumeClaim:
claimName: autoflow-storage-pvc
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: autoflow-storage-pvc
namespace: autoflow
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
---
apiVersion: v1
kind: Service
metadata:
name: autoflow-server-svc
namespace: autoflow
spec:
# Outpost EKS 환경에 따라 LoadBalancer 또는 NodePort를 선택하세요.
type: LoadBalancer
selector:
app: autoflow-server
ports:
- protocol: TCP
port: 80
targetPort: 8080