Ir al contenido principal

Introducción al Bloque 4: Almacenamiento en Kubernetes

 

El almacenamiento en Kubernetes es uno de los pilares fundamentales para asegurar la persistencia de los datos y su correcta gestión en aplicaciones distribuidas. A medida que las aplicaciones modernas requieren mayor resiliencia y escalabilidad, es crucial entender cómo Kubernetes maneja y abstrae los recursos de almacenamiento para poder integrarlos de manera eficiente en los clústeres.

En este bloque, vamos a sumergirnos en los conceptos y prácticas clave de almacenamiento en Kubernetes, enfocándonos en los volúmenes efímeros y persistentes, las clases de almacenamiento (Storage Classes) y las reclamaciones de volúmenes persistentes (PVC). Estos son los componentes esenciales que permiten a Kubernetes separar las preocupaciones de almacenamiento del ciclo de vida de los pods, proporcionando flexibilidad y persistencia de datos a largo plazo.

Temas que abordaremos

  1. Volúmenes Efímeros
    Exploraremos los volúmenes efímeros, los cuales son creados y eliminados junto con el pod. Este tipo de almacenamiento es ideal para datos temporales, como registros (logs), cachés o archivos de trabajo que no requieren ser almacenados permanentemente. Técnicamente, veremos tipos como:

    • emptyDir: Se utiliza para compartir almacenamiento temporal entre los contenedores de un mismo pod.
    • configMap y Secret: Utilizados para almacenar configuraciones y datos sensibles, disponibles solo durante el ciclo de vida del pod.
  2. Volúmenes Persistentes (Persistent Volumes)
    Los volúmenes persistentes son aquellos que sobreviven al ciclo de vida de los pods y garantizan la persistencia de los datos a través de reinicios o reemplazos de pods. Aquí profundizaremos en conceptos como:

    • hostPath: Un tipo de volumen persistente que mapea rutas del nodo directamente al pod. Si bien es útil en entornos de desarrollo, tiene limitaciones para producción.
    • NFS y otros volúmenes de red: Ideales para compartir almacenamiento entre múltiples pods de diferentes nodos, facilitando la colaboración entre aplicaciones distribuidas.
  3. Clases de Almacenamiento (Storage Classes)
    Kubernetes permite el aprovisionamiento dinámico de almacenamiento a través de las Storage Classes. Estas proporcionan una abstracción que facilita la creación de volúmenes bajo demanda, permitiendo definir perfiles de almacenamiento que se ajusten a diferentes tipos de aplicaciones. Veremos:

    • Cómo definir Storage Classes para adaptar los volúmenes a necesidades específicas, como rendimiento o capacidad.
    • El uso de drivers CSI (Container Storage Interface) para conectar Kubernetes a proveedores de almacenamiento en la nube o infraestructuras locales.
  4. Persistent Volume Claims (PVC)
    El PVC es la manera en la que los pods solicitan almacenamiento persistente en Kubernetes. Esta reclamación asegura que los pods puedan acceder al almacenamiento de forma segura y controlada. Veremos cómo configurar PVCs para que los pods puedan hacer uso eficiente del almacenamiento disponible en el clúster, desde pequeños archivos temporales hasta grandes bases de datos.

Pincelada Técnica

A lo largo de este bloque, realizaremos prácticas concretas, como la creación de volúmenes persistentes con manifestaciones yaml y la correcta asignación de recursos mediante PVC. Por ejemplo, trabajaremos con ejemplos como:

apiVersion: v1 kind: PersistentVolume metadata: name: cka-pv-hostpath spec: capacity: storage: 10Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain hostPath: path: /mnt/data

Este manifiesto crea un volumen persistente en el nodo que puede ser reclamado por un pod a través de un PVC, lo que proporciona un nivel de control y seguridad sobre los datos almacenados. Además, aprenderemos a utilizar Storage Classes con aprovisionamiento dinámico para que el clúster administre automáticamente el almacenamiento.

¿Por qué es importante?

En entornos donde los datos deben ser altamente disponibles, robustos y escalables, el almacenamiento en Kubernetes se convierte en una herramienta poderosa. Con la capacidad de manejar tanto volúmenes efímeros como persistentes, Kubernetes te permite asegurar la persistencia de datos críticos mientras optimizas el uso de los recursos de almacenamiento.

Este bloque te proporcionará las herramientas y el conocimiento necesarios para abordar los desafíos de almacenamiento en entornos distribuidos, asegurando que tus aplicaciones no solo funcionen de manera eficiente, sino que también mantengan los datos de manera segura y confiable.

Comentarios

Entradas populares de este blog

Ubicación, Estructura y Manejo básico de certificados.

                                                     Kubernetes utiliza certificados TLS (X.509) para cifrar la comunicación entre sus componentes y autenticar identidades (usuarios, nodos, API Server, etc.). Estos certificados son generados y gestionados automáticamente cuando se instala un clúster con kubeadm . En este artículo, veremos dónde se almacenan los certificados , cuál es su estructura y cómo inspeccionarlos fácilmente, una habilidad muy útil para el examen CKA. Cuando creas un clúster con kubeadm , los certificados se generan por defecto en el directorio: /etc/ kubernetes /pki/ Puedes ver su contenido con: ls -l /etc/kubernetes/pki/ También hay certificados en: /etc/kubernetes/ (ahí verás admin.conf , kubelet.conf , etc., que incluyen certificados embebidos, como veremos más abajo). 🧱 Estructura de los ce...

🔁 Renovación y Rotación de Certificados en Kubernetes (kubeadm certs)

  🎯 Introducción En un clúster de Kubernetes, la mayoría de los certificados generados por kubeadm tienen una validez de un año . Para evitar interrupciones en los componentes críticos, es fundamental revisar periódicamente su vigencia y saber cómo renovarlos correctamente. En este artículo aprenderás: Cómo comprobar la expiración de los certificados Cómo renovarlos automáticamente con kubeadm Cómo simular una renovación manual con openssl Cómo aplicar los cambios reiniciando los componentes afectados 🕵️‍♂️ Comprobación del estado de los certificados Kubernetes ofrece una herramienta integrada para revisar los certificados del clúster: kubeadm certs check-expiration Este comando muestra información clave: Fecha de expiración Tipo de certificado Ruta en el sistema 📌 Salida de ejemplo: CERTIFICATE EXPIRES RESIDUAL TIME CERTIFICATE AUTHORITY apiserver Jan 06 , 2026 19 :56 UTC 330d ...

TLS Bootstrapping en Kubernetes: Qué es, cómo funciona y por qué importa en el examen CKA

                                                       Uno de los conceptos que a menudo pasan desapercibidos en la administración de Kubernetes —pero que resultan clave tanto en entornos reales como en el examen CKA— es el TLS Bootstrapping . En este artículo entenderás qué es, cómo funciona, qué lo diferencia del kubeadm join tradicional y cómo puede aparecer en el examen. ¿Qué es TLS Bootstrapping? TLS Bootstrapping es el proceso por el cual el kubelet , el agente que corre en cada nodo, obtiene automáticamente un certificado TLS firmado por el clúster para autenticarse con el kube-apiserver . En otras palabras: permite que un nuevo nodo se una de forma segura al clúster sin necesidad de copiar manualmente los certificados. ¿Por qué es necesario? Cuando añades un nuevo nodo worker, su kubelet necesita autentic...