Cómo Instalar y Configurar Kong API Gateway en Kubernetes Usando Helm (Guía Profesional)

Esta guía está dirigida a DevOps, arquitectos de software e ingenieros de plataforma que buscan desplegar un gateway de APIs en Kubernetes de forma segura y reproducible usando Helm.

Kong es un API Gateway moderno, ligero y altamente extensible, dis…


This content originally appeared on DEV Community and was authored by José Alejandro Fiengo Vega

Esta guía está dirigida a DevOps, arquitectos de software e ingenieros de plataforma que buscan desplegar un gateway de APIs en Kubernetes de forma segura y reproducible usando Helm.

Kong es un API Gateway moderno, ligero y altamente extensible, diseñado para gestionar y proteger APIs en arquitecturas distribuidas. Su integración con Kubernetes, combinada con la facilidad de despliegue mediante Helm, lo convierten en una solución atractiva para entornos cloud-native que buscan control granular sobre el tráfico de servicios.

Esta guía profesional cubre el despliegue base de Kong en un clúster Kubernetes utilizando Helm, y sienta las bases para configuraciones avanzadas como plugins de autenticación, seguridad y visualización mediante entornos UI como Konga.

Contexto

En arquitecturas modernas basadas en microservicios, es fundamental contar con un componente que actúe como puerta de entrada controlada al sistema. Kong Gateway puede actuar como controlador de ingreso (Ingress Controller) y gateway de APIs en Kubernetes, aplicando seguridad y políticas mediante plugins configurables. Permite aplicar autenticación, rate limiting, auditoría, métricas y transformaciones de tráfico desde un punto centralizado.

Su despliegue como Ingress Controller en Kubernetes, junto con su ecosistema de plugins y soporte empresarial, lo posiciona como una alternativa sólida frente a soluciones como NGINX o Traefik cuando se requiere extensibilidad y observabilidad profunda.

Requisitos Técnicos

Recurso Recomendado
Kubernetes 1.25 o superior
Helm v3+
RAM por nodo 2 GB mínimo
Espacio en disco 10 GB

Asegúrate también de tener kubectl configurado y permisos de administrador en el clúster.

Paso 1 – Agregar el repositorio de charts de Kong

helm repo add kong https://charts.konghq.com
helm repo update

Paso 2 – Desplegar Kong en el clúster

kubectl create namespace kong

helm install kong kong/kong \
  --namespace kong \
  --set ingressController.installCRDs=false \
  --set proxy.type=LoadBalancer

El parámetro --set ingressController.installCRDs=false evita la instalación automática de CRDs, útil si ya han sido aplicados previamente o se gestionan por separado.

Si estás utilizando Minikube, ejecuta minikube tunnel en una terminal para exponer el servicio tipo LoadBalancer.

Si estás utilizando MicroK8s, habilita MetalLB con un rango de IPs disponible en tu red:

microk8s enable metallb:192.168.1.240-192.168.1.250

Luego reinstala el chart de Kong si es necesario para que el LoadBalancer se asigne correctamente.

Paso 3 – Verificar la instalación

Comprueba que los pods y servicios estén corriendo correctamente:

kubectl get all -n kong

Obtén la IP externa del proxy:

kubectl get svc -n kong kong-kong-proxy

En MicroK8s con MetalLB, deberías obtener una IP del rango configurado. Si ves <pending>, revisa si MetalLB está correctamente habilitado.

Paso 4 – Crear un servicio de ejemplo y exponerlo

A continuación, desplegaremos un servicio simple (echo-server) y lo expondremos mediante Kong.

Manifiesto de deployment y service

apiVersion: apps/v1
kind: Deployment
metadata:
  name: echo-server
spec:
  replicas: 1
  selector:
    matchLabels:
      app: echo
  template:
    metadata:
      labels:
        app: echo
    spec:
      containers:
        - name: echo
          image: ealen/echo-server
          ports:
            - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: echo-service
spec:
  selector:
    app: echo
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80

Aplica el manifiesto:

kubectl apply -f echo-server.yaml

Crear el recurso Ingress

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: echo-ingress
  annotations:
    konghq.com/strip-path: "true"
spec:
  ingressClassName: kong
  rules:
    - http:
        paths:
          - path: /echo
            pathType: Prefix
            backend:
              service:
                name: echo-service
                port:
                  number: 80

Aplica el recurso:

kubectl apply -f echo-ingress.yaml

Verifica que puedas acceder al servicio:

curl http://<IP_EXTERNA>/echo

Si obtienes una respuesta JSON con información del servidor como hostname y headers, significa que Kong está funcionando correctamente y enruta peticiones al backend.

Buenas prácticas y errores comunes

✅ Utilizar namespaces dedicados para separar gateways
✅ Establecer límites de recursos en las instancias de Kong
✅ Usar anotaciones explícitas en Ingress para controlar comportamiento
✅ Versionar valores personalizados de Helm en Git
✅ Validar instalación de CRDs si se usan recursos personalizados

🚫 No exponer Kong públicamente sin TLS
🚫 No aplicar plugins sin autenticar al administrador
🚫 No mezclar entornos (dev/prod) en el mismo controlador
🚫 No asumir que todos los plugins están activados por defecto

Recursos adicionales

Documentación oficial

Charts Helm y configuración

Conclusión

Kong API Gateway es una herramienta sólida para administrar tráfico de APIs en Kubernetes. Su despliegue con Helm permite integrarlo rápidamente en entornos reproducibles y alineados con buenas prácticas de infraestructura como código.

Este artículo constituye la primera parte de una serie. En la Parte 2 exploraremos entornos de administración visual como Konga o Kong Manager, que permiten gestionar servicios, rutas y plugins mediante interfaces gráficas conectadas al gateway.


This content originally appeared on DEV Community and was authored by José Alejandro Fiengo Vega


Print Share Comment Cite Upload Translate Updates
APA

José Alejandro Fiengo Vega | Sciencx (2025-06-27T22:27:53+00:00) Cómo Instalar y Configurar Kong API Gateway en Kubernetes Usando Helm (Guía Profesional). Retrieved from https://www.scien.cx/2025/06/27/como-instalar-y-configurar-kong-api-gateway-en-kubernetes-usando-helm-guia-profesional/

MLA
" » Cómo Instalar y Configurar Kong API Gateway en Kubernetes Usando Helm (Guía Profesional)." José Alejandro Fiengo Vega | Sciencx - Friday June 27, 2025, https://www.scien.cx/2025/06/27/como-instalar-y-configurar-kong-api-gateway-en-kubernetes-usando-helm-guia-profesional/
HARVARD
José Alejandro Fiengo Vega | Sciencx Friday June 27, 2025 » Cómo Instalar y Configurar Kong API Gateway en Kubernetes Usando Helm (Guía Profesional)., viewed ,<https://www.scien.cx/2025/06/27/como-instalar-y-configurar-kong-api-gateway-en-kubernetes-usando-helm-guia-profesional/>
VANCOUVER
José Alejandro Fiengo Vega | Sciencx - » Cómo Instalar y Configurar Kong API Gateway en Kubernetes Usando Helm (Guía Profesional). [Internet]. [Accessed ]. Available from: https://www.scien.cx/2025/06/27/como-instalar-y-configurar-kong-api-gateway-en-kubernetes-usando-helm-guia-profesional/
CHICAGO
" » Cómo Instalar y Configurar Kong API Gateway en Kubernetes Usando Helm (Guía Profesional)." José Alejandro Fiengo Vega | Sciencx - Accessed . https://www.scien.cx/2025/06/27/como-instalar-y-configurar-kong-api-gateway-en-kubernetes-usando-helm-guia-profesional/
IEEE
" » Cómo Instalar y Configurar Kong API Gateway en Kubernetes Usando Helm (Guía Profesional)." José Alejandro Fiengo Vega | Sciencx [Online]. Available: https://www.scien.cx/2025/06/27/como-instalar-y-configurar-kong-api-gateway-en-kubernetes-usando-helm-guia-profesional/. [Accessed: ]
rf:citation
» Cómo Instalar y Configurar Kong API Gateway en Kubernetes Usando Helm (Guía Profesional) | José Alejandro Fiengo Vega | Sciencx | https://www.scien.cx/2025/06/27/como-instalar-y-configurar-kong-api-gateway-en-kubernetes-usando-helm-guia-profesional/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.