與實(shí)戰(zhàn)解析)
1. Kubernetes面試題分類匯總2026版作為容器編排領(lǐng)域的實(shí)際工業(yè)標(biāo)準(zhǔn)Kubernetes的面試考察點(diǎn)往往集中在集群架構(gòu)、核心組件工作原理以及生產(chǎn)環(huán)境問(wèn)題排查等實(shí)戰(zhàn)領(lǐng)域。本文系統(tǒng)梳理了最新企業(yè)面試中高頻出現(xiàn)的91個(gè)K8s技術(shù)要點(diǎn)涵蓋從基礎(chǔ)概念到高級(jí)特性的完整知識(shí)體系。1.1 核心組件解析1.1.1 Master節(jié)點(diǎn)核心服務(wù)API Server集群唯一入口提供RESTful接口并實(shí)現(xiàn)認(rèn)證授權(quán)Scheduler基于預(yù)選(Predicates)和優(yōu)選(Priorities)算法分配PodController Manager包含Node/Deployment/Job等控制器etcd分布式鍵值存儲(chǔ)保存整個(gè)集群狀態(tài)1.1.2 Node節(jié)點(diǎn)關(guān)鍵進(jìn)程kubelet節(jié)點(diǎn)代理管理Pod生命周期和容器健康狀態(tài)kube-proxy維護(hù)Service的iptables/ipvs規(guī)則容器運(yùn)行時(shí)Docker/containerd等CRI實(shí)現(xiàn)1.2 核心資源對(duì)象1.2.1 Pod基礎(chǔ)特性最小調(diào)度單元共享網(wǎng)絡(luò)命名空間重啟策略Always默認(rèn)OnFailureNever健康檢查探針livenessProbe: httpGet: path: /healthz port: 8080 initialDelaySeconds: 15 periodSeconds: 201.2.2 控制器類型對(duì)比控制器類型適用場(chǎng)景副本管理更新策略Deployment無(wú)狀態(tài)應(yīng)用確保副本數(shù)RollingUpdate/RecreateStatefulSet有狀態(tài)應(yīng)用順序編號(hào)分片更新DaemonSet節(jié)點(diǎn)級(jí)部署每節(jié)點(diǎn)1個(gè)滾動(dòng)更新1.3 網(wǎng)絡(luò)模型深度解析1.3.1 Service實(shí)現(xiàn)機(jī)制ClusterIP虛擬IPiptables規(guī)則NodePort節(jié)點(diǎn)端口映射LoadBalancer云廠商LB集成Headless Service無(wú)ClusterIP直接返回Pod IP1.3.2 CNI插件選型FlannelVXLAN模式配置簡(jiǎn)單CalicoBGP路由高性能網(wǎng)絡(luò)策略CiliumeBPF實(shí)現(xiàn)可觀測(cè)性強(qiáng)1.4 存儲(chǔ)方案實(shí)踐1.4.1 持久卷生命周期Provisioning靜態(tài)/動(dòng)態(tài)供給BindingPVC與PV綁定UsingPod掛載使用Reclaiming保留/回收/刪除1.4.2 CSI驅(qū)動(dòng)示例apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: csi-rbd-sc provisioner: rbd.csi.ceph.com parameters: clusterID: ceph-cluster pool: kube_pool reclaimPolicy: Delete1.5 生產(chǎn)環(huán)境技巧1.5.1 集群維護(hù)操作# 節(jié)點(diǎn)優(yōu)雅維護(hù) kubectl drain node01 --ignore-daemonsets # 版本回滾 kubectl rollout undo deployment/nginx --to-revision21.5.2 問(wèn)題排查命令# 查看事件日志 kubectl get events --sort-by.metadata.creationTimestamp # 進(jìn)入故障Pod診斷 kubectl debug -it pod-name --imagebusybox1.6 高級(jí)特性解析1.6.1 HPA自動(dòng)擴(kuò)縮容apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: php-apache spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: php-apache minReplicas: 1 maxReplicas: 10 metrics: - type: Resource resource: name: cpu target: type: Utilization averageUtilization: 501.6.2 網(wǎng)絡(luò)策略示例apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: db-access spec: podSelector: matchLabels: role: db ingress: - from: - podSelector: matchLabels: role: api ports: - protocol: TCP port: 54321.7 面試高頻問(wèn)題實(shí)錄Pod創(chuàng)建流程API Server接收請(qǐng)求Scheduler綁定NodeKubelet創(chuàng)建容器CRI拉取鏡像Service流量轉(zhuǎn)發(fā)iptables模式隨機(jī)DNATipvs模式支持多種調(diào)度算法配置分離方案ConfigMap非敏感配置Secret敏感數(shù)據(jù)base64編碼ExternalSecret集成云廠商密鑰管理零停機(jī)更新策略藍(lán)綠部署全量切換金絲雀發(fā)布漸進(jìn)式流量切換A/B測(cè)試基于Header路由2. 實(shí)戰(zhàn)經(jīng)驗(yàn)分享在管理生產(chǎn)級(jí)K8s集群時(shí)有幾個(gè)關(guān)鍵點(diǎn)需要特別注意資源配額管理使用LimitRange避免資源耗盡通過(guò)ResourceQuota隔離租戶節(jié)點(diǎn)選擇策略affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: gpu-type operator: In values: [a100]日志收集方案Fluentd DaemonSet收集節(jié)點(diǎn)日志Sidecar模式采集應(yīng)用日志Elasticsearch集群存儲(chǔ)監(jiān)控告警體系Prometheus Operator管理監(jiān)控關(guān)鍵指標(biāo)Pod重啟次數(shù)Node CPU/Mem壓力PVC剩余空間對(duì)于剛接觸Kubernetes的工程師建議從Minikube實(shí)驗(yàn)環(huán)境開(kāi)始逐步理解各個(gè)核心組件之間的協(xié)作關(guān)系。在掌握基礎(chǔ)概念后可通過(guò)kubeadm部署生產(chǎn)級(jí)集群過(guò)程中需要特別注意證書(shū)管理和網(wǎng)絡(luò)插件選型。