Services para el acceso de red
Exponga sus aplicaciones dentro y fuera del clúster mediante distintos tipos de Service de Kubernetes.
Services para el acceso de red es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.
¿Qué es un Service de Kubernetes?
En Kubernetes, los Pods son las unidades desplegables más pequeñas. Están diseñados para ser efímeros, lo que significa que pueden crearse, eliminarse o reemplazarse en cualquier momento y, a menudo, recibir nuevas direcciones IP.
Esta naturaleza dinámica dificulta que otras aplicaciones los encuentren y se comuniquen con ellos de forma fiable. ¡Aquí es donde entran en juego los Services!

Proporcionar acceso de red estable
Un Service de Kubernetes actúa como un endpoint de red estable para un conjunto de Pods. Piense en él como una dirección permanente que no cambia, aunque sí lo hagan los Pods que se encuentran detrás.
- Los Services proporcionan una dirección IP y un nombre DNS coherentes.
- Pueden equilibrar la carga del tráfico entre varios Pods.
- Garantizan la disponibilidad continua cuando los Pods se escalan o se reinician.
Conectar Pods con Services
¿Cómo sabe un Service a qué Pods debe dirigir el tráfico? Utiliza labels y selectors.
Al crear Pods, se les asignan labels (pares clave-valor como app: my-app). Después, un Service especifica un selector que coincide con esas labels, creando un vínculo dinámico.
Acceso interno con ClusterIP
ClusterIP es el tipo de Service predeterminado y más habitual. Asigna una dirección IP interna estable dentro del clúster de Kubernetes. Solo se puede acceder a esta IP desde otros Pods o Nodes dentro del clúster.
Es perfecto para servicios de backend (como una base de datos o una API) que solo necesitan comunicarse con otros servicios de su aplicación.
Definir un Service ClusterIP
A continuación se muestra una definición YAML sencilla para un Service ClusterIP. Observe el selector, que coincide con la label app: my-backend, y cómo port se asigna a targetPort.
apiVersion: v1
kind: Service
metadata:
name: my-backend-service
spec:
selector:
app: my-backend
ports:
- protocol: TCP
port: 80
targetPort: 8080 # Port your application listens on
type: ClusterIPAcceso externo con NodePort
Un Service NodePort expone su aplicación en un puerto estático en la dirección IP de cada Node. Esto permite acceder a su servicio desde fuera del clúster mediante la IP de cualquier Node y el puerto especificado.
El valor de nodePort suele estar en el rango 30000-32767. Es útil para un acceso externo sencillo o para entornos de desarrollo.
Definir un Service NodePort
Para exponer externamente su servicio mediante un NodePort, debe establecer type: NodePort. Puede especificar un nodePort de forma opcional; de lo contrario, Kubernetes elegirá uno por usted.
apiVersion: v1
kind: Service
metadata:
name: my-frontend-service
spec:
selector:
app: my-frontend
ports:
- protocol: TCP
port: 80
targetPort: 80 # Port your application listens on
nodePort: 30080 # Optional: specific port on the Node
type: NodePortBalanceadores de carga en la nube
El tipo de Service LoadBalancer está diseñado para entornos de nube. Al crear este tipo de Service, su proveedor de nube (como AWS, GCP o Azure) aprovisiona automáticamente un balanceador de carga externo.
Este balanceador de carga obtiene una dirección IP pública y dirige el tráfico externo directamente a sus Pods, a menudo con funciones avanzadas como la terminación de SSL.
Definir un Service LoadBalancer
Para aplicaciones públicas en un clúster de Kubernetes en la nube, LoadBalancer es la opción habitual. Simplifica considerablemente la administración del acceso externo.
apiVersion: v1
kind: Service
metadata:
name: my-web-app-lb
spec:
selector:
app: my-web-app
ports:
- protocol: TCP
port: 80
targetPort: 80
type: LoadBalancerElegir el Service adecuado
Su equipo está desplegando una nueva aplicación en Kubernetes. Considere los siguientes escenarios:
- Una API de backend a la que solo deben acceder otros servicios dentro del clúster.
- Un servidor web frontend al que se debe poder acceder desde Internet y que se despliega en un proveedor de nube (AWS, GCP o Azure).
¿Qué tipo de Service es el más adecuado para el servidor web frontend?
Repaso: Services para el acceso de red
Hemos aprendido que los Services de Kubernetes proporcionan un acceso de red estable a Pods dinámicos. Son esenciales para que sus aplicaciones se comuniquen de forma fiable.
- ClusterIP: solo para la comunicación interna del clúster.
- NodePort: expone un servicio en un puerto estático de la IP de cada Node, con acceso externo para casos de uso específicos.
- LoadBalancer: se integra con proveedores de nube para aprovisionar un balanceador de carga externo para el acceso público.
Elegir el tipo de Service adecuado es fundamental para controlar cómo se exponen sus aplicaciones.
Preguntas frecuentes
¿La lección «Services para el acceso de red» es gratis?
Sí — el texto completo de «Services para el acceso de red» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.
¿Qué aprenderé en «Services para el acceso de red»?
Exponga sus aplicaciones dentro y fuera del clúster mediante distintos tipos de Service de Kubernetes. Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar DevOps Bootcamp?
No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Services para el acceso de red»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?
Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Deployments para aplicaciones sin estado
- Services para el acceso de red
- ConfigMaps y Secrets
- Ingress y enrutamiento externo