Kong / charts

Helm chart for Kong
Apache License 2.0
242 stars 474 forks source link

Question regarding Kong 2.8 support in latest helm chart version (2.33.3) #985

Closed mchlumsky closed 7 months ago

mchlumsky commented 7 months ago

Greetings,

We are looking to upgrade our Kong images to 3.x from Kong 2.8. We want to start by upgrading the chart without upgrading the image which appears to be possible according to the upgrade notes. We are currently on chart version 2.8.2. We tested going to chart version 2.33.3 while preserving 2.8 images and things look like they are working well.

Is it intended to continue supporting older 2.8 images with newer versions of the helm chart or were we just lucky?

We see these label changes across many resources and we can't override them (they come from Chart.AppVersion) which is giving us doubts:

-     app.kubernetes.io/version: "2.8"
+     app.kubernetes.io/version: "3.5"

Thank you!

Martin

rainest commented 7 months ago

Chart support for older Kong and controller versions is on a fairly ad hoc basis. In general, chart changes tend not to break older Kong and controller resources, because the Kubernetes resources it creates a fairly application version agnostic and don't end up breaking compatibility with them.

Chart compatibility issues more often arise for the Kubernetes version as Kubernetes APIs are introduced and deprecated.

Our application support lifetime policies for Kong and the controller do apply to the chart. Kong 2.8 is the current LTS release and we will fix incompatibilities between it and the chart when found until it reaches EOL. We do usually rely on user reports to find these, however, as configurations vary considerably between installations, and we can only test a limited set of common base configurations (e.g. DB-less versus DB-backed) ourselves to check baseline compatibility.

https://docs.konghq.com/kubernetes-ingress-controller/latest/reference/version-compatibility/ covers compatibility between controller+Kubernetes and controller+Kong versions. Note that while LTS versions of Kong are still supported, this is for bugfixes, not new features. Controller 3.x breaks compatibility with Kong 2.8, and any controller fixes needed for new 2.8 bugs would land in a 2.x controller release.

Older EOL versions often will still work with more recent chart releases, but we won't necessarily provide a fix for them. We will still review issue reports and make fixes for older versions if we determine that they're simple enough and wouldn't break compatibility with newer versions.

Helm's AppVersion field accepts only a single value, so it's set to the default version of Kong included in a chart release. It doesn't imply anything about compatibility, and you can ignore it.

I think that should cover everything you'd need to know, so I'll go ahead and close this out. If you do have further questions, respond back and we'll reopen it.