cilium 1.8.1 chart not behaving well in recent versions of GKE
Why are we doing this work
Cilium chart version 1.8.1 (based on Helm 2) isn't working well on recent version of GKE. It seems something was back ported even for earlier version of GKE. For instance: there examples of successful deployments on version:
Kubernetes: &version.Info{Major:"1", Minor:"18+", GitVersion:"v1.18.16-gke.302", GitCommit:"2e4de00ee51e92a708578409838fd37044b00902", GitTreeState:"clean", BuildDate:"2021-03-08T22:06:14Z", GoVersion:"go1.13.15b4", Compiler:"gc", Platform:"linux/amd64"}
But recently even older version have been failing:
Kubernetes: &version.Info{Major:"1", Minor:"17+", GitVersion:"v1.17.17-gke.3700", GitCommit:"2812f9fb0003709fc44fc34166701b377020f1c9", GitTreeState:"clean", BuildDate:"2021-03-04T09:17:27Z", GoVersion:"go1.13.15b4", Compiler:"gc", Platform:"linux/amd64"}
Cilium team has pointed out a couple of incompatibilities which brought them quicker to the Helm 3. Therefore any chart version from 1.8.6 forward has been based on Helm 3.
Updating cilium chart version will be dependant on cluster application Helm 3 support. Currently it only supports Helm 2, however there is a draft MR for Helm 3 support.
In addition to update the chart version, some of the chart values might have to be updated as well.
Relevant links
- Cilium installation docs for version 1.9
- Cilium commit changing the support from Helm 2 to Helm 3
- Helm 3 documentation for Helm 2 users
- Cluster application MR porting to Helm 3
Non-functional requirements
-
Documentation: -
Feature flag: -
Performance: -
Testing:
Implementation plan
-
Update cilium chart to 1.8.10 -
Update cilium chart values to reflect the chart update -
Generate a new version of cluster application -
Update default cluster application image in lib/gitlab/ci/templates/Managed-Cluster-Applications.gitlab-ci.yml
Edited by Zamir Martins