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

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

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

  • kubernetes服务名称
  • Spring 启动执行器端点名称(例如/ actuator / loggers)

  • 该实用程序应在该服务的所有Pod上调用端点。

    目前,我正在通过服务名称获取所有Pod的名称,并遍历所有Pod并通过运行来满足要求-
    `kubectl exec $pod -- curl http:\\localhost:8081\actuator\loggers`
    

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

    最佳答案

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

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

    关于spring-boot - 如何从外部对运行在kubernetes pod中的应用程序进行http调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56357159/

    相关文章:

    Hibernate 5.0.11 - 多次注册 AttributeConverter 类

    kubernetes - HPA(Horizo​​ntal pod autoscaling)是否考虑了多个容器(在一个 Pod 中)的 CPU 利用率的平均值来扩展 Pod?

    aks 上的 java spring boot 微服务部署抛出 UnsupportedClassVersionError

    spring-boot - 使用 Prometheus 监控 spring boot 缓存指标

    spring-boot - 从命令行运行时如何将 JVM 参数添加到 Spring boot?

    java - Spring - 两种不同的 POST 方法,具有相同的 URL,但生成的内容类型不同

    java - 让 Spring Boot 3 Actuator 知道 X-Forwarded-Prefix header ?

    java - 如何衡量来自特定用户的 REST API 请求数量?

    hibernate - Spring 数据 jpa : required identifier property not found for class ConnectionManager

    jenkins - 在Kubernetes中用于持久数据的正确卷类型是什么?