Saltar a contenido

Kubernetes - Orquestaci贸n de Contenedores

Introducci贸n a Kubernetes

Kubernetes (K8s) es una plataforma de orquestaci贸n de contenedores de c贸digo abierto que automatiza el despliegue, escalado y gesti贸n de aplicaciones contenerizadas.

Arquitectura de Kubernetes

Componentes del plano de control

  • API Server: Punto de entrada para todas las operaciones
  • etcd: Base de datos distribuida que almacena la configuraci贸n
  • Scheduler: Asigna pods a nodos
  • Controller Manager: Mantiene el estado del cluster

Componentes del nodo

  • kubelet: Agente que ejecuta en cada nodo
  • kube-proxy: Gestiona las reglas de red
  • Container Runtime: Software que ejecuta los contenedores

Conceptos fundamentales

Pods

Los pods son la unidad m谩s peque帽a de Kubernetes. Contienen uno o m谩s contenedores.

# pod.yaml
apiVersion: v1
kind: Pod
metadata:
  name: mi-pod
spec:
  containers:
  - name: nginx
    image: nginx:latest
    ports:
    - containerPort: 80

Deployments

Los deployments gestionan el estado deseado de los pods.

# deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mi-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: mi-app
  template:
    metadata:
      labels:
        app: mi-app
    spec:
      containers:
      - name: nginx
        image: nginx:latest

Services

Los services exponen aplicaciones que se ejecutan en pods.

# service.yaml
apiVersion: v1
kind: Service
metadata:
  name: mi-service
spec:
  selector:
    app: mi-app
  ports:
  - port: 80
    targetPort: 80
  type: LoadBalancer

Comandos b谩sicos

# Aplicar un manifiesto
kubectl apply -f archivo.yaml

# Listar pods
kubectl get pods

# Ver logs de un pod
kubectl logs <pod-name>

# Ejecutar comando en un pod
kubectl exec -it <pod-name> -- /bin/bash

# Escalar un deployment
kubectl scale deployment mi-deployment --replicas=5

Casos de uso

  • Microservicios
  • Aplicaciones nativas en la nube
  • CI/CD pipelines
  • Aplicaciones de alta disponibilidad

Pr贸ximos pasos

En las siguientes secciones exploraremos: - Configuraci贸n avanzada de clusters - Gesti贸n de almacenamiento - Redes y pol铆ticas de seguridad - Monitoreo y logging - Helm y gesti贸n de paquetes

Recursos adicionales

Documentaci贸n oficial

Comunidad