K8s resource: Secret
30 May 2025 (Updated 30 May 2025)
What is the Secret resource?
Secret in Kubernetes is a configuration resource that stores sensitive data like passwords or API keys as base64 encoded strings.
Example Secret YAML
apiVersion: v1
kind: Secret
metadata:
name: my-secret
type: Opaque
data:
DB_USERNAME: bXl1c2Vy
DB_PASSWORD: c2VjdXJlcGFzc3dvcmQ=
Note that the values of the keys under data
must be base64-encoded (e.g., "myuser"
→ bXl1c2Vy
and "securepassword"
→ c2VjdXJlcGFzc3dvcmQ=
).
How to use the secret in a Pod
env:
- name: DB_USERNAME
valueFrom:
secretKeyRef:
name: my-secret
key: DB_USERNAME
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: my-secret
key: DB_PASSWORD
Tagged:
Kubernetes