接下来我们来配置Azure Load balancer,就是面向公网的负载均衡器:
1.在该测试中,为了保持内网访问和外网访问一样的体验,本地端口和public端口和ILB一样,同样是80:
PS C:\> Get-AzureVM -ServiceName webstevennodes -Name webstevennode1|Add-AzureEndpoint -Name httppub -Protocol tcp -LocalPort 80 -PublicPort 80 -DefaultProbe -LBSetName myPubLBSet|Update-AzureVM
2. 配置完成后,我们同样来检测一下当前端点配置信息,可以看到ILB和PubLB的配置都成功了:
3. 在Azure管理界面上,我们检查下两台测试VM的端点配置,可以看到刚才配置的公网的端点配置显示在了portal上:
4. 那么我们通过公网来测试一下AzureLB是否工作,打开浏览器,输入DNS地址回车,可以看到请求被分发到了VM2,过几分钟,换个浏览器,测试一下,可以看到,请求被分发到了VM1:
6. 回过头来,我们测试一下Internal Load balancer是否依然可以正常工作,可以看到ILB工作正常:
7. 最后,我们在测试一下最后一个场景,我们知道Azure的负载均衡器有probe,可以自动检测被分发的虚拟机是否健康,然后将请求分发到健康的虚拟机,在下面的测试中,我们关闭VM1,看看负载均衡器是否可以正确的将请求分发给健康的虚拟机:
分别用LB和ILB来访问服务,所有的请求都被分发到运行的虚拟机VM2上了,可以正常工作: