主题
K8s运维工程师 - 面试帮助文档
基于 JD:混合云环境下 Kubernetes 集群运维、算力平台保障、可观测体系建设、运维自动化与 AI Agent 工具应用。
一、岗位核心能力画像
| 维度 | 重点 |
|---|---|
| 基础能力 | Linux 排障、Kubernetes 对象与运维场景、公有云/私有云基础产品 |
| 进阶能力 | 混合云多集群运维、算力/Agent 任务调度保障、SRE 稳定性建设 |
| 工具能力 | Prometheus/Grafana/Alertmanager/Loki/ELK、Shell/Python/Go |
| AI 能力 | 熟练使用 Claude Code/Codex 等 AI Agent 辅助运维开发与排障 |
二、高频面试问题与回答思路
2.1 Linux 系统与排障
Q1:线上 CPU 飙高,如何排查?
top/htop定位高 CPU 进程与线程pidstat -t -p <pid>看线程级 CPU 占用perf top/perf record抓热点函数- 结合应用日志、火焰图分析耗时路径
- 检查是否因 GC、死循环、定时任务或流量突增导致
Q2:内存 OOM 排查思路?
dmesg | grep -i "killed process"查看 OOM 日志free -m、vmstat、sar -r分析内存趋势pmap、/proc/<pid>/status看进程内存分布- 检查缓存使用、内存泄漏、大对象、未限制资源
Q3:磁盘 IO 高如何处理?
iostat -x 1、iotop定位高 IO 进程df -h、du -sh排查磁盘空间与目录占用- 检查日志暴涨、临时文件、大文件删除未释放(
lsof +L1) - 评估是否需要拆分存储、限速或扩容
Q4:网络不通怎么排查?
- 分层排查:物理层 → 链路层 → 网络层 → 传输层 → 应用层
ip addr、ip route、ss -s、netstat -antpping、traceroute、telnet/nc测试连通性与端口- 检查安全组/ACL、iptables/nftables、DNS、MTU、Conntrack
2.2 Kubernetes 核心与排障
Q5:K8s 核心对象及使用场景?
| 对象 | 用途 |
|---|---|
| Pod | 最小调度单元 |
| Deployment | 无状态应用滚动更新/扩缩容 |
| StatefulSet | 有状态应用(数据库、消息队列) |
| DaemonSet | 每个节点运行一个 Pod(日志、监控 Agent) |
| Service | 集群内服务发现与负载均衡 |
| Ingress | 七层流量入口 |
| ConfigMap/Secret | 配置与敏感信息管理 |
| PV/PVC/StorageClass | 持久化存储 |
| Namespace | 资源隔离 |
| RBAC | 权限控制 |
Q6:Pod Pending 的常见原因?
- 资源不足:CPU/内存/磁盘/GPU 不够
- 节点亲和性/反亲和性、污点容忍不匹配
- PVC 未绑定或 StorageClass 问题
- 镜像拉取失败
- 调度策略限制(PodTopologySpread、ResourceQuota)
Q7:CrashLoopBackOff 如何排查?
kubectl describe pod看 Eventskubectl logs --previous看上次退出日志- 检查启动命令、环境变量、依赖服务、资源限制
- 进入容器调试:
kubectl debug或临时修改 command
Q8:OOMKilled 调优思路?
- 确认是真实内存不足还是 Limit 设置过低
- 优化应用内存使用、调整 JVM/Node/Python 堆内存参数
- 合理设置 Request/Limit,避免 Limit 过小触发 OOM
- 使用 VPA 动态建议资源配额
Q9:节点 NotReady 怎么处理?
kubectl describe node看 Conditions- 检查 kubelet 状态:
systemctl status kubelet - 检查节点资源:磁盘压力、内存压力、PID 压力
- 查看节点日志:
journalctl -u kubelet -f - 检查网络插件(CNI)、Docker/containerd 运行时
Q10:Service 不通怎么排查?
- 确认 Pod 是否 Ready,Endpoints 是否存在
kubectl get endpoints <svc>- 检查 kube-proxy 规则:
iptables -t nat -L或 ipvsadm - 测试 DNS:
nslookup <svc>.<ns>.svc.cluster.local - 检查 NetworkPolicy、安全组、CNI 插件状态
Q11:CoreDNS 异常排查?
- 查看 CoreDNS Pod 状态与日志
- 检查 ConfigMap:
coredns的 upstream DNS - 检查是否有循环转发(loop plugin)
- 关注 DNS 缓存、QPS、解析延迟,必要时扩容 CoreDNS
Q12:Ingress 访问异常?
- 检查 Ingress 规则、Service、Endpoints
- 查看 Ingress Controller 日志
- 检查证书是否过期
- 排查后端健康检查失败、超时配置、Rewrite 规则
2.3 云产品与混合云
Q13:混合云 K8s 运维的挑战?
- 网络互通:VPC 对等连接、专线、VPN
- 统一认证与权限管理
- 镜像与配置跨云同步
- 流量调度与容灾切换
- 成本分摊与资源治理
- 多云监控告警统一
Q14:熟悉哪些云产品?
- 计算:云主机/裸金属/弹性伸缩
- 网络:VPC、子网、安全组、负载均衡、NAT 网关
- 存储:云盘、对象存储、文件存储
- 安全:IAM、KMS、WAF
2.4 可观测性体系
Q15:如何建设监控告警体系?
- Metrics:Prometheus + Grafana,核心指标包括节点资源、Pod 资源、K8s 组件、应用黄金指标(延迟/流量/错误/饱和度)
- Logging:Loki 或 ELK,按 Namespace、Pod、应用聚合
- Tracing:Jaeger/Tempo/SkyWalking,定位链路性能瓶颈
- Alerting:Alertmanager,分级告警、抑制、静默、路由
- On-call:PagerDuty/飞书/钉钉/企业微信集成
Q16:Prometheus 高可用方案?
- Prometheus HA:双副本 + Thanos 远端存储
- 使用 Thanos Sidecar/Receive/Query 实现全局查询与长期存储
- Remote Write 到 VictoriaMetrics/Cortex
- Alertmanager 集群模式避免单点
Q17:如何减少告警噪音?
- 告警分级(P0/P1/P2/P3)
- 设置合理的阈值与持续时间
- 告警抑制与依赖分组
- 定期复盘,清理无效告警
- 引入 SLO/SLI,基于错误预算告警
2.5 运维自动化与 SRE
Q18:你做过哪些运维自动化工具?
- 自动巡检脚本:集群/节点/Pod/证书/镜像漏洞扫描
- 批量变更工具:ConfigMap/Secret 分发、镜像更新、节点打补丁
- 资源回收:僵尸 Pod、未使用 PVC/LB/IP 清理
- 弹性伸缩:HPA/VPA/Cluster Autoscaler/自定义调度器
- 成本统计:按 Namespace/业务线分摊资源成本
- 故障自愈:节点异常自动驱逐、Pod 自动重启、服务降级
Q19:Runbook 应包含哪些内容?
- 故障现象与影响范围
- 快速止血步骤(降级/回滚/扩容/切流)
- 根因排查命令与检查清单
- 修复操作与验证方法
- 复盘与改进项
Q20:变更管理如何保障稳定性?
- 变更评审、灰度发布、蓝绿/金丝雀
- 可回滚、可观测、可审计
- 变更窗口、双人复核、自动化变更平台
2.6 AI Agent 工具应用
Q21:如何用 Claude Code/Codex 提升运维效率?
- 辅助编写 Shell/Python/Go 运维脚本
- 自动生成 K8s YAML、Terraform、Ansible Playbook
- 分析日志/监控数据,定位异常模式
- 生成故障复盘报告与 Runbook
- 代码 Review 与配置审计
Q22:AI 辅助运维的安全与可控性如何保障?
- 明确权限边界,AI 操作最小权限原则
- 关键变更需人工审批,禁止自动执行高危操作
- 所有 AI 生成内容与操作记录审计日志
- 对 AI 输出进行校验与测试,避免幻觉导致事故
- 敏感数据脱敏,避免上传至外部 AI 服务
三、算力平台与 Agent 任务保障(加分重点)
该岗位强调算力平台和大量 Agent 任务的稳定运行,面试中可能重点考察:
| 方向 | 准备要点 |
|---|---|
| 任务调度 | 了解 K8s Scheduler、自定义调度器、队列调度、批量调度(Volcano/Yunikorn) |
| 资源池管理 | CPU/内存型资源池划分、节点亲和性、资源配额、LimitRange、ResourceQuota |
| 容器异常 | Pod 频繁重启、任务卡住、资源竞争、Sidecar 干扰主容器 |
| 网络异常 | 大量短连接、DNS 解析压力、东西向流量、带宽打满 |
| 存储异常 | 共享存储挂载、临时存储清理、日志量过大 |
| 成本优化 | 资源利用率分析、Spot/抢占式实例、弹性伸缩、任务调度错峰 |
准备建议:结合实际项目,准备 1-2 个关于"保障 Agent 任务高并发稳定运行"的案例。
四、面试准备清单
4.1 技术复习
- [ ] Linux 性能分析工具:top/htop、iotop、pidstat、vmstat、iostat、perf
- [ ] K8s 对象、调度、网络、存储、安全
- [ ] K8s 排障命令与常见错误码
- [ ] Prometheus/Grafana/Alertmanager/Loki/ELK 基础架构
- [ ] 至少一门脚本语言:Shell/Python/Go
- [ ] 公有云/私有云基础产品
- [ ] SRE 稳定性建设:SLO、on-call、故障复盘、混沌工程
4.2 项目复盘
- [ ] 准备 1 个 K8s 集群建设/运维项目
- [ ] 准备 1 个故障排查/稳定性保障案例(STAR 法则)
- [ ] 准备 1 个自动化/平台化建设案例
- [ ] 准备 AI Agent 工具使用经验与安全意识
4.3 行为面试
- 你如何平衡稳定性与迭代效率?
- 遇到线上重大故障,你的处理流程是什么?
- 你如何推动团队使用自动化/AI 工具?
- 描述一次跨团队协作解决复杂问题的经历。
五、推荐学习资源
| 类型 | 资源 |
|---|---|
| K8s 官方 | Kubernetes 官方文档、kubectl cheatsheet |
| Linux 性能 | Brendan Gregg《Systems Performance》 |
| SRE | Google SRE Book、《Kubernetes 最佳实践》 |
| 可观测性 | Prometheus 官方文档、Grafana Labs 教程 |
| AI 运维 | Claude Code/Codex 官方文档、提示工程最佳实践 |
六、简历亮点建议
- 量化成果:例如"保障 X 节点、Y Pod 的 K8s 集群稳定性,P0 故障下降 Z%"
- 突出混合云/多集群经验
- 强调算力平台/Agent 任务/调度平台经验
- 展示自动化工具与 AI 辅助运维实践
- 提及可观测体系建设与成本优化成果
祝你面试顺利!