¿Qué es ConfigMap en Kubernetes?

Autor: | Última modificación: 25 de mayo de 2022 | Tiempo de Lectura: 3 minutos
Temas en este post:

Kubernetes es una plataforma que se utiliza para la administración y gestión de cargas de trabajo y servicios. Tiene una gran popularidad dentro del mundo tecnológico gracias a sus múltiples funcionalidades. De manera que, para hacer un mejor uso de esta plataforma, es necesario que el usuario conozca cuáles son sus opciones fundamentales y cómo ejecutarlas; así, por ejemplo, Kubernetes cuenta con el recurso de ConfigMap, un objeto de la API de la plataforma que se emplea principalmente para el almacenamiento de datos no confidenciales bajo el formato key-value. Este objeto es de gran importancia para Kubernetes y sus tareas, por eso, en este artículo, te enseñaremos qué es ConfigMap, cuáles son sus propiedades y cómo usarlo en el sistema.

¿Qué es ConfigMap?

La herramienta de ConfigMap en Kubernetes hace referencia a los objetos utilizados con el fin de almacenar datos no confidenciales en el formato clave-valor, permitiendo incluso el almacenamiento de ficheros completos.

Además, se debe tener en cuenta que un objeto ConfigMap se caracteriza por contribuir a la separación de los procesos de configuración en el interior de un entorno determinado de una imagen de un contenedor. Esto ayuda a que las aplicaciones ejecutadas puedan mejorar su portabilidad.

Otro aspecto a destacar es que los recursos pods de Kubernetes tienen la posibilidad de usar de los ConfigMaps como variables de entorno, como ficheros de configuración dentro de un volumen o bien como un tipo de argumento de la línea de comandos.

Características de ConfigMap

Dentro de los elementos característicos de ConfigMap se encuentra que es un objeto de la Interfaz de Programación de Aplicaciones API que permite el almacenamiento de la configuración de otros objetos que se usen.

Un ConfigMap también se caracteriza por incluir una sección de data. Esto se utiliza con el objetivo de almacenar items que se identifican por una clave y sus valores determinados.

Otras de las características de ConfigMap son:

No ofrece encriptación

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

Dentro de las características de un ConfigMap en Kubernetes, se encuentra que este no proporciona encriptación, por lo que, si el usuario quiere almacenar datos de tipo confidencial, se recomienda emplear la herramienta de Secrets de Kubernetes para garantizar la seguridad y flexibilidad de la información, o utilizar recursos externos que mantengan los datos seguros y procuren su confidencialidad.

Nombre

En lo que respecta al nombre de un ConfigMap, se puede asegurar que este debe ser un nombre de subdominio de DNS que sea válido en el sistema. Esto quiere decir que su nombre no puede contener una cifra mayor a 253 caracteres; del mismo modo, este nombre debe incluir caracteres de tipo alfanumérico en minúsculas, así como «-» o «.». Además, el nombre del ConfigMap en Kubernetes debe comenzar y terminar con un carácter alfanumérico.

Actualización

Otra de las características de un este objeto de Kubernetes es que, cuando se está usando en un volumen especifico y se actualiza, las claves también se actualizarán de forma automática.

Además de esto, la herramienta del controlador de kubelet se encargará de asegurarse de que el ConfigMap montado se encuentra actualizado para cada uno de los periodos de sincronización; para ello utilizará su caché local y así encontrar el valor actual del objeto.

Inmutabilidad

Kubernetes también ofrece la posibilidad de que los objetos ConfigMap puedan establecerse como inmutables con el objetivo de prevenir actualizaciones indeseadas o accidentales, al tiempo que mejora el rendimiento del clúster del sistema.

Debes tener en cuenta que, cuando un ConfigMap se marca como inmutable, no se tiene la posibilidad de revertirlo o cambiar el contenido del dato. De manera que este tipo de objetos, una vez se han establecido como inmutables, solo pueden eliminarse o recrearse.

Usos de ConfigMap

Generalmente, un objeto ConfigMap de Kubernetes se usa con el objetivo de contribuir a la configuración de los contenedores que se están ejecutando en un recurso de pod dentro del mismo Namespace, aunque también puede utilizarse de manera separada.

Esta herramienta también tiene la capacidad de montarse como volúmenes. En ese caso, cada uno de los ConfigMaps que el usuario quiera usar necesita estar referenciado bajo el formato .spec.volumes .

Estos objetos también pueden usarlos otras partes del sistema sin que estos se expongan de manera directa al pod. Así, por ejemplo, estos objetos pueden almacenar la información necesaria para que otros recursos de la plataforma los usen para su configuración.

¿Cuál es el siguiente paso?

En este artículo has podido aprender qué es un objeto ConfigMap en la plataforma de Kubernetes, así como sus características y usos más relevantes. Ahora, si te interesa profundizar acerca de esta y otras herramientas del sector tecnológico, no dudes en dar un paso más en esta dirección e inscíbete en nuestro DevOps & Cloud Computing Full Stack Bootcamp para continuar aprendiendo. En únicamente 6 meses podrás conocer todo lo necesario para convertirte en un experto del sector IT y obtener una ventaja frente a tus competidores. ¡Solicita ahora más información y anímate a apuntarte en este bootcamp para continuar con tu proceso de aprendizaje!

[email protected]