diff --git a/gcloud/nginx-service/nginx-service-autoscaler.yaml b/gcloud/nginx-service/nginx-service-autoscaler.yaml new file mode 100644 index 0000000000000000000000000000000000000000..3ab00c760ec2dc2c223fe1eac554e9767eda66be --- /dev/null +++ b/gcloud/nginx-service/nginx-service-autoscaler.yaml @@ -0,0 +1,12 @@ +apiVersion: autoscaling/v1 +kind: HorizontalPodAutoscaler +metadata: + name: nginx-deployment-hpa +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: nginx-deployment + minReplicas: 1 + maxReplicas: 3 + targetCPUUtilizationPercentage: 80 diff --git a/gcloud/nginx-service/nginx-service-deployment.yaml b/gcloud/nginx-service/nginx-service-deployment.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f470cb7333dd621a2d5b06002b3207c36a7c699e --- /dev/null +++ b/gcloud/nginx-service/nginx-service-deployment.yaml @@ -0,0 +1,39 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: nginx-deployment +spec: + selector: + matchLabels: + app: nginx + replicas: 1 + template: + metadata: + labels: + app: nginx + spec: + containers: + - name: nginx + image: nginx:latest + volumeMounts: + - name: nginx-conf + mountPath: /etc/nginx/conf.d + ports: + - containerPort: 80 + volumes: + - name: nginx-conf + configMap: + name: nginx-conf +--- +apiVersion: v1 +kind: Service +metadata: + name: nginx-service +spec: + selector: + app: nginx + ports: + - name: http + port: 80 + targetPort: 80 + type: LoadBalancer diff --git a/gcloud/nginx-service/nginx.conf b/gcloud/nginx-service/nginx.conf new file mode 100644 index 0000000000000000000000000000000000000000..4ddcffe77384ca17671cb5c984c58b3d81f2210b --- /dev/null +++ b/gcloud/nginx-service/nginx.conf @@ -0,0 +1,29 @@ +upstream frontend-service { + server frontend-service:80; +} + +upstream user-service { + server user-backend-service:9000; +} + +server { + listen 80; + + location / { + rewrite ^//(.*) /$1 break; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://frontend-service/; + } + + location /api/user-service/ { + rewrite ^/user-service/(.*) /$1 break; # works for both /server1 and /server1/ + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://user-service/; + } +}