Safe_Share/safeshare/K8s/backend_deployment.yaml

76 lines
1.9 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: safeshare-backend
labels:
app: safeshare
spec:
replicas: 3
selector:
matchLabels:
app: safeshare
tier: backend
template:
metadata:
labels:
app: safeshare
tier: backend
spec:
containers:
- name: safeshare-backend
image: amusement3004/safeshare
imagePullPolicy: IfNotPresent
env:
- name: DEBUG
value: "True"
- name: SECRET_KEY
value: A_RANDOM_SECRET_KEY
- name: ALLOWED_HOSTS
value: "*"
- name: CACHE
value: "True"
- name: REDIS_HOST
value: redis # Use the DNS name of the Redis service within the cluster
- name: REDIS_PORT
value: "6379"
- name: REDIS_DB
value: "0"
- name: VIRUSTOTAL_API_KEY
value: "YOUR_API_KEY"
- name: AWS_ACCESS_KEY_ID
value: "YOUR_AWS_ACCESS_KEY_ID"
- name: AWS_SECRET_ACCESS_KEY
value: "YOUR_AWS_SECRET_ACCESS_KEY"
- name: REGION
value: "YOUR_AWS_REGION"
ports:
- containerPort: 8000
volumeMounts:
- name: safeshare-persistent-storage
mountPath: /var/lib/safeshare
volumes:
- name: safeshare-persistent-storage
persistentVolumeClaim:
claimName: redis-pv-claim
---
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: safeshare-backend-hpa
labels:
app: safeshare
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: safeshare-backend
minReplicas: 3
maxReplicas: 6
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 50