[英]Is it possible to route traffic to a specific Pod?
假设我在GKE中运行我的应用程序,这是一个多租户应用程序。
我创建了多个承载我的应用程序的Pod。
现在我想:客户1-1000使用Pod1客户1001-2000来使用Pod2等
如果我有一个指向我的集群的gcloud全局IP,是否可以根据传入的ipaddress / domain将请求路由到包含客户数据的正确Pod?
您可以保证与服务的会话关联,但不能像您描述的那样。 因此,您的客户1-1000将不会使用pod-1,但他们将使用所有pod(作为服务进行简单的负载平衡),但每个客户在返回到您的服务时,将被重定向到同一个豆荚
注意:始终在(默认10800)中指定的时间内:
service.spec.sessionAffinityConfig.clientIP.timeoutSeconds
这将是服务的yaml文件:
kind: Service
apiVersion: v1
metadata:
name: my-service
spec:
selector:
app: my-app
ports:
- name: http
protocol: TCP
port: 80
targetPort: 80
sessionAffinity: ClientIP
如果您还想指定时间,则需要添加以下内容:
sessionAffinityConfig:
clientIP:
timeoutSeconds: 10
请注意,上面的示例将直接命中ClusterIP类型服务(这是非常罕见的)或使用Loadbalancer类型服务,但不会使用Ingress在NodePort类型服务之后。 这是因为对于Ingress,请求来自许多随机选择的源IP地址。
不是Pod本身,但你应该能够使用服务。
豆荚意图是无国籍的,彼此难以区分。
但是,您应该能够为每个客户组创建一个部署,并为每个部署创建一个服务。 应该能够告诉Ingress nginx通过与特定客户组服务相关的任何属性来映射传入请求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.