【问题标题】:Kubernetes service pointing to specific instance of ReplicaSet指向 ReplicaSet 特定实例的 Kubernetes 服务
【发布时间】:2020-08-24 17:28:00
【问题描述】:
我有一个非常奇怪的用例,我们需要有多个并发连接到同一个ReplicaSet,但每个连接都需要转到不同的实例。
这是一个总结它的图像:
有没有办法根据副本集中实例的ordinal index 设置label?
这样我就可以将不同的端口映射到不同的实例。
提前致谢
【问题讨论】:
标签:
kubernetes
service
port
kubernetes-service
【解决方案1】:
假设基于 http 的 cookie 正在寻找您可以使用入口控制器,即所谓的 sticky sessions / session affinity。
入口控制器使用 Set-Cookie 标头回复响应
到第一个请求。 cookie 的值将映射到特定的
豆荚副本。当后续请求再次返回时,客户端
浏览器将附加 cookie,因此入口控制器是
能够将流量路由到同一个 pod 副本。
基本上通过在 ingress 对象中设置适当的注解,您将确保后续的流量请求仍然会发送到同一个 pod。
Nginx 有一个关于这些的 good example 和 documentation。
或者,您也可以使用 traefik 作为入口控制器。它还支持sitcky session(它们只是在入口级别而不是在traefik的入口路由中定义)。