0

我在 AWS GovCloud 中有一个 Kubernetes 集群。我已经在命名空间“kong”中部署了 Kong Ingress Controller(私有 NLB)以及 kong-proxy 服务。在命名空间“A”中,我已经部署了我的应用程序以及一个 Ingress 对象资源。我已经部署了 Keycloak(身份验证/授权应用程序)、Statuses(返回操作状态的自定义 Ruby on Rails 应用程序 - 例如 10%、20%、50%、100% 完成)和 Operation A,一个定制的执行计算的 Java 应用程序。

我的流量:

客户端 --> 负载均衡器 DNS --> kong-proxy --> Ingress --> Keycloak 服务 --> 使用 Keycloak 进行身份验证 --> 返回身份验证承载令牌控制台输出。

客户端(我)传递令牌--> 负载均衡器 DNS --> kong-proxy --> 入口 --> 操作 A 服务 -->验证并初始化操作 A

操作 A 服务 --> 向 Statuses 服务发送状态更新 -->连接被拒绝错误

在对网络流进行故障排除时,我看到操作 A 正在尝试通过负载均衡器的 DNS 名称连接到状态:操作 A 服务 --> 负载均衡器 DNS --> kong-proxy --> 入口 --> 状态服务

但这是一个非常奇怪的网络流。一个 pod 不应通过负载均衡器连接到同一集群和命名空间中的另一个 pod。它应该只通过 K8s 内部 DNS 名称连接:name.namespace.svc.cluster.local:port/path

这是 Kong 入口控制器的问题还是我应该查看我的应用程序配置?是否可以将任何注释或参数添加到入口控制器或入口对象清单以更正此网络路径?

4

0 回答 0