知名路由 Kubernetes

well-known routes Kubernetes

你好,我是 K8S 的新手,我是 React TypeScript 应用程序的新手, 我正在尝试使用打字稿部署我的 React 应用程序,我在 Kubernetes 部署中遇到错误

Liveness probe failed: HTTP probe failed with statuscode: 404

我应该把知名路线 /.well-known/live 和 /.well-known/ready 放在哪里?我应该为它写些什么?

where should I put the well-known routes /.well-known/live and /.well-known/ready ? and what should I write for it ?

如果您使用 Nginx/Apache 从您的容器提供索引,则不需要它,在这种情况下,您需要更新 K8s YAML 配置并将 HTTP probe 路径更新为 [=12] =] 可能所以当 K8s 检查它时,它会到达你的 React 应用程序的 root(index.html) 主页。

缓解方法

Liveness probe failed: HTTP probe failed with statuscode: 404

这显然意味着 Kubernetes 未能验证或检查 K8s 中部署的健康状况。

您的错误状态代码是:404

这意味着它无法获取或访问 HTTP 端点。

我不确定您的路由如何工作以及应用程序是如何配置的,但这是您可以使用的最简单的 HTTP 选项。

app.get('/live',(req,res)=> {
  res.send ("OK");
}); 

K8s 定期检查您使用 YAML 配置文件配置的此端点上的 HTTP 状态。

Nginx 检查

如果您正在部署单独的 Frontend pod 并且无法在容器

中保留 HTTP 端点

您可以像 / 一样使用 Apache/Nginx 的默认端点作为 liveness 探测器,因此默认情况下 NginxApache return 200/

否则

您还可以从您的代码中提供任何 HTML 文件名,/index-live.html 因此当 K8s 将检查 /live 端点前端容器将提供 html 带有状态代码的文件200.