0Pricing
DevOps Bootcamp · Lección

Escalado de aplicaciones con ReplicaSets

Use ReplicaSets para garantizar que se ejecute siempre un número determinado de Pods idénticos.

Escalado de aplicaciones con ReplicaSets 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.

Por qué es importante escalar

En el mundo de las aplicaciones nativas de la nube, el escalado es fundamental. Permite que sus aplicaciones gestionen cargas de trabajo variables y sigan disponibles incluso si algunos componentes fallan.

Escalar significa ajustar el número de instancias de la aplicación en ejecución para satisfacer la demanda. Si son muy pocas, su aplicación se vuelve lenta o deja de responder. Si son demasiadas, desperdicia recursos.

Conozca el ReplicaSet

Un ReplicaSet es un objeto fundamental de Kubernetes cuya función principal es mantener en todo momento un conjunto estable de Pods en ejecución.

Considérelo como un guardián de sus Pods. Se asegura de que el número de Pods idénticos que usted desea sea siempre igual al número que realmente está en ejecución.

Misión principal del ReplicaSet

El objetivo principal del ReplicaSet es garantizar la disponibilidad de un número especificado de Pods idénticos.

  • Si un Pod deja de funcionar (por ejemplo, debido a un fallo del nodo), el ReplicaSet crea automáticamente uno nuevo.
  • Si un proceso externo crea demasiados Pods, el ReplicaSet termina los que sobran.
  • Esta capacidad de autorreparación es esencial para la fiabilidad de las aplicaciones.

Estructura YAML de un ReplicaSet

Al igual que otros objetos de Kubernetes, un ReplicaSet se define mediante un archivo YAML. Esta es su estructura básica:

  • apiVersion: Define la versión de la API de Kubernetes (por ejemplo, apps/v1).
  • kind: Especifica el tipo de objeto, que es ReplicaSet.
  • metadata: Contiene información identificativa, como el name.
  • spec: Describe el estado deseado del ReplicaSet.

Estado deseado: réplicas y selector

Dentro de la sección spec, dos campos fundamentales son replicas y selector:

  • replicas: Es un número que indica cuántos Pods idénticos desea tener en ejecución.
  • selector: Define cómo el ReplicaSet encuentra y administra los Pods. Utiliza etiquetas para identificar los Pods. Solo los Pods que coincidan con estas etiquetas se considerarán parte de este ReplicaSet.

La plantilla del Pod

El campo spec.template proporciona el modelo de los Pods que creará el ReplicaSet. Es, básicamente, una definición estándar de Pod.

Esta plantilla incluye los metadatos del Pod (como las etiquetas) y su especificación (como las imágenes de los contenedores, los puertos, etc.). ¡Las etiquetas de la plantilla deben coincidir con spec.selector!

Definición de un ReplicaSet sencillo

Definamos un ReplicaSet que garantice que siempre haya 2 Pods del servidor web Nginx en ejecución. Observe cómo las etiquetas de la plantilla del Pod (app: nginx) coinciden con el selector.

apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: nginx-replicaset
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:latest
        ports:
        - containerPort: 80

Creación y comprobación del estado

Para crear este ReplicaSet, guarde el YAML como nginx-rs.yaml y aplíquelo. Después, compruebe su estado y los Pods que administra:

kubectl apply -f nginx-rs.yaml
kubectl get rs
kubectl get pods -l app=nginx

Escalado hacia arriba y hacia abajo

Puede cambiar dinámicamente el número de Pods deseados de un ReplicaSet mediante el comando kubectl scale. Escalemos nuestro ReplicaSet de Nginx a 4 Pods:

kubectl scale --replicas=4 rs/nginx-replicaset
kubectl get rs
kubectl get pods -l app=nginx

Observación del escalado

Al escalar un ReplicaSet, Kubernetes crea o elimina automáticamente Pods para que coincidan con el nuevo número de replicas. Puede observar este proceso en tiempo real:

kubectl scale --replicas=1 rs/nginx-replicaset
kubectl get pods -l app=nginx -w

Desafío de escalado

Tiene un ReplicaSet llamado my-app-rs que actualmente ejecuta 3 Pods. Desea aumentar esta cantidad a 5 Pods. ¿Qué comando de kubectl utilizaría?

Repaso y próximos pasos

Ha aprendido que los ReplicaSets son fundamentales para mantener un número deseado de Pods idénticos, ya que proporcionan autorreparación y alta disponibilidad a sus aplicaciones. Puede definirlos en YAML y escalarlos mediante kubectl scale.

Aunque los ReplicaSets son potentes, en la práctica suele utilizar Deployments, que administran los ReplicaSets por usted y ofrecen funciones más avanzadas, como las actualizaciones progresivas. ¡A continuación exploraremos los Deployments!

Preguntas frecuentes

¿La lección «Escalado de aplicaciones con ReplicaSets» es gratis?

Sí — el texto completo de «Escalado de aplicaciones con ReplicaSets» 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 «Escalado de aplicaciones con ReplicaSets»?

Use ReplicaSets para garantizar que se ejecute siempre un número determinado de Pods idénticos. 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 «Escalado de aplicaciones con ReplicaSets»?

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

  1. Comprender los Deployments
  2. Escalado de aplicaciones con ReplicaSets
  3. Actualizaciones progresivas y reversiones
  4. Estrategias de despliegue: blue-green y canary
← Volver a DevOps Bootcamp