Kubernetes 1.31+ Job 的 podFailurePolicy 如何按容器退出码决定重试还是终止?
围绕“Kubernetes 1.31+ Job 的 podFailurePolicy 如何按容器退出码决定重试还是终止”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明规则匹配 Ignore/FailJob/Count 动作的语义及与 backoffLimit 的关系。
程序员面试题库第 51 页,收录第 2501–2550 题,共 5000 道完整解析,覆盖前端、JavaScript、React、Vue、Node.js、AI Agent、网络、数据库与系统设计。
按稳定语义路径排序
围绕“Kubernetes 1.31+ Job 的 podFailurePolicy 如何按容器退出码决定重试还是终止”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明规则匹配 Ignore/FailJob/Count 动作的语义及与 backoffLimit 的关系。
围绕“Job 的 suspend 与 activeDeadlineSeconds 分别在什么运维场景下使用”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖区分手动暂停与运行超时的触发者和效果。
围绕“如何自动清理已完成的 Job 及其 Pod,ttlSecondsAfterFinished 的语义是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 TTL 控制器级联删除行为及与手动清理的取舍。
围绕“节点内存或磁盘压力时 kubelet 如何驱逐 Pod,驱逐信号与硬软阈值是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 eviction-hard/soft 阈值、排序依据及与 API 驱逐的区别。
围绕“Pod 亲和与反亲和如何通过 topologyKey 实现同机部署或跨可用区打散”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖用拓扑域标签解释调度约束的计算方式及性能代价。
本题讲解 Pod Ready 条件的计算逻辑,包括容器就绪与 readinessGates 的合成关系,以及 Ready 状态如何影响 Service 端点与滚动更新。通过具体场景说明自定义就绪门控的用法,并指出常见误判和运维边界。
围绕“PodDisruptionBudget 如何限制主动驱逐,minAvailable 与 maxUnavailable”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要讲清清 PDB 只约束自愿驱逐及两种阈值的互斥语义。
围绕“Kubernetes Pod 的生命周期有哪些阶段,Pending 和 Failed 各自在什么情况下出现”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 Pod 各 phase 的判定条件与容器退出码的区别。
围绕“Kubernetes 如何根据 requests/limits 把 Pod 分为 Guaranteed、Bursta”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明三档 QoS 的判定规则及其在节点资源紧张时的驱逐优先级。
围绕“Pod 删除时 terminationGracePeriodSeconds 与 PreStop 钩子的执行顺序是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕梳理 SIGTERM、preStop、宽限期、SIGKILL 的时序及端点摘除的并行性。
围绕“Pod Priority 与抢占机制如何工作,高优先级 Pod 如何挤走低优先级 Pod”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 PriorityClass、Pending 触发抢占与受害者选择逻辑。
围绕“HTTP、TCP、exec、gRPC 四种探针探测方式各适合什么场景”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖按协议与侵入性比较选型及 gRPC 探针的版本要求。
围绕“探针的 initialDelaySeconds、periodSeconds、failureThreshold、tim”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖给出从异常发生到标记失败的最坏时间推导及各参数常见误配。
围绕“liveness、readiness、startup 三种探针各自的失败后果是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要对比重启容器、摘端点、延迟另两种探针生效三种行为。
围绕“CPU 和内存的 requests/limits 分别如何影响调度决策与运行时行为”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖区分调度只看 requests、OOM 与 CPU throttle 的不同后果。
介绍kubelet容器重启退避的具体档位、上限和重置条件,纠正关于固定间隔的常见误解,并给出可配置上限的边界。
围绕“nodeSelector 与 nodeAffinity 的能力差异是什么,required 和 preferred ”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要对比表达力与软硬约束的调度行为。
围绕“Kubernetes 调度器的 Filter(PreFilter/Filter)与 Score 阶段各自做什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖梳理从队列到绑定的主流程及插件扩展点。
本文解释 1.29+ 原生 Sidecar 的实现机制:作为 restartPolicy: Always 的 init 容器,讨论其启动顺序、生命周期、readiness 探针与普通容器的区别,以及探针失败时的行为和 Job 兼容性。
围绕“启动慢的应用为什么应该配 startupProbe 而不是单纯调大 livenessProbe 的延迟参数”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖论证 startup 探针把启动时长与稳态检测解耦的优势。
围绕“删除 StatefulSet 或其 Pod 后,PVC 会怎样,如何实现缩容后保留存储”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明默认 PVC 不随 Pod 删除及 persistentVolumeClaimRetentionPolicy 的控制。
围绕“StatefulSet 滚动更新卡在某个 Pod 失败时如何处置,为什么不能直接回滚”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明卡住阻塞后续序号的机制与修复 Pod 后自动继续的行为。
围绕“StatefulSet 的稳定网络标识和存储标识分别通过什么机制保证”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 Pod 序号命名、Headless Service DNS 与 volumeClaimTemplates 的绑定关系。
围绕“StatefulSet 的 podManagementPolicy 取 OrderedReady 和 Paralle”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要对比串行与并行启动的取舍及无主从依赖集群的选择依据。
围绕“StatefulSet 扩容和缩容时 Pod 创建删除的顺序规则是什么,为什么这样设计”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明按序号升序创建、降序删除及前一实例 Ready 才继续的语义。
围绕“StatefulSet 的 RollingUpdate 与 OnDelete 更新策略及 partition 分区滚”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明三种机制差异及用 partition 实现分批灰度的方式。
围绕“设计一个 Kafka 或数据库类应用时,如何论证应选 StatefulSet 而不是 Deployment”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖从身份、存储、启动顺序三个维度给出选型判断。
说明静态 Pod 由 kubelet 直接管理、绕过 API Server 的机制,以及镜像 Pod 概念;解释控制平面组件为何以静态 Pod 运行,包括自举与高可用部署的考量。
围绕“Taint 与 Toleration 的三种 effect 分别如何影响调度与运行中的 Pod”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖区分 NoSchedule、PreferNoSchedule、NoExecute 的驱逐语义。
围绕“topologySpreadConstraints 与 podAntiAffinity 在做副本打散时有什么本质区别”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明基于倾斜度 skew 的均衡计算与逐对反亲和的扩展性差异。
围绕“如何用 awk 从访问日志统计请求量最高的 IP 或状态码分布”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出 awk 提取字段+sort+uniq -c+sort -rn 的经典管线及各段职责。
围绕“如何限制某个 systemd 服务的 CPU 和内存上限,防止它拖垮整机”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出 unit 文件中 CPUQuota/MemoryMax 配置与 systemctl show 验证。
围绕“为什么 chmod -R 777 或 chown -R 到错误目录是高危操作,如何安全执行批量权限变更”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明递归破坏 setuid/目录执行位的后果及用 find -type 分文件目录分别赋权的做法。
围绕“Connection refused 时如何确认服务是否真的在监听该端口”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须用 ss -ltn 核对监听地址与端口是否匹配客户端目标。
围绕“crontab 任务没按预期执行,按什么顺序排查”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖完整回答要覆盖 cron 服务状态、最小环境变量差异、邮件/日志输出与百分号转义四类常见原因。
围绕“df 和 du 统计同一目录结果差很多,可能有哪些原因”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖完整回答要覆盖已删除未释放文件、挂载点遮盖、稀疏文件与硬链接四类原因。
围绕“磁盘显示已满但删了大文件空间没释放,怎么定位并解决”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释被打开文件句柄持有 inode 的原理及 lsof +L1 或 /proc/pid/fd 找持有者。
围绕“如何判断磁盘 IO 是系统瓶颈:iostat 哪些列最关键”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须解读 %util、await、r_await/w_await 与队列深度的含义及阈值判断。
围绕“硬件或驱动异常导致服务故障时,dmesg 应该怎么读”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出 dmesg -T 时间戳、按级别过滤及识别 IO error/segfault 记录的方法。
围绕“应用偶发请求慢,怀疑 DNS 解析耗时,如何在 Linux 上验证”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须用 dig/time getent 对比解析耗时并检查 resolv.conf 与 nsswitch 顺序。
围绕“客户端报 cannot assign requested address,如何确认是临时端口耗尽”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 ip_local_port_range 范围、大量 TIME_WAIT 占用与确认方法。
围绕“find -exec 与 find | xargs 在处理含空格文件名时如何避免出错”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出 -print0/-0 与 -exec {} + 两种安全写法及性能差异。
围绕“磁盘告警时如何快速找出占空间最大的目录和文件”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出 du 逐层下钻与 find -size 的组合命令及排除挂载点的 -x 参数。
围绕“Linux 中如何查出某个端口被哪个进程占用”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出 ss -lntup 与 lsof -i 的具体用法及输出字段解读。
围绕“如何防止误执行的递归 fork(fork 炸弹)把服务器进程表耗尽”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 RLIMIT_NPROC 对普通用户的进程数约束及其局限。
围绕“如何在海量日志中快速定位某个时间点前后的错误上下文”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出按时间戳 sed/awk 截取区间加 grep 上下文行数的组合。
本文介绍定位Linux进程内线程级CPU占用问题的方法,重点使用 top -H 和 pidstat -t 获取TID,并通过转换十六进制关联线程栈,同时说明适用边界与常见误区。
围绕“磁盘空间充足却提示 No space left on device,怎么排查”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须指向 inode 耗尽或保留块,用 df -i 确认并给出小文件清理思路。
围绕“磁盘 IO 被打满时如何定位是哪个进程在读写”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须用 iotop 或 pidstat -d 关联进程与读写速率,并说明需要 root 的原因。
围绕“如何用 journalctl 只看某个 systemd 服务在某次故障时间段的日志”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出 -u 单元、--since/--until、-b 本次启动的组合过滤。