Enable any other ingress to Kong Proxy instead of Kong ingress

Is there a way that I can use Nginx ingress controller for my Kong gateway to proxy the traffic instead of using Kong Ingress controller.

I see this option in the values CR file. Does that mean it will coexist with any other ingress?

# Kong proxy ingress settings.

Note: You need this only if you are using another Ingress Controller

to expose Kong outside the k8s cluster.

ingress:

Enable/disable exposure using ingress.

enabled: false
hosts: []

TLS section. Unlike other ingresses, this follows the format at

Ingress | Kubernetes

tls:

- hosts:

- 1.example.com

secretName: example1-com-tls-secret

- hosts:

- 2.example.net

secretName: example2-net-tls-secret

Map of ingress annotations.

annotations: {}

Ingress path.

path: /

externalIPs: []

In our case, we have nginx controller running in different namespace and Kong Gateway running in another one. Will that work if I make any changes to the CR?

You can’t use other controllers to configure the Kong gateway (by design, ingress controllers translate generic Kubernetes configuration into a configuration specific to a particular gateway), but there are ways that multiple ingress controllers can coexist within a Kubernetes cluster.

You can set class configuration on Ingresses to indicate which controller should handle an Ingress. This allows you to route some Services’ traffic through NGINX and others’ through Kong.

You can also chain gateways together, which is what that portion of the CR is used for: it sets up an Ingress resource that points to the Kong proxy Service, so that you can route traffic from another gateway to Kong and then from Kong upstream to an application. You still have to add configuration to Kong to handle the Kong->upstream segment of the path. This model is more complex and has more potential points of failure, so I’d only recommend it if you have a known reason you need to chain the gateways together.

@traines - I am looking for a scenario where we have an existing gateway but trying to essentially chain the existing ingress gateway to a Kong Proxy. So with that being said, can I just deploy the Kong proxy and chain it from the existing ingress gateway.

You can, yes. That’s the setup described in the third paragraph of my previous reply. Ingress resources handled by the existing gateway will use the Kong proxy Service as their backend, and you’ll have another set of Ingresses handled by Kong’s controller that use the actual upstream Service as their backend.


© 2019 Kong Inc.    Terms  •  Privacy  •  FAQ