echo -n 'admin' > ./username.txt echo -n 'mypwd1122&&88' > ./password.txt kubectl create secret generic mysecret --from-file=./username.txt --from-file=./password.txt kubectl get secrets kubectl describe secrets/mysecret kubectl get secret mysecret -o yaml echo 'bXlwd2QxMTIyJiY4OA==' | base64 --decode echo 'YWRtaW4=' | base64 --decode ~~~~ kubectl create secret generic mysecretlitral --from-literal=username=mylitraluser --from-literal=password='!@345^' kubectl get secret mysecretlitral -o yaml echo 'IUAzNDVe' | base64 --decode echo 'bXlsaXRyYWx1c2Vy' | base64 --decode ~~~~~ Createing manually echo -n 'admin' | base64 echo -n 'mypwd1122&&88' | base64 mysecretmanual.yaml apiVersion: v1 kind: Secret metadata: name: mysecret type: Opaque data: username: YWRtaW4= password: bXlwd2QxMTIyJiY4OA== kubectl create -f mysecretmanual.yaml kubectl get secret mysecret -o yaml ~~~~~ Using it in Pod usesecretinpod.yaml apiVersion: v1 kind: Pod metadata: name: mypod spec: containers: - name: mypod image: redis volumeMounts: - name: foo mountPath: "/etc/secret" readOnly: true volumes: - name: foo secret: secretName: mysecret kubectl apply -f usesecretinpod.yaml ~~~~~~~~~~~~` kubectl exec -it mypod /bin/bash ls /etc/secret/ cat ~~~~~ secretasenv.yaml apiVersion: v1 kind: Pod metadata: name: secret-env-pod spec: containers: - name: mycontainer image: redis env: - name: SECRET_USERNAME valueFrom: secretKeyRef: name: mysecret key: username - name: SECRET_PASSWORD valueFrom: secretKeyRef: name: mysecret key: password restartPolicy: Never kubectl apply -f secretasenv.yaml ~~~~~~` kubectl exec -it secret-env-pod -- /bin/bash inside container echo $SECRET_USERNAME echo $SECRET_PASSWORD kubectl delete secret mysecret kubectl delete secret mysecretlitral