load-balancer-and-ingress-services-for-kubernetes
load-balancer-and-ingress-services-for-kubernetes copied to clipboard
Support for kubernetes 1.29 or possibility to disable version check
Is your feature request related to a problem? Please describe.
We are using kubernetes 1.29 and wan't a proof of concept with AKO. When deploying AKO version 1.11.3 we receive the error that K8s 1.29 API is not supported.
Describe the solution you'd like
Faster AKO releases or the possibility to disable the check by environment variable.
Describe alternatives you've considered
Deploying k8s cluster 1.28 for POC but we would like to use 1.29 because this is out prod k8s version
Additional context
No response
We needed to use ako on a v1.30 cluster and eventually we decided to patch the code and build a patched image, to remove the kubernetes version check. Therefore, we pushed the patched image on a local repository.
We simply cloned the code, from the tag release-1.11.4
, and commented the following lines in the file /cmd/ako-main/main.go
:
175 if lib.CompareVersions(serverVersion, ">", lib.GetK8sMaxSupportedVersion()) ||
176 lib.CompareVersions(serverVersion, "<", lib.GetK8sMinSupportedVersion()) {
177 akoControlConfig.PodEventf(corev1.EventTypeWarning, lib.AKOShutdown, "Unsupported kubernetes apiserver %s version detected", serverVersion)
178 utils.AviLog.Fatalf("Unsupported kubernetes apiserver version detected. Please check the supportability guide.")
179 }
Than you need to build the image locally with:
make docker
And pushed it to a local repository that the cluster can use to get images.
We use the helm chart to deploy ako, so you need to edit the image repository and eventually the pull secret:
image:
repository: local.repository/ako/ako
pullPolicy: IfNotPresent
pullSecrets:
- name: local-registry-secret
So far it works normal, with 0 restarts.