How do I configure my own Ingress Controller?

You can disable the installation of the Okteto Nginx Ingress Controller with the following snippet in your Helm values file:

ingress-nginx:
  enabled: false

okteto-nginx:
  enabled: false

defaultBackend:
  enabled: false

In that case, configure the following fields in the ingress section:

  • ingress.oktetoIngressClass with the ingress class you want to use for all the ingresses created during the Okteto installation.
  • ingress.class with the ingress class you want to use for all the ingresses created in namespaces managed by Okteto.
  • ingress.ip with the Cluster IP of your Ingress Controller.

If the Okteto Nginx Controller is disabled, the following features will stop working:

  • Autowake Namespaces
  • Error Pages
  • Private Endpoints
Kong Ingress Controller

If you are using Kong as your Ingress Controller, you need to add the following snippet:

buildkit:
  ingress:
    annotations:
      konghq.com/protocol: "grpcs"
  service:
    annotations:
      konghq.com/protocol: "grpcs"
      konghq.com/read-timeout: "1800000"

This way, the Okteto Buildkit service will be exposed behind Kong using GRPCS with 30min read timeout, which gives you a 30min timeout to build each image.

2 Likes