如何从外部对 kubernetes pod 内的应用程序 运行 进行 http 调用?
How to make http call to an application running inside a kubernetes pod from outside?
我正在尝试编写一个接受以下参数的实用程序 -
- kubernetes 服务名称
- 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。
我正在尝试编写一个接受以下参数的实用程序 -
- kubernetes 服务名称
- 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。