Secret

A Secret in Kubernetes stores confidential data (in key-value pairs).

They allow you to:

  • Keep sensitive info out of Pod specs and Docker images.

  • Inject secrets into Pods securely (as env vars or mounted files).

Types of Secrets

  • Opaque (default) → generic key-value secrets

  • docker-registry → for private container registry credentials

  • tls → for SSL certificates

  • service-account-token → automatically created for service accounts

Commands

Create Secret from literal values:

Create Secret from a file:

Example

How to use in Deployment example 1 (Individual env variables):

How to use in Deployment example 2 (Injected as a volume):

This will mount files inside /etc/secret/db_user and /etc/secret/db_pass.

Last updated