0

我对 k8s 卷有疑问

结构

我们讨论 2 个服务(pod),一个服务生成文件,另一个服务通过 Web 公开这些文件。

第一个服务需要一个向世界开放的 UDP 连接,还需要一个 TCP 连接来在其他 pod 之间进行通信。
(两种服务,一种用于UDP,一种用于TCP)

服务二需要连接到世界(网络)。
(连接到入口的一项服务)


问题
我需要这两个 pod 之间的内存容量,以加快 R/W 过程。

我检查的解决方案是使用 EmptyDir 卷处理多容器结构(有一个选项可以在内存中运行此卷)

这个解决方案的问题是我无法为那些容器连接 k8s 服务对象,服务只连接到 pod,并且只有 pod 获得 IP 而容器没有。

这种情况有什么解决方案或想法吗?

ps 如果重要的话,我会在 AKS 上运行。

4

1 回答 1

0

如果你真的要使用多容器的 pod,为什么不创建两个 Kubernetes 服务资源呢?一个映射到 ContainerPort A,一个映射到 containerPort B?这样你就可以独立地暴露每个容器。

请记住, EmptyDir 不是“在内存中”,它只是同一主机上的共享卷,只有共享 emptyDir 的容器才能访问。
编辑:正如@Matt 指出的那样,我被错误地告知:我不知道emptyDir.medium="Memory"设置。

因此,另一种解决方案可能是使用两个独立的 pod 和一个专用卷(在主机级别或 Kubernetes 持久卷上)。然后,您可以使用 taints 和 tolerations 确保两个 pod 都安排在附加实际卷的同一节点上。

于 2021-01-10T10:56:43.233 回答