【发布时间】:2021-08-07 17:02:27
【问题描述】:
我们在 GKE 中启用了水平 pod 自动缩放,我们的 pod 位于 clusterIP 类型的服务后面,我们使用 NGINX Ingress 控制器将公共流量路由到该服务。 在监控使用情况时,我们注意到 Pod 之间的流量分布不均。它将流量路由到一个 pod。但是每当我们手动删除该特定 pod 时,它会将流量路由到另一个可用的 pod。
有什么方法可以让入口规则平均分配流量
入口
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
kubernetes.io/tls-acme: "true"
nginx.ingress.kubernetes.io/load-balance: round_robin
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.org/proxy-connect-timeout: 30s
nginx.org/proxy-read-timeout: 20s
generation: 11
name: test-ingress
namespace: default
spec:
rules:
- host: gateway.example.com
http:
paths:
- backend:
serviceName: gateway-443
servicePort: 443
path: /
- backend:
serviceName: gateway-80
servicePort: 80
path: /
服务清单
apiVersion: v1
kind: Service
metadata:
annotations:
cloud.google.com/neg: '{"ingress":true}'
serviceloadbalancer/lb.cookie-sticky-session: "false"
serviceloadbalancer/lb.host: gateway.example.com
serviceloadbalancer/lb.sslTerm: "true"
labels:
name: gateway-default
port: gateway-default-8243
name: gateway-8243
namespace: default
spec:
clusterIP: 10.20.215.122
ports:
- name: pass-through-https
port: 443
protocol: TCP
targetPort: 8243
selector:
name: gatway-default
sessionAffinity: ClientIP
type: ClusterIP
【问题讨论】: