Kubernetes 导出脚本会把 Secret 对象写入本地文件
原文依据:1 处导出命令明确包含 `secret`,并把完整 YAML 重定向到输出文件。Kubernetes Secret 的值通常只是 Base64 编码,并非加密。
任何能读取该目录、备份、构建产物或日志附件的人,都可能取得数据库密码、令牌或证书材料。
该部署指南的活动导出脚本把 `secret` 与其他 Kubernetes 资源一起序列化到本地 `all-resources.yaml`。执行时,Secret 数据虽通常为 Base64,但并未因此加密;输出目录若被提交、备份或被其他用户读取,凭据可能泄露。用户可要求默认排除 Secret 内容,仅导出名称/引用,并限制输出目录权限与保留时间。
set -euo pipefailNAMESPACE="${K8S_NAMESPACE:-<namespace>}"OUTPUT_DIR="${OUTPUT_DIR:-k8s-export}"mkdir -p "$OUTPUT_DIR"kubectl get deploy,svc,ingress,configmap,secret -n "$NAMESPACE" -o yaml > "$OUTPUT_DIR/all-resources.yaml"for deploy in $(kubectl get deploy -n "$NAMESPACE" -o jsonpath='{.items[*].metadata.name}'); do kubectl get deployment "$deploy" -n "$NAMESPACE" -o yaml > "$OUTPUT_DIR/deploy-${deploy}.yaml"done