在同一个pod上打开多个端口保证?

  • 本文关键字:pod 同一个 kubernetes
  • 更新时间 :
  • 英文 :


我对Kubernetes相当陌生。我正试图找出一个pod的最佳结构,需要根据哪个pod请求其服务进行配置。

比如说。数据流端口可能是8080,这是一个未知大小的数据流。数据在接收时被处理。因此,我不能真正使用REST API与有效负载,因为有效负载是一个流,可能长达数天。

问题是,我可能有这个服务的10多个副本,它们需要在连接到该服务的客户端pod上动态配置。我更喜欢使用一个单独的端口,如9000,以XML或INI文件类型的配置连接到pod。

我关心的是以下几点。由于有10个副本,并且同一个pod向一个服务发出2个唯一请求,它们是否保证连接到相同的服务pod,或者它们可能是2个不同的服务pod ?最后,我想要选择一个服务pod(编排器可以选择,但它现在是一个已知的IP地址),将配置文件发送到9000,然后用数据流连接到端口8080,以使服务正确完成。

由于您正在尝试为同一pod上的同一服务打开多个端口,因此可以为每个端口分配不同的名称。我为您提供一个示例yaml文件,其中服务使用端口80和端口443进行外部通信。

apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: MyApp
ports:
- name: http
protocol: TCP
port: 80
targetPort: 9376
- name: https
protocol: TCP
port: 443
targetPort: 9377

有关更多信息和解释,您可以参考上面提供yaml示例的链接。

更新:

  1. @mazecreator我现在可以建议一个解决方案,附加一个temp或持久化卷到您的服务部署以及何时尝试使用端口9000推送配置文件到此卷,以及应用程序何时执行数据流操作它将从这里获取你的配置,它将是妥善完成。
  2. @mazecreator按照以下步骤创建单独的部署要以这种方式部署的每个应用程序的文件与该特定应用程序相关的pod只能访问这个体积。

最新更新