工作台
个人待办、集群健康摘要、最近发布与告警。
| 发布单 | 环境 | 提交人 |
|---|---|---|
| REL-20260514-008 | prod2 | 李四 |
| REL-20260514-007 | fat | 王五 |
| 集群 | 状态 | 节点 |
|---|---|---|
| ack-prod-main | 正常 | 15 Ready |
| ack-fat | 注意 | 2 NotReady |
| 单号 | 应用 | 镜像 Tag | 状态 | 时间 |
|---|---|---|---|---|
| REL-006 | dtmshop-prod | v1.2.3 | 成功 | 10:22 |
| REL-005 | qcqwappbasecms-fat | master_abc | 失败 | 昨天 |
集群列表
纳管多集群;注册、凭证轮换、环境标签。
| 名称 | 环境 | 版本 | 节点 | 状态 |
|---|---|---|---|---|
| 连接 API 加载中…(需 bash scripts/run-platform-m0.sh) | ||||
集群详情 · ack-prod-main
健康、节点池、组件版本、网络插件(Terway)摘要。
| ACK ID | c-xxxxx… |
| 节点 | 15 Ready / 0 NotReady |
| Pod 上限策略 | Terway ENIIP |
| 池 | 规格 | 节点数 |
|---|---|---|
| prod2-g7 | g7.4xlarge | 9 |
| addons-c7 | c7.2xlarge | 6 |
命名空间
按集群筛选;项目归组;配额与 LimitRange 摘要。
| 命名空间 | 项目 | 工作负载数 | Pod 数 | 配额 |
|---|---|---|---|---|
| dtmtask-prod | 任务中台 | 68 | 120 | CPU 72% |
| platform-prod | 平台 | 37 | 45 | — |
工作负载
Deployment / StatefulSet / DaemonSet / CronJob;与发布对象联动。
| 名称 | 就绪 | 镜像 | nodeSelector | 操作 |
|---|---|---|---|---|
| 选择集群后打开本页加载 be-prod Deployment | ||||
Deployment · (未选择)
请先在「工作负载」列表点击详情。
| 副本 | — |
| 镜像 | — |
| nodeSelector | — |
| Pod | 节点 | 就绪 | 状态 |
|---|---|---|---|
| — | |||
| 类型 | 原因 | 消息 | 时间 |
|---|---|---|---|
| — | |||
kind: Deployment
metadata: …
Pod · dtmshop-prod-xxxxx
状态、容器、资源、日志流、终端(权限受控)。
| 节点 | k8s-app-prod2-172.17.102.5 |
| QoS | Burstable |
| 重启次数 | 0 |
| 容器 | 镜像 | 就绪 |
|---|---|---|
| app | … | true |
… 实时流式日志 …
发布单
全流程状态;筛选集群、环境、应用。
新建发布单
可选「先 CI 构建再部署」或「仅改镜像」;与发布单同一生命周期便于聚合展示。
| 部署方式 |
|
| 代码仓库 | |
| 分支 / Tag | |
| Commit | |
| 流水线模板 | |
| 构建参数 | |
| 外部 CI | 可填:yunxiao / gitlab / local |
| 集群 | |
| 命名空间 | |
| 工作负载 | |
| 目标镜像 | |
| 变更说明 |
待检查 填写目标镜像后自动校验
发布单 REL-008 执行中
同一页聚合:CI 阶段与日志 → 审批 → CD(K8s Rollout) → Pod/事件;无需再跳外部看构建。
| Deployment | dtmshop-prod |
| 可用副本 | 1 / 2 滚动中 |
| 最新 RS | rs-new-xxxx |
| Pod | 阶段 | 就绪 |
|---|---|---|
| …-new-aaa | Running | 1/1 |
| …-old-bbb | Terminating | 0/1 |
CI 运行
诺曼底接收 GitLab CI 回调落库 · 飞书卡片深链到此页。
| Job | 状态 |
|---|---|
| 加载中… | |
| 镜像 | — |
| 分支 | — |
| 提交 | — |
流水线模板
定义 CI 阶段顺序、Dockerfile 路径、缓存、扫描开关;发布单创建时选用。
| 模板名 | 适用语言 | 阶段摘要 | 更新时间 |
|---|---|---|---|
| Java 服务默认构建 | Java / Maven | checkout → test → build → push → scan? | 2026-05-01 |
| 前端 Node 构建 | Node | checkout → npm ci → build → nginx 镜像 | 2026-04-20 |
… 与云效 / GitLab CI YAML 映射配置 …
审批中心
待办 / 已办;可对接飞书审批实例。
| 发布单 | 摘要 | 提交时间 | 操作 |
|---|---|---|---|
| REL-008 | dtmshop-prod → v1.2.4 | 10:28 |
监控看板
嵌入 ARMS / CMS / Grafana;集群与命名空间维度切换。
告警规则
规则引擎 + 飞书机器人 / 用户;静默与路由。
| 规则名 | 条件 | 通知 | 状态 |
|---|---|---|---|
| Deployment 可用副本不足 | available < desired 持续 5m | 飞书群 K8s-告警 | 启用 |
| 节点 NotReady | … | 飞书 @SRE | 启用 |
阿里云资源浏览器
只读;按标签过滤;跳转阿里云控制台。
| 实例 ID | 名称 | 标签 | 操作 |
|---|---|---|---|
| i-xxxxx | k8s-worker-01 | env=prod2 | 控制台 |
成员与角色
飞书用户 / 部门同步;平台角色与集群权限绑定(Impersonation)。
| 用户 | 部门 | 平台角色 |
|---|---|---|
| 张三 | 研发-后端 | 发布负责人 |
审计日志
谁在何时对哪集群执行了何种 API;发布单关联。
| 时间 | 用户 | 集群 | 操作 | 结果 |
|---|---|---|---|---|
| 2026-05-14 10:32:01 | 张三 | ack-prod-main | PATCH Deployment/dtmshop-prod | 200 |
系统设置
飞书应用、RAM/STS、集群凭证加密、告警 webhook。
| App ID | cli_xxxx |
| App Secret | ••••••••(KMS) |
| 重定向 URL | https://k8s-portal.example.com/oauth/callback |
配置 / Secret 管理 v2
统一管理 ConfigMap / Secret;值经 KMS 加密、默认掩码;可对接 External Secrets。
| DB_PASSWORD | •••••••• |
| REDIS_URL | redis://••••••@host:6379 |
显示明文操作会进入审计日志;建议在「审计日志」配「敏感事件」告警。
Web Shell(受控终端)v2
代理 kubectl exec / logs;按角色限制命令;自动录像 + 风控关键字。
⚠ 高危命令(rm -rf、reboot、curl pipe sh)会拦截并提示审批;会话结束生成回放文件。
应急止损面板 v2
SRE 一键能力:扩缩容、暂停 HPA / CronJob、Pod 摘流、节点 cordon/drain、紧急回滚。
| 能力 | 目标 | 说明 | 操作 |
|---|---|---|---|
| 扩副本 | Deployment | 临时拉高副本到 N,过窗口自动回收 | |
| 暂停 HPA / CronJob | HPA / CronJob | 避免自动扩容打爆 / 任务雪崩 | |
| Pod 摘流量 | Pod | 移除 Service label,不删 Pod 便于排查 | |
| 节点 cordon / drain | Node | 停止调度 / 驱逐 Pod | |
| 紧急回滚 | Deployment | 回到 N 版本前(默认上一稳定版) | |
| 切流到备用集群 | Ingress / DNS | 多集群灾备;切换权重 |
所有操作进入审计日志;操作完成自动飞书周知值班组。
GitOps 同步与漂移检测 v2
Git 为单一事实源;Argo CD / Flux 实施;控制台展示 Git 期望态 vs 集群实际态的 Diff。
| 应用 | 仓库 / 路径 | 同步 | 健康 | 漂移 | 最近同步 |
|---|---|---|---|---|---|
| dtmshop-prod | infra-repo/apps/dtmshop/prod | Synced | Healthy | — | 10:30 |
| platform-prod | infra-repo/apps/platform/prod | OutOfSync | Healthy | 3 项 | 1 小时前 |
| be-prod | infra-repo/apps/be/prod | Drift | Degraded | 副本数 / 镜像 tag | 昨天 |
灰度 / 金丝雀发布 v2
基于 Argo Rollouts / Flagger;按比例放量、观察 SLO、自动 abort / rollback。
| 批次 | 流量比例 | 观察窗口 | SLO 判定 | 状态 |
|---|---|---|---|---|
| 1 | 10% | 5m | 错误率 < 1% 且 P95 < 300ms | 通过 |
| 2 | 30% | 10m | 同上 | 观察中 |
| 3 | 100% | — | — | 待提升 |
错误率 0.4% · P95 220ms · 健康判定通过
下次自动提升:10:48
触线规则:错误率 > 2% 或 P95 > 500ms 持续 2m → Abort 并回滚
服务目录与脚手架 v2
「新建微服务」一键产出:Git 仓库 / CI 模板 / namespace / RBAC / 监控告警基线。
| 服务 | 团队 | 语言模板 | 命名空间 | SLO | 状态 |
|---|---|---|---|---|---|
| dtmshop | 任务中台 | Java / Maven | dtmtask-prod | 99.9% | 运行 |
| papi | 小程序 | Node | miniprogram-prod | 99.5% | 运行 |
变更冻结日历 v2
大促 / 夜间 / 值班缺位时间段禁止 prod 发布;紧急修复走加签流程。
红=全冻结;黄=部分时段冻结;冻结期 prod 发布按钮禁用,紧急修复需 P0 加签。
DORA 指标与 SLO 燃尽 v2
团队交付健康度 + 服务可用性预算;预算见底自动收紧发布门禁。
| 服务 | 目标 | 本周达成 | 错误预算(30d) | 预算燃尽 | 动作 |
|---|---|---|---|---|---|
| dtmshop | 可用 99.9% | 99.95% | 剩 72% | — | |
| be-api | P95 < 300ms | P95 410ms | 剩 12% | 触发发布收紧 |
智能诊断助手 v2
一键聚合 events / describe / 日志 / 资源 / 镜像 / PVC / 节点状态,出"人话解释 + 下一步建议"。
主因 Pod 处于 CrashLoopBackOff:容器进程启动 1.2s 内退出。
可能原因 启动时连接 redis 失败:日志含 dial tcp 10.x.x.x:6379: i/o timeout。
关联检查 同 namespace 内 redis-cluster Service Endpoints 为空。
建议 1)确认 redis StatefulSet 副本就绪;2)检查 NetworkPolicy 是否放通 6379;3)应用增加启动重试策略;4)暂时 。
Normal Pulled pod Container image …
Warning Unhealthy …
[INFO] graceful shutdown
资源优化建议(Right-Sizing)v2
基于历史指标聚合,给出 requests/limits 与 HPA 建议;标记僵尸 Deployment。
| 工作负载 | 当前 requests | 实际 P95 | 建议 | 预计节省 | 操作 |
|---|---|---|---|---|---|
| dtmtaskservice-prod | CPU 4 / Mem 8Gi | CPU 0.6 / Mem 1.8Gi | CPU 1 / Mem 2.5Gi | ¥xxx/月 | |
| papi-prod | — | — | 添加 requests/limits 基线 | — | |
| old-cron-x(30d 0 调用) | — | — | 标记下线 | — |
成本归集 / Showback v2
按命名空间 / 项目 / 团队 / 环境拆 CPU / 内存 / 存储 / 公网 / SLB / RDS。
| 团队 | 命名空间 | 本月 | 环比 | 主因 |
|---|---|---|---|---|
| 任务中台 | dtmtask-* 等 | ¥xxx | +5% | Cron 增量 |
| 平台 | platform-* | ¥xxx | 持平 | — |