| 创建 | kubectl create secret generic db-pass --from-literal=password=…(或 stringData 写明文) |
|---|---|
| 类型 | Opaque(默认)/ kubernetes.io/dockerconfigjson / kubernetes.io/tls |
| 使用 | env/envFrom 或卷挂载;tls 型 Secret 直接被 Ingress 引用 |
| 安全 | RBAC 限制 get/list;开启 etcd 加密;审计读取行为 |
| 注意 | Secret 是命名空间级对象,跨命名空间要各建一份 |
Secret 示例(stringData 更友好)
Secret 示例(stringData 更友好)
apiVersion: v1
kind: Secret
metadata:
name: db-pass
type: Opaque
stringData:
password: "S3cr3t-Example"
---
# 使用:环境变量
env:
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: db-pass
key: password
能读 Secret 就能读业务密码:默认 ServiceAccount 不该有 list secrets 权限,按最小权限收紧。