You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

EKS集群部署Spring应用失败:Pod CrashLoopBackOff与Feign配置异常

解决方案

1. 修复部署脚本失败与Deployment超时问题

  • 解决脚本退出码127问题:打开./deploy-scripts/deploy.sh,找到调用./kub-errornous-command-to-fail的代码段,直接注释掉该命令;或者在脚本当前目录执行touch kub-errornous-command-to-fail && chmod +x kub-errornous-command-to-fail,创建空的可执行文件占位,让脚本能完整执行。
  • 处理Deployment超时被删:手动创建pe-cache-atp-app-stock-updates-producer-green临时Deployment,修改其progressDeadlineSeconds字段为0(取消进度检查);或者先注入正确的服务ID配置后再部署,避免触发K8s的Deployment进度清理机制。

2. 解决blue Pod CrashLoopBackOff问题

CrashLoop的根源是Spring应用启动失败,直接通过修改Deployment配置修复:

  • 执行kubectl edit deployment pe-cache-atp-app-stock-updates-producer-blue编辑Deployment配置
  • 在spec.template.spec.containers[0].env下添加环境变量,将auth-token.name设置为集群内有效的认证服务K8s Service名称(比如auth-service):
    env:
      - name: auth-token.name
        value: "auth-service"
    
  • 保存退出后,K8s会自动重建Pod,应用将正常启动并退出CrashLoop状态。

3. 修复Feign客户端服务ID未解析的启动异常

这是所有问题的核心,上述修改环境变量的方式已直接解决该问题:

  • 确认设置的服务名称符合K8s DNS主机名规则:仅包含小写字母、数字、连字符,不能有变量占位符。
  • 如果应用使用ConfigMap管理配置,也可以修改对应ConfigMap,添加auth-token.name=正确服务名,再执行kubectl rollout restart deployment pe-cache-atp-app-stock-updates-producer-blue重启Pod加载新配置。

内容的提问来源于stack exchange,提问作者Nagraj Hiremath

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 07:52:19