一、概念

​1.1.支持三种类型​

docker-registry   存储镜像仓库认证信息
generic 通用存储,可以从文件或者目录导入,如用户名和密码
tls 存储证书,例如https证书

二、两种创建方式

​使用配置文件​

将用户名密码进行编码:

echo -n 'admin' | base64
echo -n '1f2d1e2e67df' | base64

my-secret.yaml文件

apiVersion: v1
kind: Secret
metadata:
name: db-user-pass
type: Opaque
data:
username: YWRtaW4=
password: 为密码经过base64编码的值

kubectl apply -f my-secret.yaml

​使用 kubectl 创建 Secret​

echo -n 'admin' > ./username.txt
echo -n '1f2d1e2e67df' > ./password.txt
kubectl create secret generic db-user-pass --from-file=username=./username.txt --from-file=password=./password.txt

K8S之secret_数据

三、Pod使用secret

展示了变量注入和数据卷挂载两种方式

apiVersion: v1
kind: Pod
metadata:
name: secret-demo-pod
spec:
containers:
- name: demo
image: nginx
imagePullPolicy: IfNotPresent
env:
- name: USER
valueFrom:
secretKeyRef:
name: db-user-pass
key: username
- name: PASSWD
valueFrom:
secretKeyRef:
name: db-user-pass
key: password
volumeMounts:
- name: config
mountPath: "/config"
readOnly: true
volumes:
- name: config
secret:
secretName: db-user-pass
items:
- key: username
path: my-username

进入到容器查看
K8S之secret_用户名_02