Skip to content

Commit 36a6e74

Browse files
prakarsh-dtdheethPawan Kumarpawan-59pghildiyal
authored
K8s 1.22 compatibility issues (#871)
* Changes for K8s 1.22 and chart 4.10 (#846) * Changed grafana datasource name and removed Prometheus datasource * Added chart 4.10 for deployment template * Added new features on chart 4.10 * Added migrations for chart 4.10 * Updated Micro-Services for 1.22 * Changed LTAG for testing Co-authored-by: Pawan Kumar <[email protected]> Co-authored-by: Prakarsh <[email protected]> * Updated nats-server configs for k8s-1.22 compatibility - Also removed nats-operator dependency * Updated nats-streaming for k8s-1.22 compatibility * Skipping installation of Nats-operator * Skipped NATS-Operator installation * Updated namespace in NATS-server configs * Updated NATS-streaming config * Updated Rollout crds for k8s 1.22 compatibility * Workflow crds updated for k8s 1.22 compatibility * Added experiments crd and analysis crds * Adding analysis template crd * Rename 26_chart_ref.up.sql to 27_chart_ref.up.sql * Rename 26_chart_ref.down.sql to 27_chart_ref.down.sql * Updated Rollout CRDs for k8s 1.22 compatibility * Deleted 4-10-0 chart * K8s 1.22 compatible chart (#857) * Added chart for 4.10.0 version * updated chart version * updated ingress.yaml * updated apiversion of PodDisruptionBudget * updated ingress.yaml as pathType is required field * updated hpa spec * updated chart.yaml * Added Environment vlariable fieldRef/fieldPath support * Added initcontainer resources support * Added k8s 1.22 compatible chart changes Co-authored-by: pawan-59 <[email protected]> * Added workflowtemplates crds * Updated HPA for k8s 1.22 compatibility * Added support for behavior in autoscaling hpa * Ingress updated for k8s 1.22 compatibility * HPA and Ingress default values changes - HPA Documentation updated - Ingress Documentation updated * Fixed ingress template * Fixed HPA issue * Updated Devtron ingress for k8s 1.22 compatibility * Resolved HPA behavior field issue * Documentation update Ingress - Updated the ingress section with new format - Updated the ingress legacy format * Ingress values changes * WIP: Ingress changes * Ingress changes * Ingress changes - pathType support added - default values of deployment template changed * Updated PDB for k8s 1.22 compatibility * Updated HPA for k8s 1.22 compatibility * Added Devtron Legacy Ingress - Added Devtron Legacy Ingress for k8s < 1.16 * Added K8s Version and Loaded from cm * Updated installation script for backwards compatibility * Changed default values in ingress * HPA issue resolved * Updated HPA with backward compatibility * Install script changes for ingress legacy * Update crd-devtron.yaml added resync flags * Updated install script conditions * Updated cm for legacy api support * Updated envoy repo to quay - Updated envoy repo to quay to avoid dockerhub pull rate limit issue * Pushed changes for easy review * Removed copy for review * Updated json schema from latest commit * Removed kubernetes version comparison code * Selecting ingress on the basis of K8s version * Updated LTAG for testing * Updated nats replica to 3 * Updated Grafana storage to 2Gi * Revert "Selecting ingress on the basis of K8s version" This reverts commit 4c9f578. * Added legacy api support for HPA * Added Comment for older api support * Added 4-10-0 chart after review * Added default values for httpHeaders in Liveness and Readiness * Updated Documentation for httpHeaders in Liveness and Readiness * Updated test-values * Allow custom headers on LivenessProbe and ReadinessProbe (#873) * Allow custom headers on LivenessProbe and ReadinessProbe (#878) * Updating Minor version manually Co-authored-by: Pawan Kumar <[email protected]> Co-authored-by: Pawan Kumar <[email protected]> Co-authored-by: pawan-59 <[email protected]> Co-authored-by: Prashant Ghildiyal <[email protected]> Co-authored-by: themadmrj <[email protected]>
1 parent 577863c commit 36a6e74

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+23263
-12565
lines changed

docs/user-guide/creating-application/deployment-template.md

Lines changed: 56 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,11 @@ LivenessProbe:
7171
successThreshold: 1
7272
timeoutSeconds: 5
7373
failureThreshold: 3
74-
httpHeader:
74+
httpHeaders:
75+
- name: Custom-Header
76+
value: abc
7577
scheme: ""
7678
tcp: true
77-
```
7879
7980
| Key | Description |
8081
| :--- | :--- |
@@ -84,7 +85,7 @@ LivenessProbe:
8485
| `periodSeconds` | It defines the time to check a given container for liveness. |
8586
| `successThreshold` | It defines the number of successes required before a given container is said to fulfil the liveness probe. |
8687
| `timeoutSeconds` | It defines the time for checking timeout. |
87-
| `httpHeader` | Custom headers to set in the request. HTTP allows repeated headers,You can override the default headers by defining .httpHeaders for the probe. |
88+
| `httpHeaders` | Custom headers to set in the request. HTTP allows repeated headers,You can override the default headers by defining .httpHeaders for the probe. |
8889
| `scheme` | Scheme to use for connecting to the host (HTTP or HTTPS). Defaults to HTTP.
8990
| `tcp` | The kubelet will attempt to open a socket to your container on the specified port. If it can establish a connection, the container is considered healthy. |
9091

@@ -124,10 +125,12 @@ ReadinessProbe:
124125
successThreshold: 1
125126
timeoutSeconds: 5
126127
failureThreshold: 3
127-
httpHeader:
128+
httpHeaders:
129+
- name: Custom-Header
130+
value: abc
128131
scheme: ""
129132
tcp: true
130-
```
133+
131134
132135
| Key | Description |
133136
| :--- | :--- |
@@ -137,7 +140,7 @@ ReadinessProbe:
137140
| `periodSeconds` | It defines the time to check a given container for readiness. |
138141
| `successThreshold` | It defines the number of successes required before a given container is said to fulfill the readiness probe. |
139142
| `timeoutSeconds` | It defines the time for checking timeout. |
140-
| `httpHeader` | Custom headers to set in the request. HTTP allows repeated headers,You can override the default headers by defining .httpHeaders for the probe. |
143+
| `httpHeaders` | Custom headers to set in the request. HTTP allows repeated headers,You can override the default headers by defining .httpHeaders for the probe. |
141144
| `scheme` | Scheme to use for connecting to the host (HTTP or HTTPS). Defaults to HTTP.
142145
| `tcp` | The kubelet will attempt to open a socket to your container on the specified port. If it can establish a connection, the container is considered healthy. |
143146

@@ -180,6 +183,26 @@ This allows public access to the url, please ensure you are using right nginx an
180183
```yaml
181184
ingress:
182185
enabled: false
186+
# For K8s 1.19 and above use ingressClassName instead of annotation kubernetes.io/ingress.class:
187+
ingressClassName: nginx
188+
annotations: {}
189+
hosts:
190+
- host: example1.com
191+
paths:
192+
- /example
193+
- host: example2.com
194+
paths:
195+
- /example2
196+
- /example2/healthz
197+
tls: []
198+
```
199+
Legacy deployment-template ingress format
200+
201+
```yaml
202+
ingress:
203+
enabled: false
204+
# For K8s 1.19 and above use ingressClassName instead of annotation kubernetes.io/ingress.class:
205+
ingressClassName: nginx-internal
183206
annotations: {}
184207
path: ""
185208
host: ""
@@ -201,9 +224,17 @@ This allows private access to the url, please ensure you are using right nginx a
201224
```yaml
202225
ingressInternal:
203226
enabled: false
227+
# For K8s 1.19 and above use ingressClassName instead of annotation kubernetes.io/ingress.class:
228+
ingressClassName: nginx-internal
204229
annotations: {}
205-
path: ""
206-
host: ""
230+
hosts:
231+
- host: example1.com
232+
paths:
233+
- /example
234+
- host: example2.com
235+
paths:
236+
- /example2
237+
- /example2/healthz
207238
tls: []
208239
```
209240

@@ -557,6 +588,23 @@ autoscaling:
557588
MaxReplicas: 2
558589
TargetCPUUtilizationPercentage: 90
559590
TargetMemoryUtilizationPercentage: 80
591+
behavior:
592+
scaleDown:
593+
stabilizationWindowSeconds: 300
594+
policies:
595+
- type: Percent
596+
value: 100
597+
periodSeconds: 15
598+
scaleUp:
599+
stabilizationWindowSeconds: 0
600+
policies:
601+
- type: Percent
602+
value: 100
603+
periodSeconds: 15
604+
- type: Pods
605+
value: 4
606+
periodSeconds: 15
607+
selectPolicy: Max
560608
```
561609

562610
HPA, by default is configured to work with CPU and Memory metrics. These metrics are useful for internal cluster sizing, but you might want to configure wider set of metrics like service latency, I/O load etc. The custom metrics in HPA can help you to achieve this.

0 commit comments

Comments
 (0)