diff --git a/CHANGELOG.md b/CHANGELOG.md index e168b037..690142f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project's packages adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## Unreleased + +### Changed + +- Disable HPA and PDB for xs clusters since NGINX Deployment resource requests are not set there. ([#40](https://github.com/giantswarm/nginx-ingress-controller-app/pull/40)) + ## [v1.6.3] 2020-03-16 ### Changed diff --git a/helm/nginx-ingress-controller-app/Configuration.md b/helm/nginx-ingress-controller-app/Configuration.md index 7d36a410..5e609fb8 100644 --- a/helm/nginx-ingress-controller-app/Configuration.md +++ b/helm/nginx-ingress-controller-app/Configuration.md @@ -10,7 +10,7 @@ Parameter | Description | Default --- | --- | --- `baseDomain` | Cluster base domain. Dynamically calculated during cluster creation. Manual change doesn't affect this value | 'uun5a.k8s.ginger.eu-central-1.aws.gigantic.io' `clusterID` | Cluster ID. Dynamically calculated during cluster creation. Manual change doesn't affect this value | 'uun5a' -`cluster.profile` | Cluster usage profile. Dynamically calculated during cluster creation. Supported values are `1` for extra extra small, `2` for extra small, `3` for small, and currently any value higher than 3 when actual cluster profile is larger than small or unknown. By default HPA and PDB are disabled, and resource requests unset for extra extra small clusters. On extra small clusters there are still no resource requests, HPA and PDB are enabled by default. On small clusters some small resource requests are made, HPA and PDB are enabled by default. On larger than small clusters HPA and PDB are enabled by default, and non-trivial resource requests set for some out-of-the-box guaranteed capacity. | `4` +`cluster.profile` | Cluster usage profile. Dynamically calculated during cluster creation. Supported values are `1` for extra extra small, `2` for extra small, `3` for small, and currently any value higher than 3 when actual cluster profile is larger than small or unknown. By default HPA and PDB are disabled, and resource requests unset for extra extra small clusters and extra small clusters. On small clusters some small resource requests are made, HPA and PDB are enabled by default. On larger than small clusters HPA and PDB are enabled by default, and non-trivial resource requests set for some out-of-the-box guaranteed capacity. | `4` `configmap` | Sets the nginx configmap configuration overrides. | See official docs for nginx [configmap configuration options](https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/configmap.md#configuration-options) and their defaults. Built-in overrides are covered below. `configmap.annotations-prefix` | This configuration property is deprecated and will be removed in the future, please migrate to `controller.annotationsPrefix`. | not configured by default `configmap.default-ssl-certificate` | This configuration property is deprecated and will be removed in the future, please migrate to `controller.defaultSSLCertificate`. | not configured by default diff --git a/helm/nginx-ingress-controller-app/templates/controller-hpa.yaml b/helm/nginx-ingress-controller-app/templates/controller-hpa.yaml index aed409ad..4d8889ee 100644 --- a/helm/nginx-ingress-controller-app/templates/controller-hpa.yaml +++ b/helm/nginx-ingress-controller-app/templates/controller-hpa.yaml @@ -1,4 +1,4 @@ -{{- if gt (.Values.cluster.profile | int) 1 }} +{{- if gt (.Values.cluster.profile | int) 2 }} {{- if index .Values.configmap "hpa-enabled" }} {{- if eq (index .Values.configmap "hpa-enabled") "true" }} apiVersion: autoscaling/v2beta1 diff --git a/helm/nginx-ingress-controller-app/templates/controller-poddisruptionbudget.yaml b/helm/nginx-ingress-controller-app/templates/controller-poddisruptionbudget.yaml index 112155bd..031ee3c0 100644 --- a/helm/nginx-ingress-controller-app/templates/controller-poddisruptionbudget.yaml +++ b/helm/nginx-ingress-controller-app/templates/controller-poddisruptionbudget.yaml @@ -1,4 +1,4 @@ -{{- if or (and (gt (.Values.cluster.profile | int) 1) (and .Values.controller.autoscaling.enabled (gt (.Values.controller.autoscaling.minReplicas | int) 1))) (gt (.Values.controller.replicaCount | int) 1) }} +{{- if or (and (gt (.Values.cluster.profile | int) 2) (and .Values.controller.autoscaling.enabled (gt (.Values.controller.autoscaling.minReplicas | int) 1))) (gt (.Values.controller.replicaCount | int) 1) }} apiVersion: policy/v1beta1 kind: PodDisruptionBudget metadata: diff --git a/helm/nginx-ingress-controller-app/values.yaml b/helm/nginx-ingress-controller-app/values.yaml index 77da36b8..f7ca055e 100644 --- a/helm/nginx-ingress-controller-app/values.yaml +++ b/helm/nginx-ingress-controller-app/values.yaml @@ -81,6 +81,7 @@ controller: profile: # xxs (1) cluster profile - 1 worker node only - resource requests are not being set # xs (2) cluster profile - 2-3 worker nodes, max CPU < 4 - resource requests are not being set + # TODO set resource requests same as small once coredns scale and resources are cluster profile adjusted https://github.com/giantswarm/giantswarm/issues/9316 # small (3) cluster profile - > 3 worker nodes, max CPU still < 4 small: resources: