一、Pod 基础详解Pod 定义Pod 是 K8S 最小的创建和运行单元。Pod 内容器组成1 个根容器 / 父容器 / 基础容器pause 容器1 个或多个应用容器 / 业务容器。Pod 类型3.1 自主式 / 静态 Pod不被控制器管理的 Pod无自愈能力。一旦 Pod 异常退出不会被重新拉起且副本数量不会因未达期望值而创建新 Pod3.2 控制器管理的 Pod被控制器管理的 Pod具备自愈能力。一旦 Pod 异常退出会被重新拉起且副本数量会因未达期望值而创建新 Pod。Pod 核心功能网络共享Pod 内所有容器共享网络命名空间共享 IP存储共享Pod 内所有容器可共享存储卷。pause 容器作用为 Pod 中的所有应用容器提供网络和存储资源共享作为 PID1 的 init 进程管理整个 Pod 中容器组的生命周期。面试题Pod 中多个容器之间如何通讯答Pod 内部容器共享网络空间因此容器间可通过 localhost 访问其他容器。K8s 启动 Pod 时会先启动 pause 容器该容器是实现此功能的核心。初始化容器init 容器作用阻塞或延迟应用容器启动为应用容器提前准备运行环境和工具启动规则多个 init 容器串行启动每个 init 容器必须成功启动并退出后下一个 init 容器才能启动。应用容器main 容器启动规则所有 init 容器成功启动并退出后应用容器才会启动启动方式并行启动承载应用程序的业务逻辑。Pod 容器镜像拉取策略imagePullPolicy共 3 种与containers字段同级① IfNotPresent优先使用本地已存在的镜像本地无镜像时从仓库拉取② Always始终从仓库拉取镜像无论本地是否已存在③ Never始终不从仓库拉取镜像仅使用本地镜像。镜像拉取默认策略镜像标签为latest或无标签时如nginx:latest/nginx默认策略为Always镜像标签为非latest时如nginx:1.14默认策略为IfNotPresent省略imagePullPolicy字段且镜像标签非latest时该字段会自动设置为IfNotPresent。Pod 容器重启策略restartPolicy共 3 种与containers字段同级① Always容器退出时总是重启无论返回状态码如何默认策略② Never容器退出时从不重启无论返回状态码如何③ OnFailure仅在容器异常退出返回状态码非 0时重启容器。二、Pod 进阶特性1. 资源限制Requests请求资源保证容器能获得的最少资源相当于 “最低保障”配置路径spec.containers.resources.requests.cpu/memory示例值0.5m毫核、512MiLimits限制资源容器最多能使用的资源上限相当于 “资源天花板”配置路径spec.containers.resources.limits.cpu/memory示例值1m毫核、1Gi单位说明Mi、Gi以 2 为底数的存储单位1Gi1024MiM、G以 10 为底数的存储单位1G1000M。2. 探针健康检查 ProbePod 容器探针用于健康检查分为 3 类表格探针类型作用探测失败后果存活探针livenessProbe判断容器是否运行正常杀掉容器非 Pod容器按重启策略决定是否重启就绪探针readinessProbe判断 Pod 是否处于 Ready 状态、是否具备接收请求的能力Pod 进入 NotReady 状态从 Service 的 Endpoint 中剔除Service 不再转发请求至该 Pod启动探针startupProbe判断容器内应用是否启动成功探测成功前存活探针、就绪探针均失效三种探测方式① exec在容器内执行指定命令返回码为 0 则探测成功通过command配置执行命令② httpGet发送 HTTP GET 请求访问容器指定端口和 URL 路径返回状态码 ≥200 且 4002xx/3xx则探测成功③ tcpSocket向指定端口发起 TCP 连接三次握手成功TCP 连接建立则探测成功。3. Pod 生命周期含探针执行流程调度阶段Scheduler 将 Pod 调度到目标节点镜像拉取拉取容器镜像初始化容器按顺序执行 initContainers串行执行可配置多个主容器后置操作postStart 钩子在主容器启动后立即执行启动探测startupProbe 检查应用是否完全启动存活探测livenessProbe 定期检查容器是否存活就绪探测readinessProbe 定期检查容器是否就绪容器终止前置操作preStop 钩子在容器终止前执行清理操作。核心执行流程kubectl 指令视角kubectl创建 Pod → 启动 pause 基础容器 → 执行初始化容器init container串行执行可多个→ 创建业务容器 → 启动业务容器 → 就绪探针readinessProbe检测 → 存活探针livenessProbe检测 → 持续健康检测 → 终止容器stop。