k8s service 配置AWS nlb load_balancing.cross_zone.enabled
在Kubernetes中配置NLB(Network Load Balancer)的跨区域负载均衡(cross-zone load balancing),需要使用服务注解(service annotations)来实现。根据AWS官方文档,以下是配置NLB跨区域负载均衡的步骤:
1 使用service.beta.kubernetes.io/aws-load-balancer-attributes
注解:
需要将之前用于配置NLB属性的各种注解合并到service.beta.kubernetes.io/aws-load-balancer-attributes
注解中。这个注解接受一个逗号分隔的键值对列表,用于配置NLB的各种属性。例如,要指定代理协议、访问日志和跨区域负载均衡,可以使用以下格式:
service.beta.kubernetes.io/aws-load-balancer-attributes: |
proxy_protocol.v2.enabled=true
access_logs.s3.enabled=true
access_logs.s3.bucket=my-bucket
access_logs.s3.prefix=my-prefix
load_balancing.cross_zone.enabled=true
在这个合并的格式中,你可以更一致、灵活地配置负载均衡器属性,同时减少所需的单独注解数量。
2 配置Kubernetes服务:
在Kubernetes服务配置中,需要添加上述注解来启用跨区域负载均衡。以下是一个包含跨区域负载均衡配置的Kubernetes服务示例:
apiVersion: v1
kind: Service
metadata:
name: my-service
annotations:
service.beta.kubernetes.io/aws-load-balancer-attributes: |
proxy_protocol.v2.enabled=true
access_logs.s3.enabled=true
access_logs.s3.bucket=my-bucket
access_logs.s3.prefix=my-prefix
load_balancing.cross_zone.enabled=true
spec:
selector:
app: my-app
ports:
- port: 80
targetPort: 8080
type: LoadBalancer
在这个配置中,load_balancing.cross_zone.enabled=true
就是启用NLB跨区域负载均衡的关键配置。
注意:
这些配置需要AWS Load Balancer Controller来管理NLB资源。确保集群已经部署了AWS Load Balancer Controller,并且正常运行。这样,当创建或更新服务时,AWS Load Balancer Controller会根据注解配置来创建或更新NLB资源。
原文地址:https://blog.csdn.net/ygq13572549874/article/details/144433792
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!