advanced

Secret

Provide sensitive configuration to workloads while understanding encoding, encryption-at-rest, RBAC, and rotation limits.

A Kubernetes Secret stores sensitive values for workloads, but the default object is access-controlled and base64-encoded — not encrypted by itself. Real security needs RBAC, encryption at rest, external secret stores, and rotation.

					kubectl create secret generic db-url \
  --from-literal=DATABASE_URL='postgres://…'
				

Prefer External Secrets Operator, cloud secret managers, or sealed secrets over committing raw manifests to Git.

On interviews: secrets in images/logs/Git, service account permissions, encryption at rest, Vault integration, and rotation limits.

Common pitfalls: treating base64 as encryption; broad RBAC; logging mounted secret values.

The trade-off is Kubernetes-native convenience versus centralized secret governance.

Checklist:

  • Enable encryption at rest.
  • Limit secret RBAC narrowly.
  • Rotate and externalize when risk grows.
  • Never commit plaintext secrets to Git.