Exposición de aplicaciones con Services
Comprenda el papel de los Services al proporcionar endpoints de red estables para los Pods.
Exposición de aplicaciones con Services es una lección gratuita de Kubernetes Basics en CoddyKit. Esta es la lección 1 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 Kubernetes Basics, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Kubernetes Basics incluye 4 lecciones en total.
Pods: aquí hoy, desaparecidos mañana
En Kubernetes, los Pods son las unidades desplegables más pequeñas. Están diseñados para ser temporales y Kubernetes puede crearlos, destruirlos o moverlos en cualquier momento.
Esta flexibilidad es excelente para la resiliencia, pero plantea un desafío: ¿cómo pueden otras aplicaciones encontrar y comunicarse de forma fiable con estos Pods que cambian constantemente?
El problema del objetivo móvil
Cada Pod obtiene su propia dirección IP. Cuando un Pod se reinicia o escala, suele obtener una nueva dirección IP. ¡Conectarse directamente a la IP de un Pod es como intentar acertar a un objetivo móvil!
Imagine una aplicación web con varios Pods. Si uno de ellos se reinicia, su IP cambia y se interrumpen las conexiones de otros servicios o usuarios.
¡Los Services al rescate!
¡Aquí entran en juego los Services de Kubernetes! Un Service proporciona un punto de conexión de red estable y fijo para un conjunto de Pods.
Considérelo como una dirección permanente para su aplicación, aunque los Pods que hay detrás cambien constantemente sus direcciones individuales.
Una puerta de enlace estable para los Pods
Un Service actúa como una capa de abstracción sobre un grupo de Pods. Les proporciona una única dirección IP y un nombre DNS coherentes.
- Otras aplicaciones utilizan la IP o el nombre estable del Service.
- El Service dirige entonces el tráfico a los Pods saludables que administra.
- Esto desacopla a los clientes de las IP individuales de los Pods.
Conexión de Services con Pods
¿Cómo sabe un Service a qué Pods debe dirigir el tráfico? ¡Utiliza etiquetas y selectores!
Al definir un Service, se especifica un selector. Cualquier Pod que coincida con estas etiquetas pasará automáticamente a formar parte del grupo de ese Service.
Esta asociación dinámica permite añadir automáticamente los Pods nuevos y eliminar los que no estén saludables.
Dirección del tráfico de red
Los Services gestionan el flujo del tráfico de red. Definen puertos para asignar las solicitudes entrantes a los puertos correctos de sus Pods.
Conceptos clave sobre los puertos:
port: El puerto en el que escucha el propio Service.targetPort: El puerto del Pod al que el Service reenvía el tráfico.
Creación de un manifiesto de Service
Al igual que la mayoría de los recursos de Kubernetes, los Services se definen mediante archivos YAML. Veamos su estructura básica:
apiVersion:v1kind:Servicemetadata: Nombre, etiquetasspec: Contiene la definición principal, incluidosselectoryports.
Su primer Service: ClusterIP
El tipo de Service más común para la comunicación interna es ClusterIP. Expone el Service mediante una dirección IP interna dentro del clúster.
Este es un ejemplo de una aplicación web sencilla:
apiVersion: v1
kind: Service
metadata:
name: my-web-service
spec:
selector:
app: my-webapp
ports:
- protocol: TCP
port: 80
targetPort: 8080
type: ClusterIPDespliegue de su Service
Una vez que tenga el YAML de su Service, puede desplegarlo en el clúster mediante kubectl, igual que haría con Pods o Deployments.
Este comando indica a Kubernetes que cree el Service basándose en su definición:
kubectl apply -f service.yamlUso de su nuevo Service
Después del despliegue, su Service obtiene una IP estable y un nombre DNS dentro del clúster. Ahora otros Pods pueden acceder a su aplicación mediante este nombre.
Por ejemplo, otro Pod podría conectarse a my-web-service:80, y el Service se encargaría de dirigir el tráfico a los Pods my-webapp correspondientes.
Comprobación de los Services
Ha aprendido cómo los Services de Kubernetes proporcionan acceso de red estable a Pods dinámicos.
¿Cuál de las siguientes opciones describe mejor la función principal de un Service de Kubernetes?
Repaso: conexiones estables
¡Buen trabajo! En esta lección hemos explorado los Services de Kubernetes.
- Los Pods son efímeros y tienen IP dinámicas.
- Los Services proporcionan puntos de conexión de red estables para los Pods.
- Utilizan selectores para encontrar los Pods de destino.
- Los Services asignan el
portexterno altargetPortinterno. - ClusterIP es un tipo común para la comunicación interna.
A continuación profundizaremos en los distintos tipos de Service y sus usos.
Preguntas frecuentes
¿La lección «Exposición de aplicaciones con Services» es gratis?
Sí — el texto completo de «Exposición de aplicaciones con Services» 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 Kubernetes Basics, actualiza a CoddyKit PRO. El curso de Kubernetes Basics incluye 4 lecciones en total.
¿Qué aprenderé en «Exposición de aplicaciones con Services»?
Comprenda el papel de los Services al proporcionar endpoints de red estables para los Pods. Practicas Kubernetes Basics 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 Kubernetes Basics?
No se requiere experiencia previa. Kubernetes Basics 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 1 de 4.
¿Cuánto tiempo toma la lección «Exposición de aplicaciones con Services»?
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 Kubernetes Basics?
Sí. Cada lección de Kubernetes Basics 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
- Exposición de aplicaciones con Services
- Tipos de Service: ClusterIP, NodePort y LoadBalancer
- Ingress para acceso externo
- DNS y descubrimiento de servicios