From fd090d2e2308271d5853f33f429dab643c881ae3 Mon Sep 17 00:00:00 2001 From: Kenzo-Hugo Hillion <kenzo-hugo.hillion1@pasteur.fr> Date: Wed, 3 Jun 2020 17:44:11 +0200 Subject: [PATCH] Externalize django static from backend on kubernetes add missing volume in django static yaml kubernetes --- ci/deploy/deploy.sh | 3 ++ ci/kubernetes/backend.yaml | 19 ------------ ci/kubernetes/django-static.yaml | 51 ++++++++++++++++++++++++++++++++ ci/kubernetes/ingress.yaml | 2 +- 4 files changed, 55 insertions(+), 20 deletions(-) create mode 100644 ci/kubernetes/django-static.yaml diff --git a/ci/deploy/deploy.sh b/ci/deploy/deploy.sh index 990438b..b6536c3 100644 --- a/ci/deploy/deploy.sh +++ b/ci/deploy/deploy.sh @@ -26,6 +26,9 @@ kubectl -n ${NAMESPACE} wait --for=condition=available --timeout=600s deployment ## Backend envsubst < ci/kubernetes/backend.yaml | kubectl apply -n ${NAMESPACE} -f - kubectl -n ${NAMESPACE} patch deployment backend -p "{\"spec\":{\"template\":{\"metadata\":{\"labels\":{\"date\":\"`date +'%s'`\"}}}}}" +## Django static +envsubst < ci/kubernetes/django-static.yaml | kubectl apply -n ${NAMESPACE} -f - +kubectl -n ${NAMESPACE} patch deployment django-static -p "{\"spec\":{\"template\":{\"metadata\":{\"labels\":{\"date\":\"`date +'%s'`\"}}}}}" ## Celery worker # envsubst < ci/kubernetes/celery-worker.yaml | kubectl apply -n ${NAMESPACE} -f - ## Frontend diff --git a/ci/kubernetes/backend.yaml b/ci/kubernetes/backend.yaml index 6065182..37e538f 100644 --- a/ci/kubernetes/backend.yaml +++ b/ci/kubernetes/backend.yaml @@ -63,21 +63,6 @@ spec: volumeMounts: - name: static-data mountPath: /code/public/static - - name: django-static-app - image: $CI_REGISTRY_IMAGE/django-static:${CI_COMMIT_REF_NAME} - imagePullPolicy: Always - ports: - - containerPort: 80 - resources: - requests: - memory: "64Mi" - cpu: "50m" - limits: - memory: "128Mi" - cpu: "100m" - volumeMounts: - - name: static-data - mountPath: /usr/src/app/static/ imagePullSecrets: - name: registry-gitlab volumes: @@ -100,9 +85,5 @@ spec: protocol: TCP port: 8000 targetPort: 8000 - - name: django-static - protocol: TCP - port: 8080 - targetPort: 80 selector: app: backend diff --git a/ci/kubernetes/django-static.yaml b/ci/kubernetes/django-static.yaml new file mode 100644 index 0000000..6996c6c --- /dev/null +++ b/ci/kubernetes/django-static.yaml @@ -0,0 +1,51 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: django-static + labels: + app: django-static +spec: + replicas: 1 + selector: + matchLabels: + app: django-static + template: + metadata: + labels: + app: django-static + spec: + containers: + - name: django-static-app + image: $CI_REGISTRY_IMAGE/django-static:${CI_COMMIT_REF_NAME} + imagePullPolicy: Always + ports: + - containerPort: 80 + resources: + requests: + memory: "64Mi" + cpu: "50m" + limits: + memory: "128Mi" + cpu: "100m" + volumeMounts: + - name: static-data + mountPath: /usr/src/app/static/ + volumes: + - name: static-data + emptyDir: {} +--- +apiVersion: v1 +kind: Service +metadata: + name: django-static + labels: + app: django-static +spec: + type: ClusterIP + ports: + - name: django-static-app + protocol: TCP + port: 8080 + targetPort: 80 + selector: + app: django-static diff --git a/ci/kubernetes/ingress.yaml b/ci/kubernetes/ingress.yaml index f5684f7..d10ef60 100644 --- a/ci/kubernetes/ingress.yaml +++ b/ci/kubernetes/ingress.yaml @@ -21,7 +21,7 @@ spec: servicePort: 8000 - path: /static backend: - serviceName: backend + serviceName: django-static servicePort: 8080 - path: /api backend: -- GitLab