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资源。

相关推荐
炎码工坊3 小时前
微服务通信安全实战:JWT在分布式架构中的应用与最佳实践
安全·网络安全·云原生·系统安全·安全架构
藥瓿亭4 小时前
K8S认证|CKS题库+答案| 9. 网络策略 NetworkPolicy
linux·运维·docker·云原生·容器·kubernetes·cks
955.4 小时前
k8s从入门到放弃之Pod的容器探针检测
云原生·容器·kubernetes
yunken286 小时前
docker容器保存为不依赖基础镜像的独立镜像方法
java·docker·容器
langmeng1106 小时前
使用docker在3台服务器上搭建基于版本redis 6.x的一主两从模式
运维·redis·docker·容器·集群
leblancAndSherry7 小时前
Gitlab + Jenkins 实现 CICD
linux·运维·docker·kubernetes·gitlab·jenkins
脑瓜嗡11 小时前
Docker部署SpringBoot项目
spring boot·docker·容器
容器魔方12 小时前
KubeCon China 2025 | 与KubeEdge畅聊毕业经验与创新未来
云原生·容器·云计算
代码小学僧13 小时前
通俗易懂:给前端开发者的 Docker 入门指南
前端·docker·容器
运维潇哥13 小时前
k8s业务程序联调工具-KtConnect
云原生·容器·kubernetes