云原生 API 网关 APISIX入门
380
2022-09-30
Azure新知识科普 - Gateway Load Balancer
最近集中看了看Azure新出的一些东西,感觉数量着实不少,而且有些也挺实用的,比如这次要介绍的这个Gateway Load Balancer,之前介绍了cross region load balancer,可以跨region去分发4层的流量,而且还可以做到就近访问,配置比较简单又很实用。
Gateway load balancer 和cross region load balancer不同,但是实用是一样的,Gateway load balancer近年来已经基本要成为第一梯队云厂的标配了,这也说明各家越来越重视这种软实力,Gateway Load Balancer主要是给一些云上的NVA设备用,比如palo alto或者F5等。在以前没有Gateway Load Balancer的时候,如果要在云上用这种三方的防火墙,其实也不是没办法,只不过会稍微麻烦一点,部署完成之后要手动去控制路由和防火墙规则,来实现进站出站流量都要经过FW的需求
有了Gateway Load Balancer之后,相对来说就会变得简单一点
Gateway Load Balancer的介绍可以参考下边的文档
Load Balancer还是个preview的功能,所以想要尝试下的话,需要一些额外的配置,但是总体来说也不复杂
我们可以通过PowerShell来创建一个试一下
首先要注册resource provider,因为是preview的功能
Register-AzProviderFeature -ProviderNamespace Microsoft.Network -FeatureName AllowGatewayLoadBalancer
注册会需要一段时间,通过下边命令查看注册结果
Get-AzProviderFeature -ProviderNamespace Microsoft.Network -FeatureName AllowGatewayLoadBalancer
之后就可以开始创建了
首先获取用于gateway lb部署的subnetid
$vnet=Get-AzVirtualNetwork -ResourceGroupName Work -Name Work-vnet$fe=New-AzLoadBalancerFrontendIpConfig -SubnetId $vnet.Subnets[-1].id -Name lbfe
接下来创建tunnel,其实也是backendpool的一部分
$tunnelInterface1=New-AzLoadBalancerBackendAddressPoolTunnelInterfaceConfig -Type 'Internal' -Protocol Vxlan -Identifier '800' -Port 10800$tunnelInterface2=New-AzLoadBalancerBackendAddressPoolTunnelInterfaceConfig -Type 'External' -Protocol Vxlan -Identifier '801' -Port 10801#两个interface必须是不同类型
创建backend pool
$bepool=New-AzLoadBalancerBackendAddressPoolConfig -Name 'backend' -TunnelInterface $tunnelInterface1,$tunnelInterface2
创建probe
$probe = @{ Name = 'HealthProbe' Protocol = ' Port = '80' IntervalInSeconds = '360' ProbeCount = '5' RequestPath = '/'}$healthprobe = New-AzLoadBalancerProbeConfig @probe
创建LB Rule
$para = @{ Name = 'myLBRule' Protocol = 'All' FrontendPort = '0' BackendPort = '0' FrontendIpConfiguration = $fe BackendAddressPool = $bepool Probe = $healthprobe}$rule = New-AzLoadBalancerRuleConfig @para
创建LB
$lb = @{ ResourceGroupName = ‘Work’ Name = 'LoadBalancer-gw' Location = 'eastasia' Sku = 'Gateway' LoadBalancingRule = $rule FrontendIpConfiguration = $fe BackendAddressPool = $bepool Probe = $healthprobe}New-AzLoadBalancer @lb
在Portal上也能看到创建出来的LB了,SKU显示是Gateway
之后还不算完,如果想实现把发给IP或者LB的流量自动redirect到gatewayLB,还需要创建个link,要不完怎么知道要把流量转发给哪个NVA
$gwlb=Get-AzLoadBalancer -ResourceGroupName 'work' -Name 'LoadBalancer-gw'$lb=Get-AzLoadBalancer -ResourceGroupName 'MC_Apache_SSLAKS_eastasia' -Name 'kubernetes'$lbip=Get-AzPublicIpAddress -ResourceGroupName 'MC_Apache_SSLAKS_eastasia' -Name '89686742-6cbe-436b-a2b7-6e8737af283f'$config=Set-AzLoadBalancerFrontendIpConfig -Name "config" -PublicIpAddress $lbip -LoadBalancer $lb -GatewayLoadBalancerId $gwlb.FrontendIpConfigurations.Id$config | Set-AzLoadBalancer
这样就OK了,总体来说创建过程还是要比cross region lb复杂不少的,现在Portal上相关的配置也不是很健全,想尝试的话建议可以再等等
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~