Quarkus 活跃度在 Minikube 上不起作用

问题描述 投票:0回答:1

当我在本地运行(mvncompilequarkus:dev)时,我可以访问 /q/health 端点。当我将本机映像部署到 docker(docker run 等)时,我可以访问 /q/health 端点。当我部署到 minikube 时,我无法访问 /q/health 端点。

奇怪的是,我可以访问 / 来获取 index.html 页面,但是 /q/health 返回 404。我是 Quarkus 的新手,也不是 Kubernetes 的专家。

此外,Kubernetes 活性检查甚至无法访问活性端点,导致 pod 因 /q/health/live 不可用而立即重新启动。

预期: /r/health/live 可访问 Kubernetes 集群 /r/health/live 可通过浏览器访问

实际: Kubernetes 集群无法访问 /r/health/live /r/health/live 通过浏览器返回 404

我在做什么明显愚蠢的事情吗?预先感谢。

kubernetes quarkus minikube
1个回答
0
投票

我为解决这个问题而采取的步骤:

  1. 重新开始并阅读 https://quarkus.io/guides/deploying-to-kubernetes。更新应用程序属性。现在我有了一个可以执行的命令:
  • 构建 Quarkus 项目
  • 将镜像推送到我的公共 Docker 存储库,
  • 并为 Kubernetes 和 Minikube 部署生成 YAML。
  1. 在 Docker Desktop 上启用 Kubernetes 后,尝试部署到 Docker 版本的 Kubernetes。使用 kubernetes.yml。通过查看 pod 日志,验证 Kubernetes 本身是否可以访问运行状况端点。

  2. 再次尝试部署到 Minikube。删除集群中的所有内容。使用 minikube.yml 获取 Pod、Deployment 和 Service。

  3. 使用“kubectl port-forward svc/8080:http”转发到服务而不是pod。

  4. 验证 Kubernetes 可以通过查看 pod 日志在内部访问运行状况端点。

  5. 已验证我可以通过浏览器从外部访问健康端点。

© www.soinside.com 2019 - 2024. All rights reserved.