练习 - 设置环境
在本练习中,你将使用负载均衡器设置预配置的环境,并创建图表来监视负载均衡器的运行状况。
本练习为选做练习。 完成此示例需要访问 Azure 订阅,可以在其中创建 Azure 资源。 如果还没有 Azure 订阅,可以在开始前创建一个免费帐户。
设置环境
登录 Azure 门户。
从右上方的菜单栏中选择 Cloud Shell。
选择 Bash。
运行以下命令,以下载用于本练习的脚本。
git clone https://github.com/MicrosoftDocs/mslearn-troubleshoot-inbound-network-connectivity-azure-load-balancer load-balancer
转到 load-balancer/src/scripts 文件夹。
cd ~/load-balancer/src/scripts
运行以下命令以设置 VM 的用户名。 可以将用户名更改为其他名称。 稍后在本练习中需要用到用户名,因此请记下你使用的用户名。
export USERNAME=azureuser
运行以下命令为脚本创建的虚拟机创建密码。 密码存储在变量中,并同时记录在文本文件 passwd.txt 中,以备后续使用。
export PASSWORD=$(openssl rand -base64 32) echo $PASSWORD > passwd.txt
设置资源组名称。
export RESOURCEGROUP=learn-ts-loadbalancer-rg
设置位置。 将 eastus 值替换为你附近的位置。
export LOCATION=eastus
以下列表包含一些可以使用的位置值:
- westus2
- 美国中南部
- 美国中部
- 美国东部
- 欧洲西部
- 亚洲东南部
- 日本东部
- 巴西南部
- 澳大利亚东南部
- centralindia
运行以下命令来创建资源组。
az group create --name $RESOURCEGROUP --location $LOCATION
运行以下命令以创建负载均衡器、虚拟机和虚拟网络。
bash setup.sh $RESOURCEGROUP
此脚本最多需要 25 分钟才能运行。
检查创建的资源
在 Azure 门户中,搜索“资源组”。
选择“learn-ts-loadbalancer-rg”。
按“类型”对资源列表进行排序。
资源组应包含此表中所示的资源。
名称 Type 说明 retailappvm1_disk1_xxx 和 retailappvm1_disk2_xxx 磁盘 两个 VM 的虚拟硬盘。 retailapplb 负载均衡器 VM 上运行的应用的负载均衡器。 负载均衡器中的后端池引用 retailappvm1 和 retailappvm2 虚拟机。 nicvm1 和 nicvm2 网络接口 两个 VM 的网络接口。 retailappnicvm1nsg 和 retailappnicvm2nsg 网络安全组 (NSG) 控制进入每个 VM 的流量的 NSG。 retailappnsg 网络安全组 充当两台虚拟机的初始筛选器,但每台虚拟机的 NSG 支持按每台虚拟机筛选流量。 retailappip 公共 IP 地址 提供对负载均衡器的前端访问的公共 IP 地址。 retailappvm1 和 retailappvm2 虚拟机 运行零售应用程序的 VM。 retailappvmjumpbox 虚拟机 VM 也位于虚拟网络中,但具有公共 IP 地址。 管理员可以登录到此虚拟机以访问只有专用 IP 地址的 retailappvm1 和 retailappvm2 VM。 retailappvnet 虚拟网络 VM 的虚拟网络。 选择 retailapplb 负载均衡器。
在“设置”下,选择“负载均衡规则”。
选择 retailapprule。 负载均衡器配置为将到达前端地址的端口 80 的流量路由到后端池中计算机上的端口 80。
关闭 retailapprule 窗格。
在“设置”下,选择“运行状况探测”。
选择“retailapphealthprobe”。 后端池的运行状况探测器还向端口 80 发送消息,以检查每个虚拟机上的应用程序是否可用。
关闭“retailapphealthprobe”窗格。
测试负载均衡器
退回到 Azure Cloud Shell。
运行以下命令以查找负载均衡器前端的公共 IP 地址。
bash findip.sh
打开浏览器窗口,并转到此 IP 地址。 结果应为包含消息 retailappvm1 或 retailappvm2 的页面,具体取决于负载均衡器路由请求的方式。
在 Cloud Shell 中,运行以下命令以转到 src/stresstest 文件夹。
cd ~/load-balancer/src/stresstest
此文件夹包含 .NET Core 应用程序,它模拟数百个并发用户通过负载均衡器向虚拟机发送请求。
运行以下命令以启动应用程序。 用负载均衡器的前端 IP 地址替换 <IP 地址>。
dotnet run <ip address>
应用程序应使用一系列消息进行响应,这些消息指示响应是从 retailappvm1 还是从 retailappvm2 接收的。
允许应用程序运行五分钟。 按 Enter 停止应用程序。
创建用于监视指标的图表
在 Azure 门户中,转到资源组 learn-ts-loadbalancer-rg。
选择 retailapplb 负载均衡器。
在“监视”下,选择“指标”。
将以下指标添加到空图表中。
属性 值 范围 retailapplb 指标命名空间 负载均衡器标准指标 指标 数据包计数 聚合 平均值 在页面顶部,将时间范围设置为“过去 30 分钟”。 图表应该与此处显示的图表相似。 请注意平均数据包计数的峰值。
选择“固定到仪表板”。
选择“新建”,然后输入以下值。
字段 值 类型 Private 仪表板名称 dashboard-learn-ts-loadbalancer 选择“创建并固定”。
选择“新建图表”,然后添加以下指标。
属性 值 范围 retailapplb 指标命名空间 负载均衡器标准指标 指标 运行状况探测状态 聚合 平均值 选择“添加指标”,然后通过输入以下值来向图表添加另一个指标。
属性 值 范围 retailapplb 指标命名空间 负载均衡器标准指标 指标 数据路径可用性 聚合 平均值 将时间范围设置为“过去 30 分钟”。 图表应将两个统计信息报告为 100%。
选择“固定到仪表板”>“现有”。
对于仪表板,选择 dashboard-learn-ts-loadbalancer。
选择“固定”。
现在获得了系统正常运行时的一组基准指标。