如何从外部对 kubernetes pod 内的应用程序 运行 进行 http 调用?

How to make http call to an application running inside a kubernetes pod from outside?

我正在尝试编写一个接受以下参数的实用程序 -

  1. kubernetes 服务名称
  2. spring 引导执行器端点名称(例如 /actuator/loggers)

此实用程序应调用此服务的所有 pods 上的端点。

目前我正在通过服务名称获取所有 pods 的名称并遍历所有这些并满足 运行 -

的要求
`kubectl exec $pod -- curl http:\localhost:8081\actuator\loggers`

虽然它有效,但我正在寻找一种解决方案,我不必在 pod 上执行 "exec",因为我不确定运行此实用程序的用户可能拥有的权限。有什么方法可以对个人 pods 进行 http 调用吗?

我会在 kubernetes 集群中 运行 这个实用程序,并将这个实用程序公开给需要数据的开发人员。这样您只需要公开此实用程序,而不是公开所有 pods 以允许 http 调用。我觉得这样简单多了。

有多种方法可以将 Kubernetes Pod 公开到集群外部,但我推荐 using Ingress,它使用 nginx 代理将来自外部的流量路由到您的 pod。