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

时间:2019-05-29 09:21:13

标签: spring-boot kubernetes spring-boot-actuator kubernetes-pod

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

  1. kubernetes服务名称
  2. 弹簧启动执行器端点名称(例如/ actuator / loggers)

此实用程序应在此服务的所有Pod上调用终结点。

当前,我通过服务名称获取所有Pod的名称,并遍历所有Pod,并通过运行-满足要求

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

尽管它可以工作,但我正在寻找一种无需在pod上执行“ exec”的解决方案,因为我不确定用户是否有权运行此实用程序。有什么方法可以对单个Pod进行http调用?

1 个答案:

答案 0 :(得分:1)

我将在kubernetes集群中运行该实用程序,并将该实用程序公开给需要数据的开发人员。这样,您只需要公开此实用程序,而不必公开所有pod来允许http调用。我认为这种方法要简单得多。

有多种方法可以将Kubernetes Pod暴露给集群之外,但我建议使用using Ingress,它使用nginx代理将来自外部的流量路由到您的Pod。