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

K8s中akkaHttp应用探针返回404失败问题求助

问题原因及解决办法

核心问题是你配置的探针访问路径/在Akka HTTP应用中不存在,导致Kubernetes请求该路径时返回404,触发探针失败。Akka HTTP默认不会在根路径提供健康检查类的响应接口,必须手动添加对应端点或者使用Akka生态的健康检查工具。

解决步骤

1. 为Akka HTTP应用添加健康检查端点

在你的Akka HTTP代码中新增一个健康检查路由,比如/health,返回200状态码。示例Scala代码如下:

import akka.http.scaladsl.server.Directives._
import akka.http.scaladsl.server.Route

// 健康检查路由
val healthRoute: Route = path("health") {
  get {
    complete("OK")
  }
}

// 合并到现有主路由
val mainRoute = healthRoute ~ yourExistingApplicationRoutes

2. 修改Deployment的探针配置

将所有探针的path字段修改为你新增的健康检查路径(比如/health),修改后的配置片段如下:

livenessProbe:
  httpGet:
    path: /health
    port: 8083
  initialDelaySeconds: 50
  periodSeconds: 10
readinessProbe:
  httpGet:
    path: /health
    port: 8083
  initialDelaySeconds: 50
  periodSeconds: 10
startupProbe:
  httpGet:
    path: /health
    port: 8083
  failureThreshold: 30
  periodSeconds: 10

额外方案:使用Akka Management提供的健康检查

如果你的项目使用Akka生态,可以直接引入Akka Management依赖,它会自动提供/ready(就绪检查)、/alive(存活检查)等标准端点,无需手动编写路由。只需在配置中启用对应模块即可,之后将探针路径修改为对应的端点即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 15:53:11