ingress-nginx注解方式使用最小连接数方式实现负载均衡
要使用Ingress-Nginx的注解方式实现最小连接数负载均衡,需要使用nginx.ingress.kubernetes.io/upstream-vhost注解和nginx.ingress.kubernetes.io/upstream-vhost-weight注解。
- 首先,在Ingress资源的
metadata部分添加nginx.ingress.kubernetes.io/upstream-vhost注解,设置为example.com或者你想要指定的主机名。这将为Ingress创建一个独立的上游主机。
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-ingress
annotations:
nginx.ingress.kubernetes.io/upstream-vhost: example.com
spec:
...
- 接下来,为每个后端服务添加
nginx.ingress.kubernetes.io/upstream-vhost-weight注解,并设置每个服务的权重值。权重值越小,连接数越少。
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-ingress
annotations:
nginx.ingress.kubernetes.io/upstream-vhost: example.com
spec:
rules:
- host: example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: backend-service-1
port:
number: 80
resource:
annotations:
nginx.ingress.kubernetes.io/upstream-vhost-weight: "1" # 设置权重为1
- path: /api
pathType: Prefix
backend:
service:
name: backend-service-2
port:
number: 80
resource:
annotations:
nginx.ingress.kubernetes.io/upstream-vhost-weight: "2" # 设置权重为2
通过以上配置,Ingress-Nginx将按照权重值将流量分发给后端服务。在这个例子中,backend-service-1将接收到更少的连接,因为它的权重值较小
原文地址: https://www.cveoy.top/t/topic/ipvL 著作权归作者所有。请勿转载和采集!