diff --git a/Dockerfile b/Dockerfile
index 080fb06e..d2acc2fe 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -9,7 +9,7 @@ RUN apt-get update && apt-get upgrade -y \
&& update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1
FROM baseline as tool_builder
-ARG kubectl_version=1.26.10
+ARG kubectl_version=1.27.9
WORKDIR /build
diff --git a/docs/CONFIG-VARS.md b/docs/CONFIG-VARS.md
index 22083833..76700a55 100644
--- a/docs/CONFIG-VARS.md
+++ b/docs/CONFIG-VARS.md
@@ -378,7 +378,7 @@ Cluster-autoscaler is currently only used for AWS EKS clusters. GCP GKE and Azur
| CLUSTER_AUTOSCALER_ENABLED | Whether to deploy cluster-autoscaler | bool | true | false | | baseline |
| CLUSTER_AUTOSCALER_CHART_URL | Cluster-autoscaler Helm chart URL | string | See [this document](https://github.com/kubernetes/autoscaler/tree/master/charts) for more information. | false | | baseline |
| CLUSTER_AUTOSCALER_CHART_NAME| Cluster-autoscaler Helm chart name | string | cluster-autoscaler | false | | baseline |
-| CLUSTER_AUTOSCALER_CHART_VERSION | Cluster-autoscaler Helm chart version | string | "" | false | If left as "" (empty string), version 9.9.2 is used for Kubernetes clusters whose version is <= 1.21
and version 9.29.1 is used for Kubernetes clusters whose version is >= 1.25 | baseline |
+| CLUSTER_AUTOSCALER_CHART_VERSION | Cluster-autoscaler Helm chart version | string | "" | false | If left as "" (empty string), version 9.9.2 is used for Kubernetes clusters whose version is <= 1.24
and version 9.34.1 is used for Kubernetes clusters whose version is >= 1.25
See [Artifact Hub](https://artifacthub.io/packages/helm/cluster-autoscaler/cluster-autoscaler) to determine application version| baseline |
| CLUSTER_AUTOSCALER_CONFIG | Cluster-autoscaler Helm values | string | See [this file](../roles/baseline/defaults/main.yml) for more information. | false | | baseline |
| CLUSTER_AUTOSCALER_ACCOUNT | Cluster autoscaler AWS role ARN | string | | false | Required to enable cluster-autoscaler on AWS | baseline |
| CLUSTER_AUTOSCALER_LOCATION |AWS region where Kubernetes cluster is running | string | us-east-1 | false | | baseline |
@@ -408,7 +408,7 @@ The EBS CSI driver is currently only used for kubernetes v1.23 or later AWS EKS
| INGRESS_NGINX_NAMESPACE | NGINX Ingress Helm installation namespace | string | ingress-nginx | false | | baseline |
| INGRESS_NGINX_CHART_URL | NGINX Ingress Helm chart URL | string | See [this document](https://kubernetes.github.io/ingress-nginx) for more information. | false | | baseline |
| INGRESS_NGINX_CHART_NAME | NGINX Ingress Helm chart name | string | ingress-nginx | false | | baseline |
-| INGRESS_NGINX_CHART_VERSION | NGINX Ingress Helm chart version | string | "" | false | If left as "" (empty string), version 4.3.0 is used for Kubernetes clusters whose version is <= 1.23.X, and version 4.7.1 is used for Kubernetes clusters whose version is >= 1.24.X. | baseline |
+| INGRESS_NGINX_CHART_VERSION | NGINX Ingress Helm chart version | string | "" | false | If left as "" (empty string), version `4.9.0` is used for Kubernetes clusters whose version is >= 1.25.X, and for Kubernetes clusters whose version is <= 1.24.X please set this variable to avoid errors. See [Supported Versions table](https://github.com/kubernetes/ingress-nginx/?tab=readme-ov-file#supported-versions-table) for the supported versions list. | baseline |
| INGRESS_NGINX_CONFIG | NGINX Ingress Helm values | string | See [this file](../roles/baseline/defaults/main.yml) for more information. Altering this value will affect the cluster. | false | | baseline |
### Metrics Server
@@ -420,7 +420,7 @@ Kubernetes Metrics Server installation is currently only applicable for AWS EKS
| METRICS_SERVER_ENABLED | Whether to deploy Metrics Server | bool | true | false | | baseline |
| METRICS_SERVER_CHART_URL | Metrics Server Helm chart url | string | Go [here](https://charts.bitnami.com/bitnami/) for more information. | false | If an existing Metrics Server is installed, these options are ignored. | baseline |
| METRICS_SERVER_CHART_NAME | Metrics Server Helm chart name | string | metrics-server | false | If an existing Metrics Server is installed, these options are ignored. | baseline |
-| METRICS_SERVER_CHART_VERSION | Metrics Server Helm chart version | string | 6.2.4 | false | If an existing Metrics Server is installed, these options are ignored. | baseline |
+| METRICS_SERVER_CHART_VERSION | Metrics Server Helm chart version | string | 6.6.5 | false | If an existing Metrics Server is installed, these options are ignored. See [Artifact Hub](https://artifacthub.io/packages/helm/bitnami/metrics-server) to determine application version.| baseline |
| METRICS_SERVER_CONFIG | Metrics Server Helm values | string | See [this file](../roles/baseline/defaults/main.yml) for more information. | false | If an existing Metrics Server is installed, these options are ignored. | baseline |
### NFS Client
diff --git a/docs/user/Dependencies.md b/docs/user/Dependencies.md
index 0beb2d21..c6e20b0b 100644
--- a/docs/user/Dependencies.md
+++ b/docs/user/Dependencies.md
@@ -13,7 +13,7 @@ The following list details our dependencies and versions (~ indicates multiple p
| ~ | docker | >=20.10.10 |
| ~ | git | any |
| ~ | rsync | any |
-| ~ | kubectl | 1.25 - 1.27 |
+| ~ | kubectl | 1.26 - 1.28 |
| ~ | Helm | 3 |
| pip3 | ansible | 8.6.0 |
| pip3 | openshift | 0.13.1 |
@@ -48,7 +48,7 @@ As described in the [Docker Installation](./DockerUsage.md) section add addition
```bash
# Override kubectl version
docker build \
- --build-arg kubectl_version=1.26.10 \
+ --build-arg kubectl_version=1.27.9 \
-t viya4-deployment .
```
diff --git a/roles/baseline/defaults/main.yml b/roles/baseline/defaults/main.yml
index 7f87225d..3c052391 100644
--- a/roles/baseline/defaults/main.yml
+++ b/roles/baseline/defaults/main.yml
@@ -24,21 +24,17 @@ METRICS_SERVER_ENABLED: true
METRICS_SERVER_NAME: metrics-server
METRICS_SERVER_CHART_NAME: metrics-server
METRICS_SERVER_CHART_URL: https://charts.bitnami.com/bitnami/
-METRICS_SERVER_CHART_VERSION: 6.2.4
+METRICS_SERVER_CHART_VERSION: 6.6.5
METRICS_SERVER_CONFIG:
apiService:
create: true
## Ingress-nginx - Defaults
ingressVersions:
- k8sMinorVersionCeiling:
- value: 23
+ k8sMinorVersion:
+ value: 25
api:
- chartVersion: 4.3.0
- k8sMinorVersionFloor:
- value: 24
- api:
- chartVersion: 4.7.1
+ chartVersion: 4.9.0
## Ingress-nginx - Ingress
##
@@ -182,7 +178,7 @@ autoscalerVersions:
# Supports PodDisruptionBudget policy/v1beta1 default for K8s >=1.25
PDBv1Support:
api:
- chartVersion: 9.29.1
+ chartVersion: 9.34.1
## EBS CSI Driver
EBS_CSI_DRIVER_ENABLED: true
diff --git a/roles/baseline/tasks/ingress-nginx.yaml b/roles/baseline/tasks/ingress-nginx.yaml
index 85adb019..531db930 100644
--- a/roles/baseline/tasks/ingress-nginx.yaml
+++ b/roles/baseline/tasks/ingress-nginx.yaml
@@ -25,11 +25,17 @@
register: cluster_info
- name: Set the default INGRESS_NGINX_CHART_VERSION based on K8s server minor version
set_fact:
- INGRESS_NGINX_CHART_VERSION: "{{ ingressVersions.k8sMinorVersionFloor.api.chartVersion if cluster_info.version.server.kubernetes.minor is version(ingressVersions.k8sMinorVersionFloor.value,
- 'ge') else ingressVersions.k8sMinorVersionCeiling.api.chartVersion }}"
+ INGRESS_NGINX_CHART_VERSION: "{{ ingressVersions.k8sMinorVersion.api.chartVersion if cluster_info.version.server.kubernetes.minor is version(ingressVersions.k8sMinorVersion.value,
+ 'ge') else '' }}"
- name: Output INGRESS_NGINX_CHART_VERSION
debug:
msg: "{{ INGRESS_NGINX_CHART_VERSION }}"
+ - name: Fail when INGRESS_NGINX_CHART_VERSION not set
+ fail:
+ msg: "INGRESS_NGINX_CHART_VERSION isn't set when K8s version is < 1.{{ ingressVersions.k8sMinorVersion.value }}."
+ when:
+ - cluster_info.version.server.kubernetes.minor is version(ingressVersions.k8sMinorVersion.value, 'lt')
+ - INGRESS_NGINX_CHART_VERSION == ""
- name: Update INGRESS_NGINX_CONFIG to use NLB for AWS
set_fact:
@@ -62,7 +68,7 @@
set_fact:
INGRESS_NGINX_CONFIG: "{{ INGRESS_NGINX_CONFIG | combine(INGRESS_NGINX_CVE_2021_25742_PATCH, recursive=True) }}"
when:
- - cluster_info.version.server.kubernetes.minor is version(ingressVersions.k8sMinorVersionFloor.value, 'ge')
+ - cluster_info.version.server.kubernetes.minor is version(ingressVersions.k8sMinorVersion.value, 'ge')
- INGRESS_NGINX_CHART_VERSION is version('4.0.10', ">=") or (INGRESS_NGINX_CHART_VERSION is version('3.40.0', ">=") and INGRESS_NGINX_CHART_VERSION is version('4.0.0',
"<"))