This commit is contained in:
jooho
2021-12-26 17:08:41 +09:00
parent d6e543eb24
commit 628f2ace5a
97 changed files with 3958 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: apigateway-hpa-cpu
labels:
env: production
tier: backend
app: apigateway
name: apigateway-hpa-cpu
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: apigateway-deployment
minReplicas: 1
maxReplicas: 3
targetCPUUtilizationPercentage: 70

View File

@@ -0,0 +1,70 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: apigateway-deployment
annotations:
kubernetes.io/change-cause: "Initialized by manifest files."
labels:
env: production
tier: backend
app: apigateway
name: apigateway-deployment
spec:
replicas: 1
selector:
matchLabels:
env: production
tier: backend
app: apigateway
name: apigateway-pod
template:
metadata:
labels:
env: production
tier: backend
app: apigateway
name: apigateway-pod
spec:
containers:
- name: apigateway
image: egovframe/egovframe-msa-edu-backend-apigateway:latest # TODO
imagePullPolicy: Always
ports:
- containerPort: 8000
env:
- name: EUREKA_INSTANCE_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: EUREKA_INSTANCE_HOSTNAME
- name: APIGATEWAY_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: APIGATEWAY_HOSTNAME
- name: SPRING_CLOUD_CONFIG_URI
valueFrom:
configMapKeyRef:
name: backend-configmap
key: SPRING_CLOUD_CONFIG_URI
- name: RABBITMQ_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: RABBITMQ_HOSTNAME
startupProbe:
httpGet:
path: /actuator/health
port: 8000
initialDelaySeconds: 10
periodSeconds: 5
successThreshold: 1
failureThreshold: 36
readinessProbe:
httpGet:
path: /actuator/health
port: 8000
initialDelaySeconds: 10
periodSeconds: 10
successThreshold: 1
failureThreshold: 3

View File

@@ -0,0 +1,18 @@
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: apigateway-ingress
labels:
env: production
tier: backend
app: apigateway
name: apigateway-ingress
spec:
rules:
- host: <백엔드 API 게이트웨이 도메인> # TODO
http:
paths:
- path: /
backend:
serviceName: apigateway
servicePort: 8000

View File

@@ -0,0 +1,18 @@
apiVersion: v1
kind: Service
metadata:
name: apigateway
labels:
env: production
tier: backend
app: apigateway
name: apigateway-service
spec:
ports:
- port: 8000
targetPort: 8000
selector:
env: production
tier: backend
app: apigateway
name: apigateway-pod

View File

@@ -0,0 +1,17 @@
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: board-service-hpa-cpu
labels:
env: production
tier: backend
app: board-service
name: board-service-hpa-cpu
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: board-service-deployment
minReplicas: 1
maxReplicas: 3
targetCPUUtilizationPercentage: 70

View File

@@ -0,0 +1,99 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: board-service-deployment
annotations:
kubernetes.io/change-cause: "Initialized by manifest files."
labels:
env: production
tier: backend
app: board-service
name: board-service-deployment
spec:
replicas: 1
selector:
matchLabels:
env: production
tier: backend
app: board-service
name: board-service-pod
template:
metadata:
labels:
env: production
tier: backend
app: board-service
name: board-service-pod
spec:
tolerations:
- key: pvc
operator: Equal
value: backend-pvc
effect: NoSchedule
containers:
- name: board-service
image: egovframe/egovframe-msa-edu-backend-board-service:latest # TODO
imagePullPolicy: Always
ports:
- containerPort: 80
env:
- name: SERVER_PORT
value: "80"
- name: APP_HOME
valueFrom:
configMapKeyRef:
name: common-configmap
key: APP_HOME
- name: EUREKA_INSTANCE_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: EUREKA_INSTANCE_HOSTNAME
- name: APIGATEWAY_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: APIGATEWAY_HOSTNAME
- name: SPRING_CLOUD_CONFIG_URI
valueFrom:
configMapKeyRef:
name: backend-configmap
key: SPRING_CLOUD_CONFIG_URI
- name: MYSQL_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: MYSQL_HOSTNAME
- name: ZIPKIN_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: ZIPKIN_HOSTNAME
- name: RABBITMQ_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: RABBITMQ_HOSTNAME
startupProbe:
httpGet:
path: /actuator/health
port: 80
initialDelaySeconds: 10
periodSeconds: 5
successThreshold: 1
failureThreshold: 36
readinessProbe:
httpGet:
path: /actuator/health
port: 80
initialDelaySeconds: 10
periodSeconds: 10
successThreshold: 1
failureThreshold: 3
volumeMounts:
- name: backend-volume
mountPath: /srv/nfs
volumes:
- name: backend-volume
persistentVolumeClaim:
claimName: backend-pvc

View File

@@ -0,0 +1,18 @@
apiVersion: v1
kind: Service
metadata:
name: board-service
labels:
env: production
tier: backend
app: board-service
name: board-service-service
spec:
ports:
- port: 80
targetPort: 80
selector:
env: production
tier: backend
app: board-service
name: board-service-pod

View File

@@ -0,0 +1,59 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: config-deployment
annotations:
kubernetes.io/change-cause: "Initialized by manifest files."
labels:
env: production
tier: backend
app: config
name: config-deployment
spec:
replicas: 1
selector:
matchLabels:
env: production
tier: backend
app: config
name: config-pod
template:
metadata:
labels:
env: production
tier: backend
app: config
name: config-pod
spec:
containers:
- name: config
image: egovframe/egovframe-msa-edu-backend-config:latest # TODO
imagePullPolicy: Always
ports:
- containerPort: 8888
env:
# - name: SPRING_PROFILES_ACTIVE
# value: "prod"
- name: SEARCH_LOCATION
value: "classpath:/config"
- name: RABBITMQ_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: RABBITMQ_HOSTNAME
startupProbe:
httpGet:
path: /actuator/health
port: 8888
initialDelaySeconds: 10
periodSeconds: 5
successThreshold: 1
failureThreshold: 36
readinessProbe:
httpGet:
path: /actuator/health
port: 8888
initialDelaySeconds: 30
periodSeconds: 10
successThreshold: 1
failureThreshold: 3

View File

@@ -0,0 +1,18 @@
apiVersion: v1
kind: Service
metadata:
name: config
labels:
env: production
tier: backend
app: config
name: config-service
spec:
ports:
- port: 8888
targetPort: 8888
selector:
env: production
tier: backend
app: config
name: config-pod

View File

@@ -0,0 +1,49 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: discovery-deployment
annotations:
kubernetes.io/change-cause: "Initialized by manifest files."
labels:
env: production
tier: backend
app: discovery
name: discovery-deployment
spec:
replicas: 1
selector:
matchLabels:
env: production
tier: backend
app: discovery
name: discovery-pod
template:
metadata:
labels:
env: production
tier: backend
app: discovery
name: discovery-pod
spec:
containers:
- name: discovery
image: egovframe/egovframe-msa-edu-backend-discovery:latest # TODO
imagePullPolicy: Always
ports:
- containerPort: 8761
startupProbe:
httpGet:
path: /actuator/health
port: 8761
initialDelaySeconds: 10
periodSeconds: 5
successThreshold: 1
failureThreshold: 36
readinessProbe:
httpGet:
path: /actuator/health
port: 8761
initialDelaySeconds: 10
periodSeconds: 10
successThreshold: 1
failureThreshold: 3

View File

@@ -0,0 +1,18 @@
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: discovery-ingress
labels:
env: production
tier: backend
app: discovery
name: discovery-ingress
spec:
rules:
- host: <백엔드 유레카 서버 도메인> # TODO
http:
paths:
- path: /
backend:
serviceName: discovery
servicePort: 8761

View File

@@ -0,0 +1,18 @@
apiVersion: v1
kind: Service
metadata:
name: discovery
labels:
env: production
tier: backend
app: discovery
name: discovery-service
spec:
ports:
- port: 8761
targetPort: 8761
selector:
env: production
tier: backend
app: discovery
name: discovery-pod

View File

@@ -0,0 +1,17 @@
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: portal-service-hpa-cpu
labels:
env: production
tier: backend
app: portal-service
name: portal-service-hpa-cpu
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: portal-service-deployment
minReplicas: 1
maxReplicas: 3
targetCPUUtilizationPercentage: 70

View File

@@ -0,0 +1,99 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: portal-service-deployment
annotations:
kubernetes.io/change-cause: "Initialized by manifest files."
labels:
env: production
tier: backend
app: portal-service
name: portal-service-deployment
spec:
replicas: 1
selector:
matchLabels:
env: production
tier: backend
app: portal-service
name: portal-service-pod
template:
metadata:
labels:
env: production
tier: backend
app: portal-service
name: portal-service-pod
spec:
tolerations:
- key: pvc
operator: Equal
value: backend-pvc
effect: NoSchedule
containers:
- name: portal-service
image: egovframe/egovframe-msa-edu-backend-portal-service:latest # TODO
imagePullPolicy: Always
ports:
- containerPort: 80
env:
- name: SERVER_PORT
value: "80"
- name: APP_HOME
valueFrom:
configMapKeyRef:
name: common-configmap
key: APP_HOME
- name: EUREKA_INSTANCE_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: EUREKA_INSTANCE_HOSTNAME
- name: APIGATEWAY_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: APIGATEWAY_HOSTNAME
- name: SPRING_CLOUD_CONFIG_URI
valueFrom:
configMapKeyRef:
name: backend-configmap
key: SPRING_CLOUD_CONFIG_URI
- name: MYSQL_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: MYSQL_HOSTNAME
- name: ZIPKIN_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: ZIPKIN_HOSTNAME
- name: RABBITMQ_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: RABBITMQ_HOSTNAME
startupProbe:
httpGet:
path: /actuator/health
port: 80
initialDelaySeconds: 10
periodSeconds: 5
successThreshold: 1
failureThreshold: 36
readinessProbe:
httpGet:
path: /actuator/health
port: 80
initialDelaySeconds: 10
periodSeconds: 10
successThreshold: 1
failureThreshold: 3
volumeMounts:
- name: backend-volume
mountPath: /srv/nfs
volumes:
- name: backend-volume
persistentVolumeClaim:
claimName: backend-pvc

View File

@@ -0,0 +1,18 @@
apiVersion: v1
kind: Service
metadata:
name: portal-service
labels:
env: production
tier: backend
app: portal-service
name: portal-service-service
spec:
ports:
- port: 80
targetPort: 80
selector:
env: production
tier: backend
app: portal-service
name: portal-service-pod

View File

@@ -0,0 +1,17 @@
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: reserve-check-service-hpa-cpu
labels:
env: production
tier: backend
app: reserve-check-service
name: reserve-check-service-hpa-cpu
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: reserve-check-service-deployment
minReplicas: 1
maxReplicas: 3
targetCPUUtilizationPercentage: 70

View File

@@ -0,0 +1,94 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: reserve-check-service-deployment
annotations:
kubernetes.io/change-cause: "Initialized by manifest files."
labels:
env: production
tier: backend
app: reserve-check-service
name: reserve-check-service-deployment
spec:
replicas: 1
selector:
matchLabels:
env: production
tier: backend
app: reserve-check-service
name: reserve-check-service-pod
template:
metadata:
labels:
env: production
tier: backend
app: reserve-check-service
name: reserve-check-service-pod
spec:
containers:
- name: reserve-check-service
image: egovframe/egovframe-msa-edu-backend-reserve-check-service:latest # TODO
imagePullPolicy: Always
ports:
- containerPort: 80
env:
- name: SERVER_PORT
value: "80"
- name: APP_HOME
valueFrom:
configMapKeyRef:
name: common-configmap
key: APP_HOME
- name: EUREKA_INSTANCE_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: EUREKA_INSTANCE_HOSTNAME
- name: APIGATEWAY_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: APIGATEWAY_HOSTNAME
- name: SPRING_CLOUD_CONFIG_URI
valueFrom:
configMapKeyRef:
name: backend-configmap
key: SPRING_CLOUD_CONFIG_URI
- name: MYSQL_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: MYSQL_HOSTNAME
- name: ZIPKIN_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: ZIPKIN_HOSTNAME
- name: RABBITMQ_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: RABBITMQ_HOSTNAME
startupProbe:
httpGet:
path: /actuator/health
port: 80
initialDelaySeconds: 10
periodSeconds: 5
successThreshold: 1
failureThreshold: 36
readinessProbe:
httpGet:
path: /actuator/health
port: 80
initialDelaySeconds: 10
periodSeconds: 10
successThreshold: 1
failureThreshold: 3
volumeMounts:
- name: backend-volume
mountPath: /srv/nfs
volumes:
- name: backend-volume
persistentVolumeClaim:
claimName: backend-pvc

View File

@@ -0,0 +1,18 @@
apiVersion: v1
kind: Service
metadata:
name: reserve-check-service
labels:
env: production
tier: backend
app: reserve-check-service
name: reserve-check-service-service
spec:
ports:
- port: 80
targetPort: 80
selector:
env: production
tier: backend
app: reserve-check-service
name: reserve-check-service-pod

View File

@@ -0,0 +1,17 @@
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: reserve-item-service-hpa-cpu
labels:
env: production
tier: backend
app: reserve-item-service
name: reserve-item-service-hpa-cpu
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: reserve-item-service-deployment
minReplicas: 1
maxReplicas: 3
targetCPUUtilizationPercentage: 70

View File

@@ -0,0 +1,94 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: reserve-item-service-deployment
annotations:
kubernetes.io/change-cause: "Initialized by manifest files."
labels:
env: production
tier: backend
app: reserve-item-service
name: reserve-item-service-deployment
spec:
replicas: 1
selector:
matchLabels:
env: production
tier: backend
app: reserve-item-service
name: reserve-item-service-pod
template:
metadata:
labels:
env: production
tier: backend
app: reserve-item-service
name: reserve-item-service-pod
spec:
containers:
- name: reserve-item-service
image: egovframe/egovframe-msa-edu-backend-reserve-item-service:latest # TODO
imagePullPolicy: Always
ports:
- containerPort: 80
env:
- name: SERVER_PORT
value: "80"
- name: APP_HOME
valueFrom:
configMapKeyRef:
name: common-configmap
key: APP_HOME
- name: EUREKA_INSTANCE_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: EUREKA_INSTANCE_HOSTNAME
- name: APIGATEWAY_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: APIGATEWAY_HOSTNAME
- name: SPRING_CLOUD_CONFIG_URI
valueFrom:
configMapKeyRef:
name: backend-configmap
key: SPRING_CLOUD_CONFIG_URI
- name: MYSQL_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: MYSQL_HOSTNAME
- name: ZIPKIN_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: ZIPKIN_HOSTNAME
- name: RABBITMQ_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: RABBITMQ_HOSTNAME
startupProbe:
httpGet:
path: /actuator/health
port: 80
initialDelaySeconds: 10
periodSeconds: 5
successThreshold: 1
failureThreshold: 36
readinessProbe:
httpGet:
path: /actuator/health
port: 80
initialDelaySeconds: 10
periodSeconds: 10
successThreshold: 1
failureThreshold: 3
volumeMounts:
- name: backend-volume
mountPath: /srv/nfs
volumes:
- name: backend-volume
persistentVolumeClaim:
claimName: backend-pvc

View File

@@ -0,0 +1,18 @@
apiVersion: v1
kind: Service
metadata:
name: reserve-item-service
labels:
env: production
tier: backend
app: reserve-item-service
name: reserve-item-service-service
spec:
ports:
- port: 80
targetPort: 80
selector:
env: production
tier: backend
app: reserve-item-service
name: reserve-item-service-pod

View File

@@ -0,0 +1,17 @@
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: reserve-request-service-hpa-cpu
labels:
env: production
tier: backend
app: reserve-request-service
name: reserve-request-service-hpa-cpu
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: reserve-request-service-deployment
minReplicas: 1
maxReplicas: 3
targetCPUUtilizationPercentage: 70

View File

@@ -0,0 +1,94 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: reserve-request-service-deployment
annotations:
kubernetes.io/change-cause: "Initialized by manifest files."
labels:
env: production
tier: backend
app: reserve-request-service
name: reserve-request-service-deployment
spec:
replicas: 1
selector:
matchLabels:
env: production
tier: backend
app: reserve-request-service
name: reserve-request-service-pod
template:
metadata:
labels:
env: production
tier: backend
app: reserve-request-service
name: reserve-request-service-pod
spec:
containers:
- name: reserve-request-service
image: egovframe/egovframe-msa-edu-backend-reserve-request-service:latest # TODO
imagePullPolicy: Always
ports:
- containerPort: 80
env:
- name: SERVER_PORT
value: "80"
- name: APP_HOME
valueFrom:
configMapKeyRef:
name: common-configmap
key: APP_HOME
- name: EUREKA_INSTANCE_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: EUREKA_INSTANCE_HOSTNAME
- name: APIGATEWAY_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: APIGATEWAY_HOSTNAME
- name: SPRING_CLOUD_CONFIG_URI
valueFrom:
configMapKeyRef:
name: backend-configmap
key: SPRING_CLOUD_CONFIG_URI
- name: MYSQL_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: MYSQL_HOSTNAME
- name: ZIPKIN_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: ZIPKIN_HOSTNAME
- name: RABBITMQ_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: RABBITMQ_HOSTNAME
startupProbe:
httpGet:
path: /actuator/health
port: 80
initialDelaySeconds: 10
periodSeconds: 5
successThreshold: 1
failureThreshold: 36
readinessProbe:
httpGet:
path: /actuator/health
port: 80
initialDelaySeconds: 10
periodSeconds: 10
successThreshold: 1
failureThreshold: 3
volumeMounts:
- name: backend-volume
mountPath: /srv/nfs
volumes:
- name: backend-volume
persistentVolumeClaim:
claimName: backend-pvc

View File

@@ -0,0 +1,18 @@
apiVersion: v1
kind: Service
metadata:
name: reserve-request-service
labels:
env: production
tier: backend
app: reserve-request-service
name: reserve-request-service-service
spec:
ports:
- port: 80
targetPort: 80
selector:
env: production
tier: backend
app: reserve-request-service
name: reserve-request-service-pod

View File

@@ -0,0 +1,17 @@
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: user-service-hpa-cpu
labels:
env: production
tier: backend
app: user-service
name: user-service-hpa-cpu
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: user-service-deployment
minReplicas: 1
maxReplicas: 3
targetCPUUtilizationPercentage: 70

View File

@@ -0,0 +1,94 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: user-service-deployment
annotations:
kubernetes.io/change-cause: "Initialized by manifest files."
labels:
env: production
tier: backend
app: user-service
name: user-service-deployment
spec:
replicas: 1
selector:
matchLabels:
env: production
tier: backend
app: user-service
name: user-service-pod
template:
metadata:
labels:
env: production
tier: backend
app: user-service
name: user-service-pod
spec:
containers:
- name: user-service
image: egovframe/egovframe-msa-edu-backend-user-service:latest # TODO
imagePullPolicy: Always
ports:
- containerPort: 80
env:
- name: SERVER_PORT
value: "80"
- name: APP_HOME
valueFrom:
configMapKeyRef:
name: common-configmap
key: APP_HOME
- name: EUREKA_INSTANCE_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: EUREKA_INSTANCE_HOSTNAME
- name: APIGATEWAY_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: APIGATEWAY_HOSTNAME
- name: SPRING_CLOUD_CONFIG_URI
valueFrom:
configMapKeyRef:
name: backend-configmap
key: SPRING_CLOUD_CONFIG_URI
- name: MYSQL_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: MYSQL_HOSTNAME
- name: ZIPKIN_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: ZIPKIN_HOSTNAME
- name: RABBITMQ_HOSTNAME
valueFrom:
configMapKeyRef:
name: backend-configmap
key: RABBITMQ_HOSTNAME
startupProbe:
httpGet:
path: /actuator/health
port: 80
initialDelaySeconds: 10
periodSeconds: 5
successThreshold: 1
failureThreshold: 36
readinessProbe:
httpGet:
path: /actuator/health
port: 80
initialDelaySeconds: 10
periodSeconds: 10
successThreshold: 1
failureThreshold: 3
volumeMounts:
- name: backend-volume
mountPath: /srv/nfs
volumes:
- name: backend-volume
persistentVolumeClaim:
claimName: backend-pvc

View File

@@ -0,0 +1,18 @@
apiVersion: v1
kind: Service
metadata:
name: user-service
labels:
env: production
tier: backend
app: user-service
name: user-service-service
spec:
ports:
- port: 80
targetPort: 80
selector:
env: production
tier: backend
app: user-service
name: user-service-pod

View File

@@ -0,0 +1,17 @@
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: frontend-admin-hpa-cpu
labels:
env: production
tier: frontend
app: admin
name: frontend-admin-hpa-cpu
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: frontend-admin-deployment
minReplicas: 1
maxReplicas: 3
targetCPUUtilizationPercentage: 70

View File

@@ -0,0 +1,49 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: frontend-admin-deployment
annotations:
kubernetes.io/change-cause: "Initialized by manifest files."
labels:
env: production
tier: frontend
app: admin
name: frontend-admin-deployment
spec:
replicas: 1
selector:
matchLabels:
env: production
tier: frontend
app: admin
name: frontend-admin-pod
template:
metadata:
labels:
env: production
tier: frontend
app: admin
name: frontend-admin-pod
spec:
containers:
- name: frontend-admin
image: egovframe/egovframe-msa-edu-frontend-admin:latest # TODO
imagePullPolicy: Always
ports:
- containerPort: 3000
startupProbe:
httpGet:
path: /
port: 3000
initialDelaySeconds: 10
periodSeconds: 5
successThreshold: 1
failureThreshold: 36
readinessProbe:
httpGet:
path: /
port: 3000
initialDelaySeconds: 60
periodSeconds: 10
successThreshold: 1
failureThreshold: 3

View File

@@ -0,0 +1,18 @@
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: frontend-admin-ingress
labels:
env: production
tier: frontend
app: admin
name: frontend-admin-ingress
spec:
rules:
- host: <프론트엔드 관리자 도메인> # TODO
http:
paths:
- path: /
backend:
serviceName: frontend-admin
servicePort: 3000

View File

@@ -0,0 +1,19 @@
apiVersion: v1
kind: Service
metadata:
name: frontend-admin
labels:
env: production
tier: frontend
app: admin
name: frontend-admin-service
spec:
ports:
- name: frontend-admin-http
port: 3000
targetPort: 3000
selector:
env: production
tier: frontend
app: admin
name: frontend-admin-pod

View File

@@ -0,0 +1,17 @@
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: frontend-portal-hpa-cpu
labels:
env: production
tier: frontend
app: portal
name: frontend-portal-hpa-cpu
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: frontend-portal-deployment
minReplicas: 1
maxReplicas: 3
targetCPUUtilizationPercentage: 70

View File

@@ -0,0 +1,49 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: frontend-portal-deployment
annotations:
kubernetes.io/change-cause: "Initialized by manifest files."
labels:
env: production
tier: frontend
app: portal
name: frontend-portal-deployment
spec:
replicas: 1
selector:
matchLabels:
env: production
tier: frontend
app: portal
name: frontend-portal-pod
template:
metadata:
labels:
env: production
tier: frontend
app: portal
name: frontend-portal-pod
spec:
containers:
- name: frontend-portal
image: egovframe/egovframe-msa-edu-frontend-portal:latest # TODO
imagePullPolicy: Always
ports:
- containerPort: 3000
startupProbe:
httpGet:
path: /
port: 3000
initialDelaySeconds: 10
periodSeconds: 5
successThreshold: 1
failureThreshold: 36
readinessProbe:
httpGet:
path: /
port: 3000
initialDelaySeconds: 60
periodSeconds: 10
successThreshold: 1
failureThreshold: 3

View File

@@ -0,0 +1,18 @@
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: frontend-portal-ingress
labels:
env: production
tier: frontend
app: portal
name: frontend-portal-ingress
spec:
rules:
- host: <프론트엔드 포털 도메인> # TODO
http:
paths:
- path: /
backend:
serviceName: frontend-portal
servicePort: 3000

View File

@@ -0,0 +1,19 @@
apiVersion: v1
kind: Service
metadata:
name: frontend-portal
labels:
env: production
tier: frontend
app: portal
name: frontend-portal-service
spec:
ports:
- name: frontend-portal-http
port: 3000
targetPort: 3000
selector:
env: production
tier: frontend
app: portal
name: frontend-portal-pod