k8s
This commit is contained in:
17
k8s/applications/backend/apigateway/autoscaler.yaml
Normal file
17
k8s/applications/backend/apigateway/autoscaler.yaml
Normal 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
|
||||
70
k8s/applications/backend/apigateway/deployment.yaml
Normal file
70
k8s/applications/backend/apigateway/deployment.yaml
Normal 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
|
||||
18
k8s/applications/backend/apigateway/ingress/ingress.yaml
Normal file
18
k8s/applications/backend/apigateway/ingress/ingress.yaml
Normal 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
|
||||
18
k8s/applications/backend/apigateway/service.yaml
Normal file
18
k8s/applications/backend/apigateway/service.yaml
Normal 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
|
||||
17
k8s/applications/backend/board-service/autoscaler.yaml
Normal file
17
k8s/applications/backend/board-service/autoscaler.yaml
Normal 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
|
||||
99
k8s/applications/backend/board-service/deployment.yaml
Normal file
99
k8s/applications/backend/board-service/deployment.yaml
Normal 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
|
||||
18
k8s/applications/backend/board-service/service.yaml
Normal file
18
k8s/applications/backend/board-service/service.yaml
Normal 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
|
||||
59
k8s/applications/backend/config/deployment.yaml
Normal file
59
k8s/applications/backend/config/deployment.yaml
Normal 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
|
||||
18
k8s/applications/backend/config/service.yaml
Normal file
18
k8s/applications/backend/config/service.yaml
Normal 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
|
||||
49
k8s/applications/backend/discovery/deployment.yaml
Normal file
49
k8s/applications/backend/discovery/deployment.yaml
Normal 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
|
||||
18
k8s/applications/backend/discovery/ingress/ingress.yaml
Normal file
18
k8s/applications/backend/discovery/ingress/ingress.yaml
Normal 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
|
||||
18
k8s/applications/backend/discovery/service.yaml
Normal file
18
k8s/applications/backend/discovery/service.yaml
Normal 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
|
||||
17
k8s/applications/backend/portal-service/autoscaler.yaml
Normal file
17
k8s/applications/backend/portal-service/autoscaler.yaml
Normal 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
|
||||
99
k8s/applications/backend/portal-service/deployment.yaml
Normal file
99
k8s/applications/backend/portal-service/deployment.yaml
Normal 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
|
||||
18
k8s/applications/backend/portal-service/service.yaml
Normal file
18
k8s/applications/backend/portal-service/service.yaml
Normal 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
|
||||
@@ -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
|
||||
@@ -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
|
||||
18
k8s/applications/backend/reserve-check-service/service.yaml
Normal file
18
k8s/applications/backend/reserve-check-service/service.yaml
Normal 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
|
||||
@@ -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
|
||||
@@ -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
|
||||
18
k8s/applications/backend/reserve-item-service/service.yaml
Normal file
18
k8s/applications/backend/reserve-item-service/service.yaml
Normal 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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
17
k8s/applications/backend/user-service/autoscaler.yaml
Normal file
17
k8s/applications/backend/user-service/autoscaler.yaml
Normal 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
|
||||
94
k8s/applications/backend/user-service/deployment.yaml
Normal file
94
k8s/applications/backend/user-service/deployment.yaml
Normal 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
|
||||
18
k8s/applications/backend/user-service/service.yaml
Normal file
18
k8s/applications/backend/user-service/service.yaml
Normal 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
|
||||
Reference in New Issue
Block a user