From e2ed0a6c999a78232d94902f5af11ac0084a860c Mon Sep 17 00:00:00 2001 From: Eunhak Lee <lee@enak.kr> Date: Sun, 8 Dec 2024 05:48:55 +0900 Subject: [PATCH] feat: deploy infra --- pods/backend.yml | 9 ++++++-- pods/echo-server.yml | 48 +++++++++++++++++++++++++++++++++++++++ pods/entrypoint.yml | 10 ++++---- pods/frontend-dropper.yml | 1 + pods/hwinfo.yml | 11 +++++++++ pods/mailing.yml | 4 ++-- pods/nginx.yml | 7 ++++-- pods/postgres.yml | 4 +++- pods/redis.yml | 6 +++-- 9 files changed, 86 insertions(+), 14 deletions(-) create mode 100644 pods/echo-server.yml diff --git a/pods/backend.yml b/pods/backend.yml index d043c6d..560f089 100644 --- a/pods/backend.yml +++ b/pods/backend.yml @@ -14,10 +14,14 @@ spec: containers: - name: backend image: git.ajou.ac.kr:5050/meanspec/meanspec-backend:latest + imagePullPolicy: Always resources: + requests: + memory: "64Mi" + cpu: "100m" limits: - memory: "128Mi" - cpu: "500m" + memory: "2Gi" + cpu: "1" ports: - containerPort: 8000 env: @@ -42,3 +46,4 @@ spec: ports: - port: 8000 targetPort: 8000 + type: NodePort diff --git a/pods/echo-server.yml b/pods/echo-server.yml new file mode 100644 index 0000000..7691509 --- /dev/null +++ b/pods/echo-server.yml @@ -0,0 +1,48 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: backend +spec: + selector: + matchLabels: + app: backend + template: + metadata: + labels: + app: backend + spec: + containers: + - name: backend + image: git.ajou.ac.kr:5050/meanspec/meanspec-backend:latest + resources: + requests: + memory: "64Mi" + cpu: "100m" + limits: + memory: "2Gi" + cpu: "1" + ports: + - containerPort: 8000 + env: + - name: JWT_SECRET + value: jwtsecret + - name: DB_HOST + value: postgres + - name: DB_USER + value: meanspec + - name: DB_PASSWORD + value: foopassword123 + - name: REDIS_URL + value: redis://redis +--- +apiVersion: v1 +kind: Service +metadata: + name: backend +spec: + selector: + app: backend + ports: + - port: 8000 + targetPort: 8000 + type: NodePort diff --git a/pods/entrypoint.yml b/pods/entrypoint.yml index b5ff67d..9180fb2 100644 --- a/pods/entrypoint.yml +++ b/pods/entrypoint.yml @@ -7,10 +7,10 @@ metadata: spec: containers: - name: entry - image: ubuntu:latest + image: node:20 command: ["/bin/bash", "-c", "--"] args: ["while true; do sleep 30; done;"] - resources: - limits: - memory: "128Mi" - cpu: "500m" + # resources: + # limits: + # memory: "128Mi" + # cpu: "500m" diff --git a/pods/frontend-dropper.yml b/pods/frontend-dropper.yml index 3395194..968dfd6 100644 --- a/pods/frontend-dropper.yml +++ b/pods/frontend-dropper.yml @@ -9,6 +9,7 @@ spec: containers: - name: frontend-dropper image: git.ajou.ac.kr:5050/meanspec/meanspec-frontend:latest + imagePullPolicy: Always command: ["sh", "-c"] args: ["/bin/echo \"cp -r /app/* /workdir\" > /entrypoint.sh ; chmod +x /entrypoint.sh ; /entrypoint.sh"] resources: diff --git a/pods/hwinfo.yml b/pods/hwinfo.yml index f0e9504..1ce326e 100644 --- a/pods/hwinfo.yml +++ b/pods/hwinfo.yml @@ -15,6 +15,7 @@ spec: containers: - name: hwinfo image: git.ajou.ac.kr:5050/meanspec/meanspec-hwinfo-daemon:latest + imagePullPolicy: Always env: - name: REDIS_URL value: redis://redis @@ -22,7 +23,17 @@ spec: value: postgres - name: PARSE_DAEMON_REFRESH_INTERVAL value: "1" + - name: HWINFO_HACKNOTE_FILE + value: "/data/hacknote.json" resources: limits: memory: "64Mi" cpu: "100m" + volumeMounts: + - name: hacknote + mountPath: /data + volumes: + - name: hacknote + hostPath: + path: /home/enak/meanspec/hwinfo + type: DirectoryOrCreate diff --git a/pods/mailing.yml b/pods/mailing.yml index 5046fba..c94bb3f 100644 --- a/pods/mailing.yml +++ b/pods/mailing.yml @@ -28,5 +28,5 @@ spec: value: "60" resources: limits: - memory: "64Mi" - cpu: "100m" + memory: "32Mi" + cpu: "10m" diff --git a/pods/nginx.yml b/pods/nginx.yml index 816fb41..d28ca3f 100644 --- a/pods/nginx.yml +++ b/pods/nginx.yml @@ -37,9 +37,12 @@ spec: - name: nginx image: return0927/nginx:1.19.3-hakase resources: + requests: + memory: "1Gi" + cpu: "1" limits: - memory: "128Mi" - cpu: "500m" + memory: "4Gi" + cpu: "6" ports: - containerPort: 80 volumeMounts: diff --git a/pods/postgres.yml b/pods/postgres.yml index 49bc85d..7d88e0e 100644 --- a/pods/postgres.yml +++ b/pods/postgres.yml @@ -40,7 +40,7 @@ spec: - name: postgres-init-scripts mountPath: /docker-entrypoint-initdb.d - name: postgres-data - mountPath: /var/lib/postgres/data + mountPath: /var/lib/postgresql/data volumes: - name: postgres-init-scripts hostPath: @@ -57,6 +57,8 @@ metadata: spec: selector: name: postgres + type: NodePort ports: - port: 5432 + nodePort: 30432 targetPort: 5432 diff --git a/pods/redis.yml b/pods/redis.yml index ba66e39..f31a3ba 100644 --- a/pods/redis.yml +++ b/pods/redis.yml @@ -16,8 +16,8 @@ spec: image: redis:7.4.1-alpine resources: limits: - memory: "128Mi" - cpu: "500m" + memory: "1Gi" + cpu: "1" --- apiVersion: v1 kind: Service @@ -26,6 +26,8 @@ metadata: spec: selector: app: redis-cluster + type: NodePort ports: - port: 6379 + nodePort: 30379 targetPort: 6379 -- GitLab