application.yml中使用

  redis:
    host: redis-sec
    password: ${REDIS_PASSWORD:null}
    port: 6379

deployment.yml中使用

- name: REDIS_PASSWORD
  valueFrom:
    secretKeyRef:
      name: redis-sec
      key: redis-password

创建

  • 快速创建
kubectl create secret generic redis-sec -n default --from-literal=password=123 

有多个data时使用--from-literal=user=root --from-literal=password=123
查看secrets时password被隐藏掉了

kubectl describe secret redis-sec

在这里插入图片描述
没有使用静态加密的话是可能解密的。

  • 使用文件创建,如redis-sec.yaml
apiVersion: v1
data:
   password: MTIzCg==
kind: Secret
metadata:
   name: redis-sec

secrets里存的是base64格式,所以需要使用base64把明文转换一下

echo 123 |base64

输出

MTIzCg==

可以使用decode解码

echo MTIzCg== |base64 --decode

在这里插入图片描述

注意

生产上建议使用静态加密Enable Encryption at Rest,这样就看不到了

参考:
官方说明:https://kubernetes.io/docs/concepts/configuration/secret/

Logo

开源、云原生的融合云平台

更多推荐