您的位置 首页 linux 运维

Kubernetes 面试 100 问(SRE 高级版)

Kubernetes 面试 100 问(SRE 高级版) :  连接

 

一、Kubernetes 架构(1–10)

  1. Kubernetes 控制平面包含哪些组件?
    👉 kube-apiserver / scheduler / controller / etcd
  2. kube-apiserver 为什么是核心?
    👉 所有操作入口 + 状态管理
  3. etcd 为什么是单点风险?
    👉 etcd 存储所有状态
  4. Controller 是如何工作的?
    👉 Reconcile loop(期望 vs 实际)
  5. Kubernetes 为什么是声明式系统?
    👉 YAML 描述状态
  6. 什么是 CRD?
    👉 扩展 API 能力
  7. Operator 和 Controller 区别?
    👉 Operator = 业务级 Controller
  8. Kubernetes 为什么适合微服务?
    👉 调度 + 自动恢复
  9. kubelet 的作用?
    👉 节点代理
  10. Kubernetes 如何实现高可用?
    👉 多 master + etcd 集群

二、调度与资源(11–20)

  1. Pod 调度流程?
    👉 Filter → Score → Bind
  2. NodeSelector vs Affinity?
    👉 精确 vs 规则
  3. Taint/Toleration 作用?
    👉 控制调度隔离
  4. Pod Pending 常见原因?
    👉 资源 / PVC / 调度策略
  5. 什么是资源 request/limit?
    👉 调度 vs 限制
  6. CPU Manager 作用?
    👉 CPU 绑定
  7. TopologySpread 是什么?
    👉 Pod 分布均衡
  8. HPA 原理?
    👉 metrics 自动扩容
  9. VPA 和 HPA 冲突吗?
    👉 会冲突(需设计)
  10. Cluster Autoscaler 怎么工作?
    👉 节点级扩容

三、网络(21–30)

  1. Kubernetes 网络模型核心原则?
    👉 Pod 互通无 NAT
  2. CNI 是什么?
    👉 网络插件接口(Container Network Interface)
  3. kube-proxy 作用?
    👉 Service 转发
  4. iptables vs IPVS?
    👉 性能差异
  5. Service 类型有哪些?
    👉 ClusterIP / NodePort / LB
  6. Pod 跨节点通信原理?
    👉 Overlay / 路由
  7. 为什么网络复杂?
    👉 三层网络叠加
  8. NetworkPolicy 作用?
    👉 网络隔离
  9. 常见 CNI 插件?
    👉 Calico / Cilium
  10. eBPF 在 K8S 中作用?
    👉 高性能网络(Cilium)

四、存储(31–40)

  1. PV/PVC 工作机制?
    👉 抽象存储
  2. StorageClass 作用?
    👉 动态供给
  3. CSI 是什么?
    👉 Container Storage Interface
  4. PVC Pending 原因?
    👉 存储不足 / SC错误
  5. VolumeSnapshot 用途?
    👉 数据备份
  6. 本地存储 vs 网络存储?
    👉 性能 vs 灵活
  7. 为什么数据库在 K8S 难?
    👉 IO + 状态管理
  8. 如何优化存储性能?
    👉 Local PV / SSD
  9. 挂载失败排查思路?
    👉 权限 / 网络 / driver
  10. 如何做数据备份?
    👉 Snapshot + 备份系统

五、可观测性(41–50)

  1. 什么是可观测性?
    👉 Metrics / Logs / Traces
  2. Prometheus 原理?
    👉 Pull 模型(Prometheus)
  3. Grafana 用途?
    👉 可视化(Grafana)
  4. 什么是 ServiceMonitor?
    👉 Prometheus CRD
  5. 日志系统架构?
    👉 Loki / EFK
  6. 链路追踪的意义?
    👉 调用链分析
  7. Jaeger 原理?
    👉 分布式追踪(Jaeger)
  8. OpenTelemetry 做什么?
    👉 标准化采集(OpenTelemetry)
  9. 如何设计监控体系?
    👉 分层监控
  10. 如何定位性能问题?
    👉 指标 + tracing

六、CI/CD & GitOps(51–60)

  1. CI/CD 流程?
    👉 build → test → deploy
  2. GitOps 核心思想?
    👉 Git = 真相源
  3. ArgoCD 工作原理?
    👉 Git 同步(Argo CD)
  4. Jenkins 在 K8S 中作用?
    👉 CI(Jenkins)
  5. 蓝绿发布 vs 滚动发布?
    👉 风险对比
  6. 灰度发布如何实现?
    👉 流量控制
  7. Helm 作用?
    👉 模板化(Helm)
  8. Kustomize 作用?
    👉 配置管理(Kustomize)
  9. 如何避免 YAML 地狱?
    👉 模板 + 平台
  10. 自动回滚如何实现?
    👉 Git + 版本控制

七、安全(61–70)

  1. RBAC 是什么?
    👉 权限控制
  2. Pod Security 模型?
    👉 restricted 等级
  3. Secret 如何保护?
    👉 加密 / 外部系统
  4. 镜像安全如何做?
    👉 扫描
  5. 常见工具?
    👉 Trivy
  6. Runtime 安全?
    👉 行为检测
  7. Falco 做什么?
    👉 实时检测(Falco)
  8. NetworkPolicy 安全作用?
    👉 隔离
  9. 如何防止容器逃逸?
    👉 最小权限
  10. K8S 安全最大风险?
    👉 配置错误

八、故障排查(71–85)

  1. Pod Pending 怎么排?
  2. CrashLoopBackOff 怎么查?
  3. DNS 故障怎么查?(CoreDNS)
  4. Service 不通怎么查?
  5. Node NotReady 怎么查?
  6. etcd 故障怎么处理?
  7. 网络不通排查顺序?
  8. Pod OOM 怎么分析?
  9. kube-proxy 异常怎么办?
  10. API Server 卡顿原因?
  11. 日志系统崩溃怎么处理?
  12. 监控缺失怎么办?
  13. 存储挂载失败怎么查?
  14. 节点磁盘满怎么处理?
  15. 集群整体慢怎么分析?

👉 核心方法:

kubectl get
kubectl describe
kubectl logs


九、SRE 能力(86–95)

  1. 什么是 SLO / SLA?
  2. 如何定义 SLO?
  3. 什么是 Error Budget?
  4. 如何做容量规划?
  5. 如何设计高可用?
  6. 如何减少 MTTR?
  7. 如何做故障复盘?
  8. 如何做自动化?
  9. 什么是混沌工程?
    👉 Chaos Mesh
  10. SRE 和运维最大区别?

十、架构设计(96–100)

  1. 如何设计生产级 K8S 平台?
  2. 如何做多集群架构?
  3. 如何控制成本?
  4. Kubernetes 什么时候不适合?
  5. 如何避免平台复杂度失控?

面试核心技巧(非常关键🔥)

你要做到三点:


1️⃣ 不背答案,要讲“思路”

比如:

先定位问题层级(Pod / Node / 网络 / 控制面)
再逐层排查


2️⃣ 一定要讲“真实案例”

例如:

我遇到过 etcd 空间满导致集群不可用...


3️⃣ 多用“架构语言”

例如:

从稳定性角度,我会设计...
从可观测角度,我会监控...


最后一条(决定你能不能拿 Offer)

面试官最想听的是:

你有没有做过真实系统?
你能不能解决复杂问题?
你有没有 SRE 思维?

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章