Introducción
En entornos Kubernetes modernos, la automatización de infraestructura es moneda corriente, pero la gestión de secretos sigue siendo un dolor de cabeza recurrente. Cuando las organizaciones escalan sus operaciones —ya sea con múltiples cuentas de AWS/Azure, clústeres separados por entorno (dev/staging/prod) o namespaces aislados— la pregunta es la misma: ¿cómo distribuir y rotar credenciales compartidas de forma consistente sin caer en el «copy-paste» manual?
El problema no es exclusivo de un proveedor cloud. Ya sea en EKS, AKS, GKE, en entornos on-premise o incluso en desarrollo local con KIND/Minikube, la complejidad persiste: cómo replicar secretos entre entornos aislados sin exponer credenciales en repositorios de código o configuraciones estáticas.
Este artículo detalla cómo resolver este desafío usando External Secrets Operator (ESO) —un proyecto CNCF— combinado con Bitwarden Secrets Manager como backend centralizado. El patrón aplica a cualquier proveedor soportado (HashiCorp Vault, AWS Secrets Manager, Azure Key Vault, etc.), pero usamos Bitwarden por alinearse con prácticas existentes en el cliente. Al finalizar, tendrás un clúster listo para sincronizar secretos de forma automática, segura y auditable.
Qué es y para qué sirve
External Secrets Operator (ESO)
ESO es un operador de Kubernetes que sincroniza secretos desde backends externos directamente al API de Kubernetes Secrets. Su valor clave es:
- Desacoplar el almacenamiento de secretos del consumo: las aplicaciones consumen
Secrets estándar de Kubernetes, mientras la fuente de verdad permanece externa (ej: Bitwarden, Vault, etc.). - Soporte multi-proveedor: HashiCorp Vault, AWS Secrets Manager, Azure Key Vault, Google Secret Manager, Bitwarden Secrets Manager, entre otros.
- Reconciliación declarativa: define qué secretos sincronizar (mediante
ExternalSecret) y ESO se encarga de mantenerlos actualizados. - Alcance global o namespace: usa
ClusterSecretStorepara secretos compartidos entre namespaces oSecretStorepara ámbito limitado.
Si rotas una API key en Bitwarden, ESO la reflejará en todos los clústeres asociados en ≤15 minutos, sin tocar manualmente cada clúster.
Bitwarden Secrets Manager (opcional pero recomendado)
- Ventaja pragmática: si tu organización ya usa Bitwarden Password Manager, escalar a Secrets Manager es natural.
- Control de acceso centralizado: los permisos se gestionan en Bitwarden (ej: Machine Account con acceso read-only a un proyecto específico).
- Cifrado en reposo y tránsito: Bitwarden cifra secretos con AES-256 y usa TLS 1.2+.
Prerequisitos
| Componente | Versión mínima | Notas |
|---|---|---|
| Kubernetes | 1.25+ | Cluster con permisos para instalar operadores y CRDs. |
