1. Secret object
A Secret stores sensitive key/value data such as passwords and tokens.
kind: SecretTyporithm · easy
Step 1 of 8 · intro card
Config & Scaling
A Secret holds sensitive key/value data; stringData accepts plain text that is base64-encoded, and secretKeyRef injects a key as an env var. Secrets are base64, not encrypted at rest by default.
A Secret separates sensitive values from manifests and images, the way a ConfigMap does for non-secret config.
data fields are base64-encoded; stringData lets you supply plain text that Kubernetes encodes for you on creation.
Pods consume Secrets via env.valueFrom.secretKeyRef for one key, or by mounting a secret volume for whole files.
stringData is plain text; data is base64.
secretKeyRef injects one key as an env var.
Mount a secret volume for files.
apiVersion: v1
kind: Secret
metadata:
name: db-secret
type: Opaque
stringData:
DB_PASSWORD: "s3cr3t"
---
apiVersion: v1
kind: Pod
metadata:
name: api
spec:
containers:
- name: api
image: myapi:1.0
env:
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: db-secret
key: DB_PASSWORDConnect each part of the code to the concept before you type.
A Secret stores sensitive key/value data such as passwords and tokens.
kind: SecretstringData lets you write plain text; Kubernetes base64-encodes it into the data field on creation.
stringData:
DB_PASSWORD: "s3cr3t"env.valueFrom.secretKeyRef pulls a single key from the Secret into an environment variable.
secretKeyRef:
name: db-secret
key: DB_PASSWORDRead the concept map and follow the code breakdown.
Type the implementation, repair mistakes and work through every recall exercise.
Use the final check without hints; revisit weak concepts in short practice sessions.