首页 > 解决方案 > 处理具有多个容器的单个 pod

问题描述

我需要将多容器设置转换为具有多个容器的单个容器。我让 pod x 运行 x 微服务,而 pod y 运行 y 微服务,并具有以下休息端点。

我想让 pod z 和 x 和 y 微服务,容器 x 暴露在 8080 端口上,y 暴露在同一个 pod 中的 8081 上。我可以通过多容器 pod 来实现这些。

我的问题是现在 URL 已更改

我正在寻找可以在不更改 URL 或使用以下 URL 的最小命中的情况下命中端点的方法

我真正的项目要求在单个 pod 上有 5 个容器,并且暴露了 100 个端点

我怎样才能做到这一点?

标签: kubernetesendpointkubernetes-pod

解决方案


K8s 服务是公开应用程序的方式。由于您有两个应用程序并希望在单个 Pod 中将它们作为两个不同的容器运行,并且您希望对应用程序 API URL 的更改最少,因此只需创建两个具有跟踪端口的不同服务。因此,您需要对应用程序的 APP url 进行 0 次更改。

在 K8s 集群中,您可以简单地将服务名称的名称用作来自同一命名空间的主机名。您可以查看服务的 FQDN(完全限定域名)约定

因此,您可以创建两个名称为x和的服务y,其中x端口为 8080,y端口为 8081。因此,您可以使用与以前相同的 url。

注意:可能存在实现目标的不同方法,但可能会出现不同的问题。


推荐阅读