From ac52c7ee74f7155e5880e5a0bde37bc3682bdbd4 Mon Sep 17 00:00:00 2001 From: Kyle Wiebers Date: Fri, 6 Sep 2019 16:47:47 -0500 Subject: Refine the review-app config variables Add base-config.yaml to define non-environment variable config for review app deploy. Define resource requests and limits for all used apps --- scripts/review_apps/base-config.yaml | 151 +++++++++++++++++++++++++++++++++++ scripts/review_apps/review-apps.sh | 96 ++-------------------- 2 files changed, 156 insertions(+), 91 deletions(-) create mode 100644 scripts/review_apps/base-config.yaml diff --git a/scripts/review_apps/base-config.yaml b/scripts/review_apps/base-config.yaml new file mode 100644 index 00000000000..403c1df97aa --- /dev/null +++ b/scripts/review_apps/base-config.yaml @@ -0,0 +1,151 @@ +global: + appConfig: + enableUsagePing: false + imagePullPolicy: Always + ingress: + annotations: + external-dns.alpha.kubernetes.io/ttl: 10 + configureCertmanager: false + tls: + secretName: tls-cert +certmanager: + install: false +gitlab: + gitaly: + resources: + requests: + cpu: 300m + memory: 200M + limits: + cpu: 600m + memory: 420M + persistence: + size: 10G + gitlab-exporter: + enabled: false + mailroom: + enabled: false + migrations: + resources: + requests: + cpu: 350m + memory: 200M + limits: + cpu: 700m + gitlab-shell: + resources: + requests: + cpu: 70m + memory: 20M + limits: + cpu: 140m + memory: 40M + sidekiq: + resources: + requests: + cpu: 300m + memory: 800M + limits: + cpu: 400m + memory: 1.6G + task-runner: + resources: + requests: + cpu: 50m + memory: 350M + limits: + cpu: 100m + memory: 700M + unicorn: + resources: + requests: + cpu: 600m + memory: 1.4G + limits: + cpu: 1.2G + memory: 2.8G + workhorse: + resources: + requests: + cpu: 100m + memory: 100M + limits: + cpu: 200m + memory: 200M +gitlab-runner: + resources: + requests: + cpu: 300m + memory: 300M + limits: + cpu: 600m + memory: 600M +minio: + resources: + requests: + cpu: 100m + memory: 128M + limits: + cpu: 200m + memory: 280M +nginx-ingress: + controller: + config: + ssl-ciphers: ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4 + replicaCount: 2 + resources: + requests: + cpu: 150m + memory: 250M + limits: + cpu: 300m + memory: 500M + minAvailable: 1 + service: + enableHttp: false + livenessProbe: + timeoutSeconds: 5 + readinessProbe: + timeoutSeconds: 5 + defaultBackend: + resources: + requests: + cpu: 5m + memory: 12M + limits: + cpu: 10m + memory: 24M + replicaCount: 1 +postgresql: + metrics: + enabled: false + resources: + requests: + cpu: 250m + memory: 256M + limits: + cpu: 500m +prometheus: + install: false +redis: + metrics: + resources: + enabled: false + resources: + requests: + cpu: 100m + memory: 60M + limits: + cpu: 200m + memory: 130M +redis-ha: + enabled: false +registry: + minReplicas: 1 + resources: + requests: + cpu: 50m + memory: 32M + limits: + cpu: 100m + memory: 64M diff --git a/scripts/review_apps/review-apps.sh b/scripts/review_apps/review-apps.sh index a9549171b54..e82b83a1e59 100755 --- a/scripts/review_apps/review-apps.sh +++ b/scripts/review_apps/review-apps.sh @@ -196,19 +196,13 @@ HELM_CMD=$(cat << EOF --force \ --wait \ --timeout 900 \ + --set ci.branch="$CI_COMMIT_REF_NAME" \ + --set ci.commit.sha="$CI_COMMIT_SHORT_SHA" \ + --set ci.job.url="$CI_JOB_URL" \ + --set ci.pipeline.url="$CI_PIPELINE_URL" \ --set releaseOverride="$CI_ENVIRONMENT_SLUG" \ - --set global.appConfig.enableUsagePing=false \ - --set global.imagePullPolicy=Always \ --set global.hosts.hostSuffix="$HOST_SUFFIX" \ --set global.hosts.domain="$REVIEW_APPS_DOMAIN" \ - --set global.ingress.configureCertmanager=false \ - --set global.ingress.tls.secretName=tls-cert \ - --set global.ingress.annotations."external-dns\.alpha\.kubernetes\.io/ttl"="10" \ - --set certmanager.install=false \ - --set prometheus.install=false \ - --set nginx-ingress.controller.service.enableHttp=false \ - --set nginx-ingress.controller.replicaCount=2 \ - --set nginx-ingress.controller.config.ssl-ciphers="ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4" \ --set gitlab.migrations.image.repository="$gitlab_migrations_image_repository" \ --set gitlab.migrations.image.tag="$CI_COMMIT_REF_SLUG" \ --set gitlab.gitaly.image.repository="$gitlab_gitaly_image_repository" \ @@ -226,91 +220,11 @@ HELM_CMD=$(cat << EOF EOF ) -# Default requested: CPU => 100m, memory => 100Mi -HELM_CMD=$(cat << EOF - $HELM_CMD \ - --set nginx-ingress.controller.resources.limits.cpu=200m \ - --set nginx-ingress.controller.resources.requests.memory=210M \ - --set nginx-ingress.controller.resources.limits.memory=420M -EOF -) - -# Default requested: CPU => 5m, memory => 5Mi -HELM_CMD=$(cat << EOF - $HELM_CMD \ - --set nginx-ingress.defaultBackend.resources.limits.cpu=10m \ - --set nginx-ingress.defaultBackend.resources.requests.memory=12M \ - --set nginx-ingress.defaultBackend.resources.limits.memory=24M -EOF -) - -# Default requested: CPU => 100m, memory => 200Mi -HELM_CMD=$(cat << EOF - $HELM_CMD \ - --set gitlab.gitaly.resources.requests.cpu=150m \ - --set gitlab.gitaly.resources.limits.cpu=300m \ - --set gitlab.gitaly.resources.limits.memory=420M -EOF -) - -# Default requested: CPU => 0, memory => 6M -HELM_CMD=$(cat << EOF - $HELM_CMD \ - --set gitlab.gitlab-shell.resources.requests.cpu=70m \ - --set gitlab.gitlab-shell.resources.limits.cpu=140m \ - --set gitlab.gitlab-shell.resources.requests.memory=20M \ - --set gitlab.gitlab-shell.resources.limits.memory=40M -EOF -) - -# Default requested: CPU => 50m, memory => 650M -HELM_CMD=$(cat << EOF - $HELM_CMD \ - --set gitlab.sidekiq.resources.requests.cpu=200m \ - --set gitlab.sidekiq.resources.limits.cpu=300m \ - --set gitlab.sidekiq.resources.requests.memory=800M \ - --set gitlab.sidekiq.resources.limits.memory=1.2G -EOF -) - -# Default requested: CPU => 300m + 100m (workhorse), memory => 1.2G + 100M (workhorse) -HELM_CMD=$(cat << EOF - $HELM_CMD \ - --set gitlab.unicorn.resources.limits.cpu=800m \ - --set gitlab.unicorn.resources.limits.memory=2.6G -EOF -) - -# Default requested: CPU => 100m, memory => 64Mi -HELM_CMD=$(cat << EOF - $HELM_CMD \ - --set redis.resources.limits.cpu=200m \ - --set redis.resources.limits.memory=130M -EOF -) - -# Default requested: CPU => 100m, memory => 128Mi -HELM_CMD=$(cat << EOF - $HELM_CMD \ - --set minio.resources.limits.cpu=200m \ - --set minio.resources.limits.memory=280M -EOF -) - -# Default requested: CPU => 0, memory => 0 -HELM_CMD=$(cat << EOF - $HELM_CMD \ - --set gitlab-runner.resources.requests.cpu=300m \ - --set gitlab-runner.resources.limits.cpu=600m \ - --set gitlab-runner.resources.requests.memory=300M \ - --set gitlab-runner.resources.limits.memory=600M -EOF -) - HELM_CMD=$(cat << EOF $HELM_CMD \ --namespace="$KUBE_NAMESPACE" \ --version="$CI_PIPELINE_ID-$CI_JOB_ID" \ + -f "../scripts/review_apps/base-config.yaml" \ "$name" . EOF ) -- cgit v1.2.1