主题
补充:高级 K8s 面试 TOP 50 高频题
本章整理高级 K8s 运维工程师面试最高频的 50 道题目,按主题分类,每题附考察点和答题要点。适合面试前自测和面试官出题参考。
一、架构与原理(10 题)
| # | 问题 | 考察点 | 答题要点 |
|---|---|---|---|
| 1 | K8s 控制平面各组件的职责和交互流程 | 架构理解 | apiserver(入口) + etcd(状态) + scheduler(调度) + controller-manager(调谐),kubelet + kube-proxy 在节点 |
| 2 | 声明式 API 的工作原理,Level-triggered vs Edge-triggered | 核心概念 | 声明期望状态 → 控制器持续调谐;Level-triggered 只看状态差异,天然自愈 |
| 3 | Informer 机制的工作原理 | 内部机制 | List-Watch + DeltaFIFO + Indexer,资源版本断点续 Watch |
| 4 | etcd Raft 共识算法原理 | 分布式系统 | Leader 选举、日志复制、多数派写入、奇数节点设计 |
| 5 | Controller Reconciliation Loop 原理 | 控制模式 | Watch → Diff → Act 循环,幂等设计 |
| 6 | kubelet PLEG 工作原理 | 节点组件 | Pod Lifecycle Event Generator,定期同步 Pod 状态 |
| 7 | CRI/CNI/CSI 接口设计理念 | 插件机制 | gRPC 接口解耦,标准化容器运行时/网络/存储 |
| 8 | K8s 如何实现零停机部署 | 端到端理解 | maxUnavailable:0 + preStop + Readiness + PDB |
| 9 | Secret 的存储和加密机制 | 安全机制 | base64 编码(非加密),需启用 EncryptionConfiguration at rest |
| 10 | API 聚合层是什么 | 扩展性 | 注册自定义 API Server(如 metrics-server),扩展 K8s API |
二、网络(10 题)
| # | 问题 | 考察点 | 答题要点 |
|---|---|---|---|
| 11 | ClusterIP 如何工作(iptables/IPVS) | Service 实现 | iptables O(n) 规则链 vs IPVS O(1) 哈希表,大规模选 IPVS |
| 12 | Pod 跨节点通信的完整网络路径 | 网络模型 | Pod→veth→bridge→tunnel(VXLAN)/route(BGP)→目标节点→Pod |
| 13 | Ingress Controller 工作原理 | 入口流量 | Watch Ingress 规则 → 配置反向代理(nginx/envoy) |
| 14 | NetworkPolicy 实现原理和常见陷阱 | 网络安全 | default-deny + 白名单;需 CNI 支持;DNS 端口需显式放行 |
| 15 | CoreDNS 优化方法 | DNS | NodeLocal DNSCache + 缓存调优 + forward 并发 |
| 16 | 如何实现外部流量入口 | 流量架构 | NodePort/LoadBalancer/Ingress/Gateway API 选型 |
| 17 | Calico BGP vs VXLAN 区别 | CNI | BGP 直连无封装(同网络),VXLAN 隧道(跨网络) |
| 18 | eBPF 和 Cilium | 前沿技术 | eBPF 替代 iptables,性能 10x+,Hubble L3-L7 可观测 |
| 19 | Gateway API vs Ingress | 新特性 | 支持 TCP/gRPC、角色分离、标准化扩展 |
| 20 | 如何排查 Pod 间网络延迟 | 网络排障 | tcpdump + hubble + conntrack + MTU 检查 |
三、存储(5 题)
| # | 问题 | 考察点 | 答题要点 |
|---|---|---|---|
| 21 | PV/PVC 绑定流程,静态 vs 动态 | 存储基础 | StorageClass Provisioner 自动创建 PV(动态),手动创建 PV(静态) |
| 22 | CSI 插件架构和工作流程 | CSI | Controller Plugin + Node Plugin,gRPC 接口 |
| 23 | K8s 上运行数据库方案 | 有状态应用 | StatefulSet + Local PV + Operator(如 Vitess/Zalando PG) |
| 24 | Volume 快照和克隆 | 数据管理 | VolumeSnapshot → 新 PVC;克隆是快照的便捷恢复 |
| 25 | Local Volume vs Network Volume | 存储选型 | Local(高性能、绑节点)vs Network(可迁移、冗余) |
四、调度与资源(5 题)
| # | 问题 | 考察点 | 答题要点 |
|---|---|---|---|
| 26 | 调度器流程和扩展点 | 调度原理 | PreFilter → Filter → Score → Reserve → Permit → Bind |
| 27 | 如何保证关键应用不被驱逐 | 资源保障 | Guaranteed QoS + PDB + PriorityClass |
| 28 | HPA 和 VPA 能否同时使用 | 自动伸缩 | 不能对同一指标同时使用;HPA 用 CPU、VPA 用 Memory 可以 |
| 29 | QoS 等级计算与驱逐影响 | 资源管理 | Guaranteed > Burstable > BestEffort,驱逐从低到高 |
| 30 | GPU 调度方案 | 异构计算 | device plugin + HAMi vGPU + 拓扑感知调度 |
五、安全(5 题)
| # | 问题 | 考察点 | 答题要点 |
|---|---|---|---|
| 31 | RBAC 最小权限设计 | 权限管理 | Role + Binding,不授予 secrets/exec/nodes |
| 32 | K8s 集群安全加固清单 | 安全全局观 | CIS Benchmark:禁用匿名、审计日志、加密 Secret、PSA |
| 33 | ServiceAccount Token 演进 | 认证机制 | 静态 Secret → TokenRequest API → Bound Token(1.22+) |
| 34 | Admission Controller 类型 | 准入控制 | Mutating(修改)→ Validating(校验),可自定义 Webhook |
| 35 | 容器逃逸攻击应对 | 容器安全 | PSA Restricted + 最小 capabilities + Seccomp/AppArmor |
六、运维与排障(10 题)
| # | 问题 | 考察点 | 答题要点 |
|---|---|---|---|
| 36 | 排查 CrashLoopBackOff | 排障能力 | logs --previous + describe + 检查探针/配置/OOM |
| 37 | 集群升级完整流程 | 升级运维 | 备份 etcd → 控制平面逐版本 → kubelet 逐节点 → 验证 |
| 38 | 集群备份和恢复 | 灾备 | etcd snapshot + Velero 全集群备份 |
| 39 | 监控告警体系设计 | 可观测性 | 四大黄金指标 + Prometheus + AlertManager + Grafana |
| 40 | 自动化运维方案 | 运维自动化 | IaC(Terraform) + GitOps(ArgoCD) + Runbook + 自愈 |
| 41 | GitOps 优势和实践 | GitOps | Git 唯一真相来源,ArgoCD Sync Wave/SelfHeal |
| 42 | Helm Chart 最佳实践 | 包管理 | helpers.tpl + values 分环境 + tests |
| 43 | 多环境 K8s 部署管理 | 多环境 | Helm values-per-env / Kustomize overlays / ArgoCD AppSet |
| 44 | 大规模集群运维挑战 | 规模经验 | etcd 独立集群 + eBPF + NodeLocalDNS + 分片策略 |
| 45 | K8s 成本优化 | 成本意识 | VPA 推荐 + Spot 节点 + Karpenter + Kubecost |
七、架构设计(5 题)
| # | 问题 | 考察点 | 答题框架 |
|---|---|---|---|
| 46 | 设计多租户 K8s 平台 | 系统设计 | Namespace 隔离 + RBAC + ResourceQuota + NetworkPolicy + OPA |
| 47 | 设计跨地域高可用架构 | HA 设计 | 多 AZ + etcd 独立 + 全局 LB + 数据同步策略 |
| 48 | K8s 上运行 ML 工作负载 | 场景设计 | GPU 调度 + HAMi vGPU + JupyterHub + 训练 Operator |
| 49 | Service Mesh 是否引入 | 技术决策 | 微服务数量 + 团队能力 + mTLS 需求 + 性能影响评估 |
| 50 | 单体到 K8s 微服务迁移 | 迁移策略 | 绞杀者模式 + 逐步拆分 + 双写过渡 + 可观测性先行 |
面试准备建议
1. 简历上每个项目准备 3 分钟讲述版本(STAR 格式)
2. 准备 2-3 个故障排查故事
3. 准备 1 个系统设计案例(架构图 + Trade-off)
4. 了解目标公司技术栈
5. 准备 3 个要问面试官的问题
6. 展示推理过程比背诵答案更重要自测清单
核心架构:
[ ] 能描述控制平面完整架构和组件交互
[ ] 理解声明式 API、Reconciliation Loop、Level-triggered
[ ] 了解 Informer 机制和 etcd Raft
网络:
[ ] 理解 iptables/IPVS 模式区别
[ ] 了解 Calico/Cilium CNI 原理
[ ] 能排查 DNS 和网络问题
安全:
[ ] 掌握 RBAC 最小权限设计
[ ] 了解 PSA 和 NetworkPolicy
运维:
[ ] 能独立排查 Pending/CrashLoop/NotReady
[ ] 掌握集群升级和 etcd 备份流程
[ ] 能设计完整的监控告警体系