PersistentVolume (PV) en 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 de las más útiles y conocidas para la gestión de cargas de trabajo y servicios. Este sistema cuenta con un manejo del almacenamiento que permite entender cómo este se proporciona a partir de lo que se consume en la plataforma. Esta gestión está a cargo de recursos como PersistentVolume (PV), un complemento de los volúmenes de Kubernetes que permite la gestión de los recursos de volumen persistentes, como un objeto de la plataforma.

De manera que la opción de PersistentVolume (PV) será de gran importancia para la gestión de almacenamiento y la persistencia de datos en Kubernetes. Por eso, en este artículo, te enseñamos qué es y cuáles son sus características, funciones y opciones principales.

¿Qué es PersistentVolume (PV) en Kubernetes?

La opción de PersistentVolume de Kubernetes hace referencia al recurso de almacenamiento en los clústeres que representan volúmenes que el administrador ha aprovisionado de forma manual o que se aprovisiona de manera dinámica a través de las diferentes clases de almacenamiento o storage classes.

Este elemento se caracteriza, además, por ser un recurso del clúster y un complemento de los volúmenes, aunque tiene la propiedad adicional de tener un ciclo de vida independiente de cualquiera de los pods que utilice el PersistentVolume. Esta separación del ciclo de vida de estos recursos contribuye a que los datos que se encuentran almacenados en los pods no desaparezcan cuando este se elimina, sino que puede permanecer en la plataforma mediante esta herramienta de persistencia.

También debes tener en cuenta que puede ocurrir que se necesiten algunos programas auxiliares que se relacionan con el tipo de volumen utilizado para el consumo del recurso de PersistentVolume dentro de un clúster de usuario determinado.

Características de PersistentVolume

Dentro de los elementos y propiedades que caracterizan al recurso de PersistentVolume en el sistema de Kubernetes, se encuentra su definición como elemento del almacenamiento en el que se conectan los pods para que puedan almacenar su información y datos, que estarán disponibles, incluso, después del reinicio de un contenedor determinado.

🔴 ¿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

El recurso de PersistenVolume en la plataforma de Kubernetes contribuye también a la gestión de volúmenes persistentes como objetos del sistema e incluye los elementos de especificación (spec) y un estado del volumen con el que se esté trabajando.

Otra de las características de este objeto de API es que tiene la capacidad de capturar los detalles de la implementación del almacenamiento, que puede ser de tipo NFS, iSSCI o un sistema de almacenamiento determinado por el proveedor de la nube del usuario y su infraestructura.

Otras de las características a destacar de los PersistentVolume de Kubernetes son:

Nombre

El nombre de un objeto de PV debe ser un tipo de nombre del subdominio DNS que sea válido. Esto implica que debe adherirse a los requerimientos del nombre del recurso de DNS, lo que incluye parámetros como que su extensión no sea superior a 253 caracteres o que contenga solamente caracteres de tipo alfanumérico en minúsculas, así como los caracteres ‘-‘ o ‘.’ Además de esto, el nombre debe comenzar y terminar con un carácter de tipo alfanumérico.

Afinidad de nodos

En lo que respecta a la afinidad de nodos en el recurso de PersistentVolume, se puede agregar que tiene la capacidad de especificar este elemento, si se quiere establecer una serie de restricciones que limiten desde qué nodos se puede realizar el acceso al volumen. De manera que los recursos de pods que utilizan un PersistentVolume solo se programan para los nodos que hayan sido seleccionados a través del elemento de afinidad.

Aprovisionamiento

Los PersistentVolume pueden aprovisionarse de dos formas distintas: estática o dinámicamente. La forma estática establece que un administrador del clúster tiene la posibilidad de crear cierta cantidad de PV, conteniendo la información de su almacenamiento real y permitiendo su disponibilidad para el uso de los clientes del clúster.

Por su lado, el aprovisionamiento dinámico se lleva a cabo cuando ninguno de los PersistentVolume de tipo estáticos que creó el administrador coincide con el recurso de PersistentVolumeClaims (PVC) del usuario. En esta situación, el clúster tiene la posibilidad de intentar aprovisionar el volumen de forma dinámica para el PVC.

¿Cuál es el siguiente paso?

En este artículo has podido conocer qué es el recurso de PersistentVolume en la plataforma de Kubernetes, así como sus principales usos y propiedades. Ahora que has llegado a este punto, no dudes en dar el siguiente paso y continúa con tu proceso de aprendizaje a través de nuestro DevOps & Cloud Computing Full Stack Bootcamp, donde en menos de 6 meses podrás aprender acerca de esta y otra gran variedad de herramientas del sector tecnológico. En poco tiempo, te convertirás en un experto y podrás destacar frente a tus competidores. ¡Anímate a inscribirte en este bootcamp 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