- 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
3.4 KiB
3.4 KiB
04-01-k3s Node.js 高级部署
Node.js 属于
04高级部署序列。 本文作为 Node.js 主入口:先跑通基础链路,再扩展到自定义端口、存储与构建。
前置条件
- 已完成
01-02-k3s-工作节点.md - 已完成
03-01-k3s-traefik-dashboard.md(可选,便于观察路由) - 已完成
03-04-k3s-cloudflare-tunnel-配置接入.md(如需外网入口)
基础部署步骤
- 创建 Node.js Deployment(默认监听
3000) - 创建 Service(
80 -> 3000) - 创建 Ingress 或 IngressRoute(路径建议
/node)
清单路径(唯一真源)
完整 YAML 不在本文重复粘贴,请以仓库内文件为准(与 Ansible 共用):
| 项 | 路径 / 命令 |
|---|---|
| 清单文件 | ansible/files/04-01-nodejs-demo/04-01-nodejs-demo.yaml |
| 手工应用 | kubectl apply -f ansible/files/04-01-nodejs-demo/04-01-nodejs-demo.yaml |
| Ansible | ansible-playbook -i ansible/inventory.ini ansible/playbooks/nodejs-demo-apply.yml -e nodejs_demo_manifest=04-01-nodejs-demo.yaml |
索引与累积说明见 ansible/files/04-01-nodejs-demo/README.md。
相对上游
本文为 基线,无上游清单;以下为资源摘要(便于检索,以 YAML 文件为准)。
| 资源 | 要点 |
|---|---|
Deployment nodejs-demo |
node:18-alpine,监听 3000,replicas: 1 |
| Service | 80 → targetPort: 3000 |
| Ingress | entrypoints: web,路径 /node,无 host |
应用方式:
kubectl apply -f ansible/files/04-01-nodejs-demo/04-01-nodejs-demo.yaml
基础验证
kubectl get pod,svc,ing -n default -o wide
curl -s --max-time 3 http://192.168.2.61/node/
curl -s --max-time 3 http://192.168.2.62/node/
预期:返回应用内容(如 Hello World from Node.js)。
失败排查
统一看:06-01-k3s-networkpolicy-故障排查.md
部署阶段扩展(分项导航)
在本文 nodejs-demo 基线上按主题增量实践(建议顺序大致由上到下)。每篇分项均链接到 ansible/files/04-01-nodejs-demo/ 下累积清单,并附 相对上一篇的变更表;与 ansible/playbooks/nodejs-demo-apply.yml 共用。
04-02-nodejs-镜像与运行命令.md:镜像 tag、imagePullPolicy、command/args04-03-nodejs-环境变量与配置注入.md:ConfigMap/Secret、env/envFrom04-04-nodejs-端口与Service.md:containerPort与 Service/Ingress 端口对应04-05-nodejs-资源请求与限制.md:resources、OOM/CPU 节流04-06-nodejs-探针与健康检查.md:存活/就绪/启动探针04-07-nodejs-调度与亲和.md:nodeSelector、亲和、容忍04-08-nodejs-安全上下文.md:securityContext、非 root、只读根等04-09-nodejs-存储与卷.md:emptyDir、PVC、配置卷挂载04-10-nodejs-Ingress与Traefik.md:路径、主机名、web/websecure04-11-nodejs-副本与滚动发布.md:replicas、滚动策略04-12-nodejs-TLS与证书.md:Ingresstls、HTTPS(与03-02ACME 配合)04-13-nodejs-HPA.md:水平自动扩缩容04-14-nodejs-GitOps与CI流水线.md:构建镜像、GitOps/CI 闭环
下一步
- 返回
00-00-构建总览.md,按导航继续。