From 92b9e8b368e7e43e6ab795ec059ea731f6c50fc8 Mon Sep 17 00:00:00 2001 From: Ashley Felton Date: Tue, 23 Apr 2024 09:41:16 +0800 Subject: [PATCH] Added Kustomize resources: HorizontalPodAutoscaler for deployment workloads. --- README.md | 14 ++++++++++---- kustomize/base/deployment.yaml | 1 - kustomize/base/deployment_hpa.yaml | 17 +++++++++++++++++ kustomize/base/kustomization.yaml | 1 + .../overlays/prod/deployment_hpa_patch.yaml | 7 +++++++ kustomize/overlays/prod/kustomization.yaml | 1 + .../overlays/uat/deployment_hpa_patch.yaml | 7 +++++++ kustomize/overlays/uat/kustomization.yaml | 1 + 8 files changed, 44 insertions(+), 5 deletions(-) create mode 100644 kustomize/base/deployment_hpa.yaml create mode 100644 kustomize/overlays/prod/deployment_hpa_patch.yaml create mode 100644 kustomize/overlays/uat/deployment_hpa_patch.yaml diff --git a/README.md b/README.md index 3933b91..d4f3f04 100644 --- a/README.md +++ b/README.md @@ -4,12 +4,18 @@ MapProxy service application Basic MapProxy service used internally by the Department of Biodiversity, Conservation and Attractions. +# Docker image + +To build a new Docker image from the `Dockerfile`: + + docker image build -t ghcr.io/dbca-wa/mapproxy . + # Running Docker container -When running this image as a container or workload, remember to provide a -configuration file at `/app/config/mapproxy.yaml` (this can be a bind-mounted -local file or a configmap in Kubernetes). +When running this image as a container, provide a configuration file +mounted at `/app/config/mapproxy.yaml` (this can be a bind-mounted +local file or a ConfigMap in Kubernetes). -Example: +Example using a local bind-mount file: docker container run -p 8080:8080 -v $PWD/mapproxy.yaml:/app/config/mapproxy.yaml ghcr.io/dbca-wa/mapproxy diff --git a/kustomize/base/deployment.yaml b/kustomize/base/deployment.yaml index 077e63a..760cc2c 100644 --- a/kustomize/base/deployment.yaml +++ b/kustomize/base/deployment.yaml @@ -3,7 +3,6 @@ kind: Deployment metadata: name: mapproxy-deployment spec: - replicas: 2 strategy: type: RollingUpdate template: diff --git a/kustomize/base/deployment_hpa.yaml b/kustomize/base/deployment_hpa.yaml new file mode 100644 index 0000000..19449ff --- /dev/null +++ b/kustomize/base/deployment_hpa.yaml @@ -0,0 +1,17 @@ +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: mapproxy-deployment-hpa +spec: + minReplicas: 1 + maxReplicas: 3 + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + metrics: + - resource: + name: cpu + target: + type: Utilization + averageUtilization: 250 + type: Resource diff --git a/kustomize/base/kustomization.yaml b/kustomize/base/kustomization.yaml index eb71186..acf5a05 100644 --- a/kustomize/base/kustomization.yaml +++ b/kustomize/base/kustomization.yaml @@ -2,5 +2,6 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - deployment.yaml + - deployment_hpa.yaml - pvc.yaml - service.yaml diff --git a/kustomize/overlays/prod/deployment_hpa_patch.yaml b/kustomize/overlays/prod/deployment_hpa_patch.yaml new file mode 100644 index 0000000..6ff5f16 --- /dev/null +++ b/kustomize/overlays/prod/deployment_hpa_patch.yaml @@ -0,0 +1,7 @@ +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: mapproxy-deployment-hpa +spec: + scaleTargetRef: + name: mapproxy-deployment-prod diff --git a/kustomize/overlays/prod/kustomization.yaml b/kustomize/overlays/prod/kustomization.yaml index fb1c519..a620349 100644 --- a/kustomize/overlays/prod/kustomization.yaml +++ b/kustomize/overlays/prod/kustomization.yaml @@ -15,6 +15,7 @@ labels: variant: prod patches: - path: deployment_patch.yaml + - path: deployment_hpa_patch.yaml - path: service_patch.yaml images: - name: ghcr.io/dbca-wa/mapproxy diff --git a/kustomize/overlays/uat/deployment_hpa_patch.yaml b/kustomize/overlays/uat/deployment_hpa_patch.yaml new file mode 100644 index 0000000..059d4e6 --- /dev/null +++ b/kustomize/overlays/uat/deployment_hpa_patch.yaml @@ -0,0 +1,7 @@ +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: mapproxy-deployment-hpa +spec: + scaleTargetRef: + name: mapproxy-deployment-uat diff --git a/kustomize/overlays/uat/kustomization.yaml b/kustomize/overlays/uat/kustomization.yaml index 86ae1b9..8ddd4cc 100644 --- a/kustomize/overlays/uat/kustomization.yaml +++ b/kustomize/overlays/uat/kustomization.yaml @@ -11,6 +11,7 @@ labels: variant: uat patches: - path: deployment_patch.yaml + - path: deployment_hpa_patch.yaml - path: service_patch.yaml configMapGenerator: - name: mapproxy-configmap