Namespaced ingress controller

Could Okteto allow for namespaced ingress controllers? I am trying to run Kong in this db-less mode and it requires its custom IngressClass. I suppose there is no harm chaining Okteto Cloud’s (defining public URLs) with our own self-configured (and namespaced) for in-cluster URLs (ex: path-based).

It would require custom cluster-level IngressClasses, like Kong’s:

apiVersion: networking.k8s.io/v1
kind: IngressClass
metadata:
  name: kong
spec:
  controller: ingress-controllers.konghq.com/kong

I’m not sure I understand what you mean by “namespaced ingress controller.” You may be able to configure the ingress class for Kong. If that doesn’t make sense you can change the ingress class used by all Okteto generated dev ingress using some configuration if you are hosting your own instance, Configuration Settings | Okteto Documentation. This may affect too many ingress for you though? Also, you’d lose some of Okteto’s auto-ingress functionality if using Kong.

Does How can I run traefik on an okteto namespace? possibly help?

I still use Okteto auto-ingress for URLs to work, but a chained ingress (Kong) for resolving paths (Kong as an API gateway configured by its CRDs). Kong proxy would receive all inbound requests.

The link you provided has the same problem: “IngressClass” objects are refused by Okteto Cloud.

Ok, this would be a request for cloud then. I don’t know that we will support creation of IngressClass resources in cloud but we will think on it. Cloud is a multi-tenant cluster with limited capabilities for end users compared to scale or enterprise clusters which are single-tenant.

1 Like

Perhaps a few “spare” ingressclasses for us to use locally, replacing the default one for in-namespace routes. That would do.

Again, the goal is to be able to deploy & test things like Kong or Traefik chained to Okteto’s own ingress controller.

If possible.