K8S之secret
一、概念1.1.支持三种类型docker-registry存储镜像仓库认证信息generic通用存储,可以从文件或者目录导入,如用户名和密码tls存储证书,例如https证书二、使用 kubectl 创建 Secretecho -n 'admin' > ./username.txtecho -n '1f2d1e2e67df' > ./password.txtkubectl create
·
参考视频:https://ke.qq.com/user/index/index.html#/plan/cid=1709963&term_id=102815140
一、概念
1.1.支持三种类型
docker-registry 存储镜像仓库认证信息
generic 通用存储,可以从文件或者目录导入,如用户名和密码
tls 存储证书,例如https证书
二、两种创建方式
1.使用配置文件
将用户名密码进行编码:
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
2.使用 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"
readOnly: true
volumes:
- name: config
secret:
secretName: db-user-pass
items:
- key: username
path: my-username
进入到容器查看
更多推荐
已为社区贡献44条内容
所有评论(0)