¿Qué son los volúmenes de Kubernetes?

| Última modificación: 24 de abril de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

La plataforma de Kubernetes es una herramienta enfocada en la gestión de servicios y cargas de trabajo. El almacenamiento de Kubernetes lo gestiona una serie de recursos, dentro de los que se incluye la opción de volumes o volúmenes, que no son más que los elementos utilizados para permitir la persistencia de los datos de las aplicaciones del usuario. Los volúmenes de Kubernetes serán de gran importancia para el cumplimiento de varias de las funciones de la plataforma, por eso, en este artículo, te enseñamos qué son, cuáles son sus características principales y para qué sirve.

¿Qué son los volúmenes de Kubernetes?

Los volúmenes en la plataforma Kubernetes se definen como un tipo de directorio al que los recursos de pod tienen acceso. De manera que el sistema admite varios tipos de volúmenes y, dependiendo de qué tipo sea, se definen datos como su contenido o su modelo de creación, es decir, si necesita crearse de manera previa o no.

Aunque el término de volúmenes no es original de Kubernetes, sino que ya estaba en plataformas de contenedores como Docker, se debe decir que esta funciona como un directorio en el disco o en otro container y, además, sus funcionalidades eran bastante limitadas. Esta limitación se debe, principalmente, a su ciclo de vida, puesto que esta depende del pod; es decir, cuando el pod termina sus actividades y muere, el volumen también lo hace, incluso cuando todavía contenga información valiosa para la plataforma del usuario.

En cambio, los volúmenes propios de Kubernetes no presentan esta limitación. Además, tienen la capacidad de permitir la totalidad de los contenedores que se implementen en el interior de un pod determinado.

Características de los volúmenes de Kubernetes

Dentro de las características principales del recurso de volúmenes en el sistema de Kubernetes, se encuentra su definición como un directorio que puede incluir algunos datos determinados al que tienen acceso los contenedores de un pod específico. Todo lo relacionado con la forma de este directorio, así como el medio que lo respalde y la información que contenga, se determina dependiendo del tipo de volumen que se utilice.

Otra de las características de estos recursos en Kubernetes es que permiten varios tipos de almacenamiento, porque los pods pueden usar más de uno de manera simultánea.

🔴 ¿Quieres entrar de lleno al mundo DevOps & Cloud Computing? 🔴

Descubre el DevOps & Cloud Computing Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en DevOps & Cloud Computing por una semana

Cabe resaltar también que Kubernetes admite diferentes tipos de volúmenes que pueden ser efímeros o persistentes. Los efímeros son aquellos que tienen el mismo ciclo de vida del pod, por lo que, cuando este deja de existir, la plataforma se encarga de destruir al volumen. Por otra parte, los volúmenes de tipo persistente tienen la capacidad de existir más allá de la vida útil del recurso de pod, por lo que este no se destruye cuando el pod lo hace. Sea cual sea el tipo de volumen que se esté implementando en el pod, sus datos se conservan cuando el contenedor se reinicia.

El uso de los volúmenes efímeros, como emptyDir, o locales, como hostPath, implica que, en caso de que la aplicación del usuario falle y muera, el recurso de kubelet se encargará de recrear el pod, pero se perderá la información que se tuviera almacenada, debido a que el contenedor trabajado es efímero.

Además, en caso de que la aplicación se mueva de nodo, aunque el usuario haya escrito dentro del host y no del contenedor, también se perderá la información.

Tipos de volúmenes de Kubernetes

Como se ha mencionado, existen diferentes tipos de volúmenes, dentro de los que destacan:

  • emptyDir: se refiere al tipo de volumen más básico de la plataforma y que, además, se caracteriza por ser efímero. Se crea cuando se asigna un nodo por primera vez.
  • hostPath: este volumen tiene la capacidad de montar un archivo o un determinado directorio del sistema de ficheros del nodo host a otros recursos, como un pod.
  • gcePersistentDisk: lleva a cabo el montaje de un disco persistente de la plataforma de Google Compute Engine en el pod del usuario.
  • awsElasticBlockStore: este tipo de volumen se encarga de montar un Elastic Block Store del sistema de Amazon Web Services en el pod.

¿Cuál es el siguiente paso?

En este artículo has podido aprender qué son los volúmenes de Kubernetes, cuáles son sus características más importantes y los tipos que existen. Ahora, si te interesa seguir aprendiendo y profundizar sobre estos conocimiento, no dudes en dar el siguiente paso y continuar con tu proceso de formación acerca de esta y otras herramientas del sector IT, a través de nuestro DevOps & Cloud Computing Full Stack Bootcamp.

Con este bootcamp, requerirás menos de 6 meses para conocer todo lo necesario para convertirte en un experto del mundo tecnológico y obtener una ventaja frente a tus competidores. ¡Anímate a inscribirte y no dejes de aprender!

Xoán Mallón

Senior DevOps Engineer en Zscaler & Coordinador del Bootcamp DevOps & Cloud Computing.

Posts más leídos

¡CONVOCATORIA ABIERTA!

DevOps & Cloud Computing

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado