一、概念
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
三、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"
readOnlytrue
volumes
name config
secret
secretName db-user-pass
items
key username
path my-username
进入到容器查看