运维 · 角色指南¶
假设你已读过
docs/00_overview/与docs/01_onboarding/。
你的工具箱¶
| 工具 | 用途 |
|---|---|
| kubectl + argocd-cli | k8s + GitOps |
| czerp-gitops 仓库 | k8s 部署清单 / Kustomize overlays / ArgoCD apps(Helm 仅第三方中间件) |
| Jenkins | CI 流水线 |
| Prometheus + Grafana | 应用指标 |
| Sentinel Dashboard | 限流 / 熔断 |
| Spring Boot Admin (ifinmate-admin) | 服务健康 |
| 日志中心 | ELK / Kibana |
| 本仓库 czerp-ops | k8s / GitOps / 监控 cookbook |
本角色推荐方法:GitOps(ArgoCD 声明式,Jenkins 直推 gitops main、无 PR 门;人工动 overlay/清单时约定 review)+「建议 → 人审 → 执行」的 AI-SRE 纪律(诊断只读可 AI 自主,变更动作人执行)+ 事故后 runbook / 复盘沉淀到 PingCode。
高价值工作流(触发 → AI 做什么 → 人怎么验)¶
| # | 触发 | AI 做什么 | 人怎么验 |
|---|---|---|---|
| 告警三角化 | 告警进来 | 关联近期部署 + 活跃事故,路由 + 定严重度 | 确认路由/定级;规则调整改 gitops 清单(约定 review 后进 main,无强制 PR) |
| 事故 根因分析 | 服务不健康 | 链路(SkyWalking)/指标(Prometheus)/日志关联,给候选根因 | 核证据链;只读 AI 自主,变更人确认 |
| Runbook/复盘 | 处置后 | 结构化 runbook + postmortem 草稿入 CZKB | 补业务影响面,去敏感后入库 |
| GitOps 变更 | 发版 / 中间件 | 解读 Jenkins 直推 main 的镜像 tag diff/同步状态 + 标回滚信号;人工动 overlay 时生成清单改动 | 审 Jenkins 直推 main 的 diff / 人工动 overlay 时的 review;回滚/中间件人执行(🔴) |
| 可观测查询 | 排障巡检 | 自然语言转 PromQL / 日志查询 | 核数据口径(mysql 仅元数据等项目特例) |
新增 skill:db-operations-and-rollback、incident-response-runbook。
一天典型流程¶
早上:
- 看监控 dashboard(昨晚 nightly 跑通了吗?告警有未处理的吗?)
- 看 ArgoCD(有未同步的应用吗?)
平时:
- 审 Jenkins 直推 main 的镜像 tag diff / 人工动 overlay 时的 review
- 中间件变更 / 巡检
- 处理钉钉 oncall 告警
发版日:
- 协助开发上 release:image 推私服 → Jenkins 直推 gitops main(无 PR) → ArgoCD AutoSync
- 监控滚动状态 → 出现回滚需求立即回滚
事故:
- k8s-troubleshooting cookbook
- 回滚后写复盘 → PingCode 知识库
必读 skills¶
environment-info— 环境矩阵k8s-troubleshooting— 故障 cookbookgitops-deploy— ArgoCD 发版cicd-pipeline— Jenkins 流水线monitoring-and-alerts— Prometheus + 告警
铁律¶
- 生产改动必双人:一人执行 + 一人复核 + 钉钉群广播。(当前最高环境为 uat / 准生产,无独立 prod)
- 不要在 uat 直接
kubectl apply/kubectl edit— 一切走 czerp-gitops(声明式)。注意当前发版是 Jenkins 直推 gitops main + ArgoCD AutoSync,无 GitOps PR 人审门;改 gitops 仓库/Jenkinsfile 本身才需 review。 - uat 临时调试要先暂停 AutoSync:三套环境(dev/test/uat)ArgoCD 全开 AutoSync + selfHeal,不暂停手改会被拉回。
- 回滚优于打补丁:任何 uat 异常先回滚到上一稳定版。回滚后必须把 czerp-gitops 的镜像 tag 同步改回旧版,否则 selfHeal 会按 git 当前值把新版拉回(见 03_release.md)。
- 中间件改动先 dev → test → uat,每步至少 24h 观察。
与各角色协作¶
- 给开发:环境信息(端口 / 账号 / namespace ID)走环境清单,不要 chat 里贴。
- 给 PM:上线后通过钉钉通知"X 故事已上线"。
- 给 QA:上线前/后通知,QA 决定是否触发回归。
- 给 Tech Lead:重大事故 / 变更必同步。
常见错误¶
- ❌ 凭"上次都这么做"在 uat 手动
kubectl edit(会被 selfHeal 拉回) - ❌ image tag 用
latest - ❌ 回滚只在集群里改而忘了同步改回 czerp-gitops 的镜像 tag(被 selfHeal 拉回新版)
- ❌ 告警淹没未及时清理 oncall
- ❌ 中间件升级当天还跑业务变更
进一步¶
- 部署 SOP:
docs/03_workflows/03_release.md - 自学:
docs/04_training/02_self-study-path.md - czerp-gitops 仓库自身 README +
docs/