Kubernetes yaml for secret

The simplest form of secret in Kubernetes is opaque secret. It creates a key-value pair for information such as passwords, tokens, and keys.

A yaml file for applying an opaque secret for a key password and value “aG9uZXkxMjM=” is below. The string “aG9uZXkxMjM=” is base64 encoding for “honey123”. The password “honey123” is stored in encoded format instead of plain text.

$ cat mysecret.yaml
apiVersion: v1
kind: Secret
metadata:
  name: samplesecret
type: Opaque
data:
  password: aG9uZXkxMjM=

Apply the file below using kubectl.

$ kubectl apply -f mysecret.yaml
secret/samplesecret created

You can get the listing of the secret using kubectl get.

$ kubectl get secret
NAME           TYPE     DATA   AGE
samplesecret   Opaque   1      10s

You can read the secret’s complete details using kubectl describe as shown below.

$ kubectl describe secret samplesecret
Name:         samplesecret
Namespace:    default
Labels:       <none>
Annotations:  <none>

Type:  Opaque

Data
====
password:  8 bytes