Skip to content

1.StatefulSet 中 Pod 无法完成初始化或滚动更新

1.1 问题

StatefulSet 中的 Pod 在创建或滚动更新过程中无法完成初始化,始终处于 PendingContainerCreating 状态,或反复重启

影响范围:

  • 直接影响:对应 StatefulSet 的服务无法按预期提供完整功能,数据一致性或可用性可能受到影响

1.2 排查方案

  1. 查看 Pod 事件与状态:使用 kubectl describe pod <pod-name> 查看 Pod 详细状态和事件列表,定位问题发生的具体阶段和原因。
  2. 检查存储卷关联与状态:使用 kubectl get pvc 查看 PersistentVolumeClaim(PVC)的状态,确认 PVC 是否已绑定到合适的 PersistentVolume(PV),PV 是否正常。检查 PV 的详细信息,确认其状态、容量、访问模式等是否满足 StatefulSet 的要求。
  3. 检查存储服务日志与状态:如果使用的是云服务商提供的存储服务(如 OSS、S3、Disk、NAS等),检查其控制台或日志,确认存储服务本身无异常。
  4. 检查应用初始化脚本:如果 StatefulSet 中的 Pod 在启动时执行了自定义的初始化脚本(如 initContainers),检查这些脚本的逻辑和输出,确认无误。
  5. 验证存储卷数据完整性:如果怀疑存储卷数据损坏或不一致导致问题,尝试在其他节点上挂载该 PV,检查数据是否正确。必要时,从备份恢复数据