K8s by Example: External Secrets
| External Secrets Operator syncs secrets from AWS Secrets Manager, HashiCorp Vault, GCP Secret Manager, Azure Key Vault, etc. Secrets stay in your vault, synced to Kubernetes automatically. |
| external-secret.yaml | |
| ExternalSecret defines which secrets to sync. | |
| secret-store.yaml | |
| ClusterSecretStore defines the connection to your secrets provider. Typically one per cluster or environment. SecretStore is namespace-scoped alternative. Uses IRSA/Workload Identity for auth. | |
| external-secret-aws.yaml | |
| AWS Secrets Manager provider. Store secrets as JSON, extract specific properties. Works with IRSA for secure authentication without access keys. | |
| external-secret-vault.yaml | |
| HashiCorp Vault provider. Supports KV v1, KV v2, and other secret engines. Use Kubernetes auth for secure Pod authentication. | |
| external-secret-datafrom.yaml | |
| Sync all keys from a secret with | |
| external-secret-template.yaml | |
| Target options control the created Secret. Set labels, annotations, type, and creation policy. Use templates for complex transformations. | |
| secret-store-cloud.yaml | |
| GCP Secret Manager and Azure Key Vault providers. Use Workload Identity (GCP) or Azure AD Pod Identity for secure authentication. | |
| terminal | |
| Check sync status and troubleshoot issues. ExternalSecret creates a regular Kubernetes Secret that Pods use normally. Force sync by annotating. Common issues: SecretStore auth failure (check IAM/RBAC), secret not found (check remote key path), property not found (check JSON structure). | |