参考视频: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

进入到容器查看
在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐