Los Secrets en Kubernetes se refieren a un tipo de objeto enfocado en el almacenamiento y gestión de los datos confidenciales, como pueden ser las contraseñas o claves SSH en los clústeres del usuario. Esta herramienta garantiza la seguridad y flexibilidad de la información, debido a que permite el control del uso de los datos sensibles al tiempo que disminuye el riesgo de exponerlos accidentalmente a usuarios sin autorización para verlos o gestionarlos.
De manera que, para usar estos elementos, un pod debe referirse a este y utilizarlo, ya sea como archivo en un volumen montado en un contenedor de la plataforma o a través de la herramienta de kubelet, al realizar el proceso de extracción de imágenes incluidas en el pod.
Características de Secrets en Kubernetes
Los Secrets en Kubernetes se caracterizan por ser objetos de datos basados en texto que incluyen elementos confidenciales que se cifran a través del sistema de codificación binario Base64. Además de esto, los Secrets ofrecen la posibilidad de modificarlos de forma manual mediante el uso de la línea de comandos del sistema o la configuración. El usuario también puede leerlos y editarlos.
Los Secrets en Kubernetes pueden crearse de forma directa por el usuario o por el mismo sistema y estos se caracterizan por incluir credenciales que le permiten el acceso a la Interfaz de Programación de Aplicaciones API de la plataforma. Contribuyen, además, a la edición automática de los pods para hacer uso de esta herramienta. Si el usuario lo desea, tiene la posibilidad de anular y deshabilitar la creación y el uso automatizado de las credenciales de la API del sistema, dependiendo de sus necesidades y las de su proyecto.
En lo que respecta al acceso de los Secrets en Kubernetes, podemos añadir que se puede ingresar en ellos de forma directa o bien almacenarlos de manera local en el interior de una variable de entorno de la plataforma. En el caso de que alguno de los Secrets necesite una actualización, el cliente no deberá modificar ninguna de sus referencias.
Otra de las características de los objetos de tipo Secrets en Kubernetes es que las herramientas del sistema, como son kubectl get
y kubectl describe
, tienen la propiedad de evitar mostrar la información contenida en un Secret de forma predeterminada. Esta opción contribuye a la protección de los datos sensibles incluidos en el Secret y evita que estos sean expuestos de forma accidental a un usuario no deseado. Además, esta propiedad también evita que los Secrets se almacenen en el interior de un registro de terminal.
🔴 ¿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 semanaLos Secrets en Kubernetes también pueden montarse como volúmenes de datos o exponerse en formato de variables de ambiente, para que, así, un contenedor determinado dentro de un pod pueda utilizarlos. Además, otras partes del sistema pueden implementar estos Secrets sin que se encuentren expuestos de forma directa en el pod.
Limitaciones de un Secret en Kubernetes
Al utilizar un Secrets en Kubernetes, el usuario debe tener en cuenta una serie de restricciones o limitaciones, dentro de las que se encuentra que este debe crearse antes de que algún pod del sistema dependa de él. También es necesario que la creación de este elemento ocurra antes de que se consuman en un determinado pod como si fueran variables de entorno.
Otra de las limitaciones para los Secrets en Kubernetes es que, cuando son individuales, se encuentran limitados a un tamaño de 1MiB, debido a que, de esta forma, se evita la creación de Secrets de gran tamaño que ocupen mucho espacio en la memoria del API server o del Kubelet.
Además, es importante conocer que la opción de Kubectl solo permite el uso de un Secret para los pods que se obtengan a partir del API server.
En este artículo has podido conocer qué son los Secrets en Kubernetes, además de cuáles son sus características más importantes y sus usos y limitaciones dentro de la plataforma. Ahora que has alcanzado este punto, no dudes en continuar con tu aprendizaje en relación a esta y otras muchas herramientas de Kubernetes a través de nuestro DevOps & Cloud Computing Full Stack Bootcamp. En menos de 6 meses, te formarás en todo lo necesario para convertirte en un experto del sector IT y mejorar los procesos de tus proyectos tecnológicos. ¡Solicita más información y anímate a inscribirte ahora para continuar con tu proceso de formación!