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

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/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.