Kubernetes2026-04-15·7 分钟
Kubernetes ConfigMap 与 Secret
介绍 ConfigMap 和 Secret 的使用场景、管理方式以及在 Pod 中的挂载与注入。
Kubernetes ConfigMap 与 Secret
1. ConfigMap 用途
ConfigMap 用于存储非敏感配置数据,例如环境变量、配置文件片段。
yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: app-config
data:
APP_MODE: production
API_HOST: api.example.com2. Secret 用途
Secret 用于存储密码、证书、令牌等敏感信息。
yaml
apiVersion: v1
kind: Secret
metadata:
name: app-secret
type: Opaque
data:
DB_PASSWORD: cGFzc3dvcmQ= # base64 编码3. 在 Pod 中注入 ConfigMap
yaml
env:
- name: APP_MODE
valueFrom:
configMapKeyRef:
name: app-config
key: APP_MODE4. 在 Pod 中注入 Secret
yaml
env:
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: app-secret
key: DB_PASSWORD5. 挂载为卷
yaml
volumes:
- name: config-volume
configMap:
name: app-config
volumeMounts:
- name: config-volume
mountPath: /etc/app/config6. 安全建议
- Secret 数据默认以 base64 编码,不是加密。
- 在集群中使用加密机制(如 KMS、Vault)保护 Secret 存储。
- 避免将 Secret 直接写入镜像或日志。
KubernetesConfigMapSecret