内部培训
04 第4周D22 运维与CICD实操

D22 运维与 CI/CD 实操

D22 运维与 CI/CD 实操

精讲(必修,生产级收尾)。把培训闭环:亲手打 tag 发一次版、会看监控日志备份、按公司规范记录运维。这是从"学员"到"能干活的人"的最后一课。

教学目标(学完能做什么)

  • 能说出并实操公司发版链路:git tag → GitHub Actions → 镜像 → k3s 部署(对照 D6 那张图,今天亲手跑)
  • 会用只读手段查看集群监控、日志、备份状态
  • 理解 OPS_JOURNAL 的意义,会写规范运维记录
  • 完成一次故障排查演练(定位→根因→处理→复盘)

前置要求

  • D6(tag 触发机制)、D8(kubectl 只读)、D7(镜像)

本模块在业务中的位置

  • 日常运维 = 公司生产稳定性的守卫。今天不追求"会所有运维",而是把链路跑通一遍 + 建立运维心智。参考 .agent/skills/cicd-deploy/SKILL.mddocs/dev-ops/guides/

内容分段

1. 发版全流程实操(对照 D6 那张图,今天亲手跑)

git tag <app>-vX.Y.Z
git push origin <app>-vX.Y.Z
  → GitHub Actions(runner: self-hosted, linux, x64, k3s-test)
  → 构建镜像 → push registry.akria.net/<app>:<tag>
  → k3s 拉新镜像 → 滚动更新
  • 实操口径:用讲师准备的测试应用(或你自己的 mini 项目 mock 流程),不碰生产应用。
  • 观察点:Actions 日志每步在干嘛;镜像 tag 是否正确;kubectl rollout status 是否完成。
  • 详细指南:.agent/skills/cicd-deploy/SKILL.md(发版前必读)。

2. 监控与日志

  • 集群:kubectl top nodes、headlamp(monitor.akria.net)。
  • 服务可用性:uptime-kuma(kuma.akria.net)。
  • 日志:kubectl logs / journalctl(D5/D8 已会)。
  • 运维习惯:先看监控与日志再动手;告警=信号不是结论。

3. 备份意识

  • 公司备份:Velero + Longhorn,定时计划见 CLAUDE.md(如 infra-daily 02:00 TTL 7d)。
  • 查询备份(只读):
kubectl get backup.velero.io   # 注意用 .velero.io,不是 backup
kubectl get schedules.velero.io
  • 理解:备份≠万无一失,要定期验证可恢复;恢复演练是更高级的活,本期了解即可。

4. OPS_JOURNAL:运维记录规范

  • 意义:有运维价值的操作要记录(CLAUDE.md 要求),复盘有据、新人可学。
  • 记录要点:时间 / 操作人 / 操作内容 / 命令 / 结果 / 影响 / 后续。
  • 写一条示例(讲师演示):发版记录、故障处理记录。

5. 故障排查演练(今天的重头戏)

  • 讲师制造一个"故障场景"(测试环境),学员按流程:
    1. 先看日志/监控,收集事实;
    2. 分段定位(客户端→服务→依赖);
    3. 找根因(4xx 查自己、5xx 查服务);
    4. 最小化修复(不动无关东西);
    5. 验证恢复;
    6. 写 OPS_JOURNAL 复盘
  • 常见演练故障:镜像 tag 拉不到、Pod CrashLoop(查日志)、依赖 DB 连不上、接口 500。

6. 新人运维红线(回顾 + 强调)

  • 只读四件套(get/describe/logs/top);不删 CrashLoopBackOff Pod;不 force-delete PVC;不碰生产写操作
  • 任何有运维价值的操作先想:要不要记 OPS_JOURNAL。
  • 拿不准就问;宁可慢,不可莽

讲解节奏建议(约 90 分钟)

时段内容
09:00-09:20发版链路再讲 + 操作演练(测试应用 tag→部署)
09:20-09:40监控/日志/备份只读实操
09:40-10:00OPS_JOURNAL 规范与示例
10:00-10:50故障排查演练(讲师设障,学员全流程)
10:50-11:20复盘 + 复盘记录
11:20-11:50红线回顾 + 小结
11:50-12:00布置作业

常见误区汇总

误区正确理解
发版=打个 tag 就完要看 Actions 全绿、镜像在、rollout 完成、服务健康
备份有就行要定期验证可恢复;备份是手段不是保险柜
故障先重启再说先看日志定位根因,盲目重启是掩盖
运维操作不用记有运维价值就记 OPS_JOURNAL,复盘与传承靠它
查备份用 kubectl get backupbackup.velero.io(AGENTS.md 明确)
新人也能在生产"试着改改"只读;写操作属 Class A,先批准

On this page