Link Search Menu Expand Document

secrets

Create a Secret from Literal Values

kubectl create secret generic my-secret --from-literal=username=myuser --from-literal=password=mypassword

This command creates a Secret named my-secret with the specified username and password.

Create a Secret from a File

kubectl create secret generic my-secret --from-file=ssh-privatekey=/path/to/private/key

This command creates a Secret named my-secret from a file containing a private SSH key.

Create a Secret from a YAML Definition

secret-data.yaml

apiVersion: v1
kind: Secret
metadata:
  name: my-secret
type: Opaque
data:
  username: bXl1c2Vy
  password: bXlwYXNzd29yZA==

This YAML file defines a Secret named my-secret with the specified username and password.

kubectl create -f secret-data.yaml
echo -n "myuser" | base64 # Output: bXl1c2Vy
echo -n "mypassword" | base64 # Output: bXlwYXNzd29yZA==

Secret in Pod Definition

apiVersion: v1
kind: Pod
metadata:
  name: myapp-pod
spec:
  containers:
  - name: myapp-container
    image: myapp-image
    envFrom:
    - secretRef:
        name: my-secret

This Pod definition uses the Secret my-secret to populate environment variables in the container.

Env

envFrom:
- secretRef:
    name: my-secret

Single Env

env:
- name: USERNAME
  valueFrom:
    secretKeyRef:
      name: my-secret
      key: username

Volume

volumes:
- name: secret-volume
  secret:
    secretName: my-secret