Skip to main content
← All posts·
Platform Engineering

External Secrets Operator for Kubernetes: Secure Secret Synchronisation Guide

External Secrets Operator (ESO) guide for regulated enterprises. Sync secrets from Vault, AWS Secrets Manager, Azure Key Vault, and GCP Secret Manager into Kubernetes. Zero-trust secret management with audit trails and rotation support.

Luca Berton10 min read

The Kubernetes Secret Problem

Kubernetes Secrets are base64-encoded, not encrypted. Anyone with RBAC access to a namespace can read every secret in it. For regulated enterprises, storing sensitive credentials directly in Kubernetes is a compliance risk. The solution: store secrets in a dedicated secrets manager (Vault, AWS Secrets Manager, Azure Key Vault) and synchronise them into Kubernetes on demand.

External Secrets Operator (ESO) is the standard Kubernetes operator for this pattern, supported by the CNCF ecosystem.

How ESO Works

Architecture

  1. You define a SecretStore — connection to your secrets backend (Vault, AWS SM, Azure KV, etc.)
  2. You define an ExternalSecret — which secret to fetch, how to map it, and refresh interval
  3. ESO fetches the secret from the external backend and creates a Kubernetes Secret
  4. ESO continuously reconciles — when the external secret changes, the Kubernetes Secret is updated
  5. Pods reference the Kubernetes Secret as normal (env vars, volume mounts)

Key benefit: Developers use standard Kubernetes Secret references. They don't need to know which backend the secret comes from or how authentication works.

Supported Backends

  • HashiCorp Vault: KV v1/v2, dynamic secrets, PKI
  • AWS Secrets Manager: Full integration with IAM authentication
  • AWS Parameter Store: Cost-effective alternative for simpler secrets
  • Azure Key Vault: Secrets, keys, and certificates
  • GCP Secret Manager: Full integration with Workload Identity
  • 1Password, Doppler, Infisical: Developer-friendly backends
  • Oracle Vault, IBM Secrets Manager: Enterprise backends

Compliance Benefits

  • Centralised audit: All secret access logged in the secrets backend (Vault audit log, AWS CloudTrail, Azure Activity Log)
  • No secrets in Git: GitOps repos contain ExternalSecret references, not actual secret values
  • Rotation support: When secrets rotate in the backend, ESO automatically updates Kubernetes Secrets
  • RBAC separation: Platform team manages SecretStores, development teams manage ExternalSecrets — separation of duties
  • Multi-tenancy: ClusterSecretStore for shared backends, namespace-scoped SecretStore for team-specific backends
📘 Book

Kubernetes Recipes

A practical guide for container orchestration and deployment by Grzegorz Stencel & Luca Berton (Apress).

Watch on Skillshare →

ESO vs Vault Agent vs CSI Driver

ApproachESOVault AgentSecrets Store CSI
Backend agnosticYes (20+ backends)Vault onlyProvider-specific
Sidecar neededNo (operator-based)Yes (sidecar per pod)No (CSI volume)
Creates K8s SecretYes (standard Secret)Files in pod (not a K8s Secret)Optional
Resource overheadOne operator for all secretsOne sidecar per pod using secretsOne DaemonSet

Implementation Guide

  1. Install ESO via Helm in your cluster
  2. Create a ClusterSecretStore pointing to your primary secrets backend
  3. Migrate one service — replace hardcoded secrets with ExternalSecret references
  4. Set refresh interval — balance between freshness and API rate limits (5-15 minutes typical)
  5. Monitor with Prometheus — ESO exposes metrics for sync status, errors, and latency
🎓 Course with Starweaver

Back-End Infrastructure: Servers, Secure APIs and Data

Build secure back-end infrastructure from the ground up. In collaboration with Starweaver.

Start on Coursera →
External Secrets
Kubernetes
secrets management
Vault
AWS
Azure
regulated enterprises

Need help applying this in your organization?

Get a free 30-minute assessment with actionable recommendations — whether we work together or not.

Book Your Free AI Platform Assessment

Or see AI readiness assessment scope & pricing

18+ years experience · Ex-Red Hat & Dell · Speaker at KubeCon EU 2026

Luca Berton

Written by

Luca Berton

CEO at Open Empower. 18+ years building enterprise infrastructure at JPMorgan Chase, Red Hat & Dell. Author of 9 technical books. Speaker at Red Hat Summit and KubeCon EU 2026. Instructor on Coursera, Pluralsight & Udemy.

Get more insights like this

Practical AI infrastructure and platform engineering guides — delivered to your inbox.

Subscribe to Newsletter →