Files
Deploy-Laboratory/docs/04-03-nodejs-环境变量与配置注入.md
jack 8c43761962 feat: 按 doc_id 重组 ansible/files 与验证框架
- ansible/files 改为与文档 XX-YY 对齐的目录结构,更新相关 playbook 路径
- 新增 scripts/verify.sh 与 ansible/playbooks/verify/*.yml,移除单体 verify-matrix.yml
- 补充 docs/00-02 矩阵状态、00-05 验证框架与流程、00-04 环境与 ylc65 工作机说明
- 增加 k3s 存储准备、Longhorn、local-path 等 playbook 与辅助脚本

Made-with: Cursor
2026-03-26 07:01:14 +08:00

3.0 KiB
Raw Blame History

04-03-nodejs-环境变量与配置注入

04-01-k3s-nodejs-高级部署.md 基线上,用 ConfigMap / Secretenv / envFrom 注入配置,避免把敏感信息写进镜像或 Deployment 明文。

前置条件

  • 已部署 nodejs-demo04-01)。

清单路径(唯一真源)

路径 / 命令
本篇完整清单(累积至 04-03含 ConfigMap + Deployment + Service + Ingress ansible/files/04-01-nodejs-demo/04-03-nodejs-demo.yaml
Secret 示例(勿提交真密钥) ansible/files/04-01-nodejs-demo/nodejs-demo-secret.example.yaml
手工应用 kubectl apply -f ansible/files/04-01-nodejs-demo/04-03-nodejs-demo.yaml
Ansible ansible-playbook ... -e nodejs_demo_manifest=04-03-nodejs-demo.yaml

场景说明(白话)

  • 普通配置(提示文案、开关、非密钥连接串):用 ConfigMap;改完 kubectl applyPod 滚动后生效(是否自动重启取决于你怎么挂载/引用)。
  • 密钥类:用 Secret;内容和 ConfigMap 类似,但要更严格管控权限与存储位置。
  • 在 Node 里怎么用:和在本机设环境变量一样,例如 NODE_ENVPORTNODE_OPTIONS;启动命令怎么写见 04-02-nodejs-镜像与运行命令.md

相对 04-02 的变更(原文 → 新文)

位置 原文(04-02 新文(04-03
新增资源 (无) ConfigMap nodejs-demo-configAPP_MSG
containers[].env (无) APP_MSG 来自 configMapKeyRef
containers[].command ["node"] + args 单行脚本 node + 多行 -e 脚本,读 process.env.APP_MSG,仍监听 3000

应用:

kubectl apply -f ansible/files/04-01-nodejs-demo/04-03-nodejs-demo.yaml

验证

kubectl get cm nodejs-demo-config -n default -o yaml
kubectl exec deploy/nodejs-demo -n default -- printenv APP_MSG
curl -s --max-time 3 http://<节点IP>/node/

Secret 示例(仅示意)

说明:示例文件为 nodejs-demo-secret.example.yaml;也可 kubectl create secret generic ...。在 Pod 中用 env.valueFrom.secretKeyRef 引用;验证 printenv API_TOKEN(注意日志勿打印密钥)。

删除

kubectl delete configmap nodejs-demo-config -n default --ignore-not-found
kubectl delete secret nodejs-demo-secret -n default --ignore-not-found

失败排查

  • CreateContainerConfigError:引用的 ConfigMap/Secret 不存在或 key 名错误。
  • 06-01-k3s-networkpolicy-故障排查.md

相关文档