Skip to content

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

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