Kong 2.8 and kong 3.4 on the same k8s cluster

Hi,

we have multiple k8s namespaces, and each namespace has separate instance of Kong, we are installing kong via official helm chart(charts/charts/kong at main · Kong/charts · GitHub). when we apply kong config to k8s(KongIngress, KongPlugin…) we use ingressClass, that each ingress controller sees only objects which belong to him.
we had 2.8, but now we want to have for some namespaces with 3.4.
We have a problem that CRDs are cluster wide objects, so when they updated they are valid for whole cluster.
Questions is supported setup to run 3.4 and 2.8 in the same k8s cluster?

Regards,
Vladimir

Hi @Vladimir_Ondrus

As you’ve already noticed CRDs are cluster wide and there can only be 1 “APIGroupVersion/Kind” version of a CRD defined in the cluster at all times.

Having said that: the CRDs that we provide should be compatible across 2.8 and 3.4. You’ll have to consult the compatibility matrix for this: Version Compatibility - Kong Ingress Controller | Kong Docs.

If you want to support both you’ll need to use KIC 2.12 and the CRDs that ship with it.

Having said all that: we do not officially support heterogenous versions with Gateway Discovery just yet (here’s an issue for that Allow configuring multiple Gateways with heterogenous versions/dbmodes · Issue #3590 · Kong/kubernetes-ingress-controller · GitHub, I recommend you comment on it if you want that implemented). The simple reason for this is that different versions of Kong have different configuration schemas and might require different configs generated based on Kubernetes resources. KIC does not account for those differences just yet. 3590 tracks the implementation of this feature.

You can experiment with this setup but YMMV.

Hope this helps.