Vault con Kubernetes

Descubre HashiCorp Vault para gestionar secretos en Kubernetes: instalación rápida y estándar, sellado Unseal, autenticación Kubernetes, KV v2 y seguridad de secretos.

4 sept 2025 • 6 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

¿Qué es HashiCorp Vault? Vault es una plataforma de gestión de secretos y cifrado que permite almacenar, generar y controlar el acceso a datos sensibles como claves API, credenciales de bases de datos, certificados TLS y tokens. Con Vault puedes centralizar secretos, emitir credenciales efímeras bajo demanda y aplicar el principio de mínimo privilegio en aplicaciones, CI CD e infraestructura.

Instalación rápida de Vault en Kubernetes en modo de desarrollo sin almacenamiento persistente. 1 Crea el namespace vault y establece el contexto. 2 Añade el repositorio Helm de HashiCorp y actualiza. 3 Instala el chart con server dev habilitado, dataStorage deshabilitado y la interfaz UI habilitada. Este despliegue es útil para pruebas porque no persiste datos y no requiere TLS, pero no es apropiado para producción.

Instalación estándar con almacenamiento Raft sin TLS para simplificar. Configura el modo standalone, habilita la UI, listener TCP en el puerto 8200 y 8201 con TLS deshabilitado, y usa storage raft con ruta interna en vault data. Activa un volumen persistente con tamaño 1Gi y expón la UI como ClusterIP para acceder con port forward. Instala el chart de Helm con un values de estos parámetros. En producción activa TLS, planifica almacenamiento y alta disponibilidad, y considera múltiples réplicas con Raft para resiliencia.

Conceptos clave Seal y Unseal. Cuando Vault arranca, está sellado. Puede leer el backend de almacenamiento físico pero no puede descifrar los datos. Los datos se cifran con una clave de cifrado protegida por una clave raíz. Para operar, Vault necesita descifrar esa clave raíz. El proceso de unseal aporta material criptográfico para reconstruir la clave maestra en memoria y, con ella, descifrar la clave de datos. Vault nunca escribe la clave maestra en disco y solo almacena datos cifrados.

Sellado de tipo Shamir. Por defecto, Vault divide la clave de desellado en varias participaciones usando Shamir Secret Sharing. Se define un número total de shares y un umbral. Los operadores introducen shares en cualquier orden hasta alcanzar el umbral, momento en el que Vault se desella y puede atender peticiones. Resumen práctico mínimo privilegio, datos cifrados siempre, clave maestra solo en memoria tras el unseal y necesidad de quórum para operar.

Estado del pod y proceso de inicialización. Tras desplegar, el pod principal de Vault suele aparecer como 0 1 Ready porque está sellado. Ejecuta la inicialización para generar shares de desellado y el token raíz. Introduce el número de shares requerido para alcanzar el umbral y verifica que el estado cambia a 1 1 Running. Luego inicia sesión con el token raíz para realizar configuraciones iniciales y crea un usuario o método de autenticación menos privilegiado para uso diario.

Autenticación de Kubernetes. Habilita el método auth kubernetes en Vault, crea un namespace para tus apps por ejemplo webapps y una service account por ejemplo vault-auth. Configura en Vault el token reviewer que usará para hablar con el API de Kubernetes, la URL del API del cluster y el certificado CA del cluster. ¿Por qué? Así Vault puede validar tokens de service account de los pods contra el API de Kubernetes y comprobar namespace y cuenta de servicio de origen.

Parámetros esenciales de la configuración. token_reviewer_jwt Token de una service account con permiso para usar la API TokenReview. kubernetes_host Dirección del API del cluster accesible desde el propio Vault. kubernetes_ca_cert CA del cluster para verificar TLS y evitar ataques de intermediario. Flujo de autenticación 1 El pod envía su token de service account a Vault. 2 Vault consulta al API de Kubernetes usando el token reviewer para validar. 3 Kubernetes confirma identidad namespace y service account. 4 Vault emite un token de Vault con las políticas asignadas.

Políticas en Vault. Crea una política por ejemplo myapp-policy que otorgue permisos mínimos necesarios sobre rutas de KV v2. Ejemplo conceptual permitir create update read delete list sobre secret data mysql y secret data frontend, y list sobre secret metadata mysql y secret metadata frontend. Recuerda que Vault es deny by default y todo acceso debe concederse explícitamente mediante políticas.

Asignación de pods a políticas. Crea un rol de Kubernetes en Vault, por ejemplo auth kubernetes role vault-role, que vincule bound_service_account_names vault-auth, bound_service_account_namespaces webapps, asigne la política myapp-policy y defina un ttl razonable. Con esto, cualquier pod que use esa service account en ese namespace podrá autenticarse y obtener un token con esa política.

Motor de secretos KV V2 y carga de datos. Habilita el motor de secretos kv en la ruta secret con version 2 y escribe las claves necesarias, por ejemplo secret mysql con variables MYSQL_DATABASE y MYSQL_ROOT_PASSWORD y secret frontend con referencias de configuración. KV v2 mantiene versionado, metadatos y control de borrado suave, lo que facilita auditoría y recuperación.

Inyección de secretos en pods con Vault Agent Injector. Añade anotaciones al pod o deployment para activar la inyección. Usa vault.hashicorp.com agent-inject true para encender el agente. Define vault.hashicorp.com role con el rol creado en Vault. Para cada secreto, usa vault.hashicorp.com agent-inject-secret-NOMBRE para indicar la ruta a leer por ejemplo secret mysql y, si lo deseas, una plantilla con vault.hashicorp.com agent-inject-template-NOMBRE para controlar el contenido exacto del archivo inyectado, por ejemplo una línea export MYSQL_ROOT_PASSWORD=valor. El sidecar autenticará con el token de service account, obtendrá los secretos y los escribirá en vault secrets dentro del contenedor, rotándolos si procede.

Acceso a la UI. Consulta el servicio de Vault en el namespace y realiza un port forward del servicio al puerto 8200 para acceder al panel desde tu equipo. En entornos productivos usa Ingress o un balanceador con TLS activo y políticas de acceso estrictas.

Eliminación del despliegue. Desinstala el release de Helm y elimina pods y persistent volume claims asociados si deseas limpiar completamente el entorno. Antes de borrar, exporta snapshots de Raft si necesitas conservar datos de producción.

Buenas prácticas de producción. Activa TLS extremo a extremo, emplea auto unseal con un KMS como AWS KMS o Azure Key Vault, aplica políticas de rotación y caducidad cortas, separa espacios de nombres lógicos por equipos y entornos, habilita auditoría, gestiona copias de seguridad y pruebas de restauración, y utiliza plantillas y controladores para inyección segura. Para clusters multi zona, dimensiona Raft con quórum suficiente y monitoriza latencia y estado de liderazgo.

En Q2BSTUDIO ayudamos a implantar Vault con Kubernetes de forma segura y escalable, integrándolo con pipelines, microservicios, mensajería y data platforms. Somos una empresa de desarrollo de software y aplicaciones a medida, especialistas en inteligencia artificial, ciberseguridad y servicios cloud. Si necesitas reforzar la protección de tus secretos, cumplimiento normativo y gobierno de accesos, consulta nuestros servicios de ciberseguridad y pentesting. Si tu estrategia requiere infraestructuras elásticas, landing zones y observabilidad gestionada, explora nuestros servicios cloud AWS y Azure.

Palabras clave de nuestro valor para tu negocio aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi. Integramos Vault con pipelines de datos y cuadros de mando, habilitando gobernanza de secretos desde orígenes hasta consumo, y alineándolo con modelos de amenazas reales para minimizar riesgo y tiempo medio de remediación.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat