网络型负载均衡NLB(Network Load Balancer)是阿里云面向万物互联时代推出的新一代四层负载均衡,支持超高性能和自动弹性能力,具有更高的可用性,能够进一步提升网关流量的稳定性。ASM网关支持使用NLB。配置ASM网关的ServiceType为LoadBalancer时,默认会关联一个CLB作为网关Service的负载均衡器。本文介绍如何关联一个NLB作为ASM网关的负载均衡器。
前提条件
已添加Kubernetes集群到ASM实例,且满足以下条件:
Kubernetes集群版本为v1.24及以上且CCM版本为v2.5.0及以上。
ASM实例版本为1.18及以上。
ACK集群所在VPC至少有两个可用区的VSwitch。
操作步骤
登录ASM控制台,在左侧导航栏,选择 。
在网格管理页面,单击目标实例名称,然后在左侧导航栏,选择
。您可以选择使用界面方式或YAML方式创建入口网关。
使用界面创建
在入口网关页面,单击创建。本文只对NLB类型负载均衡的参数进行说明。其他配置参数,请参见创建入口网关。
配置项
说明
网络型负载均衡 NLB
仅当网关服务类型选择LoadBalancer时,需要进行此配置。
支持公网访问和私网访问。
新建负载均衡
控制台默认为新建负载均衡,您可以按需选择使用已有负载均衡。
选择此选项后,您需要在下方选择NLB可用区中选择至少两个可用区对应的虚拟交换机。
使用已有负载均衡
选择此选项后,您需要在下方选择已有负载均衡中选择已经创建的NLB负载均衡。
重要建议您为每个Kubernetes服务分配一个负载均衡。如果多个Kubernetes服务复用同一个负载均衡,存在以下风险和限制:
使用已有的负载均衡会强制覆盖已有监听,可能会导致您的应用不可访问。
Kubernetes通过Service创建的负载均衡不能复用,只能复用您手动在控制台(或调用OpenAPI)创建的负载均衡。
复用同一个负载均衡的多个Service不能有相同的前端监听端口,否则会造成端口冲突。
复用负载均衡时,监听的名字以及虚拟服务器组的名字被Kubernetes作为唯一标识符。请勿修改监听和虚拟服务器组的名字。
不支持跨集群、跨地域复用负载均衡。
使用YAML创建
在入口网关页面,单击使用YAML创建,配置网关名称为ingressgateway-nlb-test,选择命名空间为istio-system,配置如下YAML。
YAML中需要配置
loadBalancerClass
为alibabacloud.com/nlb
。NLB不需要指定规格,但是需要指定至少两个可用区。创建完成后,界面显示如下。与使用CLB的网关不同,使用NLB的网关,服务地址显示为一个域名而不是一个IP。同时,由于创建入口网关时指定了两个可用区,该域名会绑定两个IP地址。
您可以登录NLB控制台,查看当前NLB的状态。关于NLB的更多信息,请参见通过Annotation配置网络型负载均衡NLB和NLB产品计费。