Skip to content

云原生 / K8s 专题(后端·平台·Infra 方向面试) ​

面向后端/平台/Infra 岗位的 K8s 与云原生高频考点。目标:能讲清**"是什么 + 为什么这么设计 + 怎么用/怎么排障"**,而不是背名词。

若岗位偏 C++ 后端 + 平台/云原生,本专题常与 ../concurrency/、../ai-infra/ 一起被追问。

子文档 ​

文件内容
k8s-arch.mdK8s 架构、控制平面/节点组件、核心对象与声明式模型
k8s-workload.mdPod / Deployment / StatefulSet / DaemonSet / Job 等工作负载
k8s-network.mdService / Ingress / CNI / DNS / 服务发现与负载均衡
k8s-schedule-storage.md调度、资源管理 QoS、存储 PV/PVC、配置 ConfigMap/Secret
k8s-ops.md扩缩容、探针、滚动发布、监控日志、常见故障排查、安全
cloud-native-eco.md云原生全景:容器运行时、Service Mesh、可观测性、GitOps、CI/CD

高频 Top 问答(必背) ​

1. K8s 是什么?解决什么问题?

答案

容器编排系统:把一堆物理/虚拟机组成资源池,自动化地部署、扩缩容、调度、自愈、滚动更新容器化应用。解决"多机多容器怎么统一管"的问题。见 k8s-arch.md。

2. K8s 的核心架构与组件?

答案

控制平面:kube-apiserver(唯一入口)、etcd(唯一数据源)、kube-scheduler(调度)、kube-controller-manager(各种控制器)。节点:kubelet、kube-proxy、容器运行时(containerd)。一切经 apiserver,控制器通过声明式 + 调谐循环把实际状态逼近期望状态。见 k8s-arch.md。

3. Pod 与容器什么关系?为什么要有 Pod?

答案

Pod 是最小调度单位,可含 1..N 个共享网络命名空间和存储卷的容器(如主容器 + sidecar)。放一起的容器共享 IP/端口与卷,便于协作。见 k8s-workload.md。

4. Service 有哪些类型?ClusterIP 是怎么实现的?

答案

ClusterIP / NodePort / LoadBalancer / ExternalName。ClusterIP 是虚拟 IP,由 kube-proxy 用 iptables/IPVS 规则把访问 VIP 的流量 DNAT 到后端 Pod。见 k8s-network.md。

5. Deployment、StatefulSet、DaemonSet 区别?

答案

Deployment 管无状态多副本、支持滚动更新/回滚;StatefulSet 管有状态、稳定网络标识与存储、有序启停;DaemonSet 每节点一个(日志/监控 agent)。见 k8s-workload.md。

6. 调度是怎么做的?

答案

kube-scheduler 两阶段:过滤(nodeSelector、亲和性、taint/toleration、资源够不够)选出可用节点 → 打分(balanced/least-requested 等)选最优。见 k8s-schedule-storage.md。

7. requests 和 limits、QoS?

答案

requests 决定调度(保证量),limits 是上限;超出内存 limit 会被 OOMKill。按二者是否相等分 Guaranteed / Burstable / BestEffort 三档 QoS,影响驱逐优先级。见 k8s-schedule-storage.md。

8. liveness / readiness / startup 探针?

答案

liveness 失败重启容器;readiness 失败从 Service 摘除(不接流量);startup 用于慢启动应用,成功前不执行前两者。见 k8s-ops.md。

9. Pod 一直 Pending / CrashLoopBackOff 怎么查?

答案

Pending 多为调度失败(资源不足、亲和性、污点、PVC 未绑);CrashLoop 看 kubectl logs --previous、describe pod 事件、退出码。见 k8s-ops.md。

10. 滚动更新怎么做?怎么回滚?

答案

Deployment 用 maxSurge/maxUnavailable 控制滚动节奏,借助 ReplicaSet 逐批替换;kubectl rollout undo 回滚到上一版本。见 k8s-ops.md。

使用建议 ​

  • 基础岗:吃透 架构 / Pod / Service / Deployment / 探针 / 排障(Top10)。
  • 平台/Infra 岗:再补 CNI、调度深度、存储、Helm/Operator、Service Mesh、可观测性。
  • 每个结论都要能接一句"为什么"——K8s 面试非常爱追问设计动机。

糌粑的面经笔记 · VitePress 版