Saltar al contenido principal

Capítulo 4.1 - Introducción a los Servicios

Objetivos de Aprendizaje​

Al final de este capítulo, usted será capaz de:

  • Comprender el problema que resuelven los Servicios
  • Explicar el rol de los Servicios
  • Comprender cómo funcionan los Servicios
  • Crear un Servicio simple

El Problema​

Los Pods tienen IPs efímeras que cambian:

Problemas:

  • Las IPs cambian cuando los Pods se reinician
  • ¿Cómo encontrar los Pods backend?
  • ¿Cómo equilibrar la carga?

La Solución: Servicios​

Un Servicio expone un conjunto de Pods como un servicio de red con una IP estable:

Ventajas:

  • IP estable
  • Balanceo de carga automático
  • Descubrimiento de servicios
  • Abstracción de los Pods backend

¿Cómo Funciona?​

Selectors​

El Servicio utiliza selectors para encontrar los Pods:

apiVersion: v1
kind: Service
metadata:
name: web-service
spec:
selector:
app: web
tier: frontend
ports:
- port: 80
targetPort: 8080

Declaración YAML​

apiVersion: v1
kind: Service
metadata:
name: my-service
labels:
app: my-app
spec:
selector:
app: my-app
tier: frontend
ports:
- protocol: TCP
port: 80 # Puerto del Servicio
targetPort: 8080 # Puerto del contenedor
type: ClusterIP # Tipo de Servicio

Comandos Útiles​

# Crear un Servicio
kubectl apply -f service.yaml

# Listar los Servicios
kubectl get services

# Detalles de un Servicio
kubectl describe service my-service

# Ver los Endpoints
kubectl get endpoints my-service

# Eliminar un Servicio
kubectl delete service my-service

Resumen​

En este capítulo, usted ha aprendido:

Problema: IPs efímeras de los Pods
Solución: Servicios con IP estable
Selectors: Identificar los Pods backend
Load Balancing: Automático entre los Pods
Abstracción: Los clientes no necesitan conocer los Pods


Próximos Pasos​

Ahora que usted comprende los Servicios:

Capítulo 4.2: Tipos de Servicios
Lab 4.1: Servicios ClusterIP y NodePort


Capítulo creado el: Diciembre 2024