第 7 章 · 日常运维:工作负载、日志、监控与告警
场景说明
周五 17:30,告警说 demo 命名空间里某个 Pod CrashLoopBackOff。老板在等演示。
你需要在 15 分钟内走完:告警 / 监控定位 → 工作负载看事件 → 日志看栈 → 终端验证 → 不行再找 AI(第 8 章)。本章把 运维 菜单练成肌肉记忆。
学完你能
| 能力 | 说明 |
|---|---|
| 用监控看集群健康 | 节点、Pod Top、趋势图 |
| 用日志管理跟栈 | Follow、下载 |
| 用告警中心发现异常 | NotReady、CrashLoop、频繁重启 |
| 用节点终端现场查 | SSH 到 Master / Worker 执行 kubectl |
| 走通推荐排障路径 | 监控 → 负载 → 日志 → 终端 |
7.1 运维菜单一览
| 菜单 | 作用 |
|---|---|
| 工作负载 | Deployment / Pod / CronJob 浏览与 YAML |
| 日志管理 | 按 Pod 查日志、Follow、下载 |
| Pod 调试 | 异常 Pod 集中入口 |
| 节点终端 | SSH 终端登录节点(v1.3.43) |
| 集群监控 | 节点与 Pod 指标、事件流、趋势 |
| 告警中心 | 规则检测与告警列表 |
7.2 跟练:模拟排障 CrashLoop
准备:故意部署一个退出命令的错误镜像,或改 env 使应用启动失败(在 demo 环境操作)。
| 步骤 | 菜单 | 操作 |
|---|---|---|
| 1 | 告警中心 | 查看是否出现 CrashLoop / 频繁重启类告警 |
| 2 | 集群监控 | 看异常 Pod 数、事件流最近条目 |
| 3 | 工作负载 | 筛选 Namespace demo → 点异常 Pod → 看事件 |
| 4 | 日志管理 | 选 Pod → 容器 → 查看日志;开 Follow |
| 5 | Pod 调试 或 系统容器 / 应用 → 终端 | 若容器能短暂存活,进 shell 查配置 |
| 6 | 修复 | 改镜像 / env → 重启 → 回到步骤 1 确认恢复 |
你应该看到什么
- 告警列表有红色或警告项,修复后消失或变绿
- 日志中有明确错误(如
connection refused、panic、config not found) - 工作负载事件里有
Back-off restarting failed container - 修复后 Pod Running,重启次数不再疯涨
7.3 工作负载 vs 应用部署
- 工作负载:按 K8s 资源类型筛,适合「不知道应用列表里叫什么」时反查
- 应用部署:按业务应用行操作,适合发版、改端口
两者可互跳:工作负载里打开 YAML,应用部署里点重启。
7.4 日志管理
入口:运维 → 日志管理
- Namespace → Pod → 容器
- 查看日志,可 Follow 实时跟踪
- 下载 保存到本机
对比:系统容器 详情 → 日志 Tab 支持多 Pod、Previous 容器,能力更全;全局日志页适合 跨应用快速检索。
7.5 节点终端(v1.3.43)
入口:运维 → 节点终端
- 内置 xterm,SSH 连接集群节点
- Master 上可执行
kubectl;Worker 上查 kubelet / 容器运行时 - 本机仍需能 SSH 到节点(与小紫云计算部署时用的网络一致)
典型用途
- 现场跑巡检脚本
- 查看
/var/log系统日志 - 节点本地
crictl/ 容器运行时排障
你应该看到什么:终端 prompt 为节点 shell;kubectl get pod -A 在 Master 上有输出(权限允许时)。