你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文介绍如何配置包含现有 Azure 负载均衡器的虚拟机规模集。 使用现有的虚拟网络和标准 SKU 负载均衡器,可以在 Azure 门户中单击几下鼠标,或者在 Azure CLI 或 Azure PowerShell 中使用以下选项卡在 Azure CLI 或 Azure PowerShell 中使用几行代码来部署虚拟机规模集。
先决条件
登录到 Azure 门户
登录 Azure 门户。
部署包含现有负载均衡器的虚拟机规模集
在本部分,你将在 Azure 门户中创建一个包含现有 Azure 负载均衡器的虚拟机规模集。
注意
以下步骤假设已事先部署名为 myVNet 的虚拟网络,以及名为 myLoadBalancer 的 Azure 负载均衡器。
在屏幕的左上方,单击“创建资源”,然后在市场搜索中搜索“虚拟机规模集”。
选择“虚拟机规模集”,然后选择“创建”。
在“创建虚拟机规模集”中输入 ,或者在“基本信息”选项卡中选择以下信息:
设置 |
值 |
项目详细信息 |
|
订阅 |
选择 Azure 订阅 |
资源组 |
选择“新建”,输入“myResourceGroup”,然后选择“确定”;或选择现有资源组。 |
规模集详细信息 |
|
虚拟机规模集名称 |
输入 myVMSS |
区域 |
选择“美国东部 2” |
可用性区域 |
选择“无” |
业务流程 |
|
业务流程模式 |
选择“统一” |
安全类型 |
选择“标准” |
缩放 |
|
缩放模式 |
选择“手动” |
实例计数 |
输入“2” |
实例详细信息 |
|
映像 |
选择“Ubuntu Server 22.04 LTS”。 |
Azure Spot 实例 |
请选择“否” |
大小 |
保留默认值 |
管理员帐户 |
|
身份验证类型 |
选择“SSH 公钥” |
用户名 |
输入 SSH 公钥的用户名。 |
SSH 公钥源 |
选择“生成新密钥对”。 |
SSH 密钥类型 |
选择“RSA SSH 格式”。 |
密钥对名称 |
输入密钥对的名称。 |
选择“网络”选项卡,或者选择“下一步: 现成”>“下一步: 磁盘”>“下一步: 网络”。
在“网络”选项卡中输入或选择以下信息:
设置 |
Value |
虚拟网络配置 |
|
虚拟网络 |
选择“myVNet”或现有的虚拟网络。 |
负载均衡 |
|
负载均衡选项 |
选择“Azure 负载均衡器” |
选择负载均衡器 |
选择“myLoadBalancer”或现有的负载均衡器 |
选择后端池 |
选择“myBackendPool”或现有的后端池。 |
选择“管理”选项卡。
在“管理”选项卡中,将“启动诊断”设置为“关闭”。
选择蓝色的“查看 + 创建”按钮。
检查设置,然后选择“创建”按钮。
先决条件
- 本文需要 Azure CLI 2.0.28 或更高版本。 如果使用 Azure Cloud Shell,则最新版本已安装。
部署包含现有负载均衡器的虚拟机规模集
使用 az vmss create
部署虚拟机规模集。
请将括号中的值替换为配置中的资源名称。
az vmss create \
--resource-group <resource-group> \
--name <vmss-name>\
--image <your-image> \
--admin-username <admin-username> \
--generate-ssh-keys \
--upgrade-policy-mode Automatic \
--instance-count 3 \
--vnet-name <virtual-network-name> \
--subnet <subnet-name> \
--lb <load-balancer-name> \
--backend-pool-name <backend-pool-name>
以下示例部署一个虚拟机规模集:
- 虚拟机规模集名为 myVMSS
- 其中包含名为 myLoadBalancer 的 Azure 负载均衡器
- 其中包含名为 myBackendPool 的负载均衡器后端池
- 其中包含名为 myVnet 的 Azure 虚拟网络
- 其中包含名为 mySubnet 的子网
- 其中包含名为 myResourceGroup 的资源组
- 虚拟机规模集的 Ubuntu 服务器映像
az vmss create \
--resource-group myResourceGroup \
--name myVMSS \
--image Ubuntu2204 \
--admin-username adminuser \
--generate-ssh-keys \
--upgrade-policy-mode Automatic \
--instance-count 3 \
--vnet-name myVnet\
--subnet mySubnet \
--lb myLoadBalancer \
--backend-pool-name myBackendPool
注意
创建规模集后,无法为负载均衡器的运行状况探测所用的负载均衡规则修改后端端口。 为了更改端口,可以通过更新 Azure 虚拟机规模集来删除运行状况探测,更新端口,然后重新配置运行状况探测。
先决条件
Azure Cloud Shell
Azure 托管 Azure Cloud Shell(一个可通过浏览器使用的交互式 shell 环境)。 可以将 Bash 或 PowerShell 与 Cloud Shell 配合使用来使用 Azure 服务。 可以使用 Cloud Shell 预安装的命令来运行本文中的代码,而不必在本地环境中安装任何内容。
若要启动 Azure Cloud Shell,请执行以下操作:
选项 |
示例/链接 |
选择代码或命令块右上角的“试用”。 选择“试用”不会自动将代码或命令复制到 Cloud Shell。 |
|
转到 https://shell.azure.com 或选择“启动 Cloud Shell”按钮可在浏览器中打开 Cloud Shell。 |
|
选择 Azure 门户右上角菜单栏上的 Cloud Shell 按钮。 |
|
若要使用 Azure Cloud Shell,请执行以下操作:
启动 Cloud Shell。
选择代码块(或命令块)上的“复制”按钮以复制代码或命令。
在 Windows 和 Linux 上选择 Ctrl+Shift+V,或在 macOS 上选择 Cmd+Shift+V 将代码或命令粘贴到 Cloud Shell 会话中。
选择“Enter”运行代码或命令。
登录 Azure CLI
使用 Connect-AzAccount
登录 Azure
Connect-AzAccount
部署包含现有负载均衡器的虚拟机规模集
使用 New-AzVMss
部署虚拟机规模集。 请将括号中的值替换为配置中的资源名称。
$rsg = <resource-group>
$loc = <location>
$vms = <vm-scale-set-name>
$vnt = <virtual-network>
$sub = <subnet-name>
$lbn = <load-balancer-name>
$pol = <upgrade-policy-mode>
$img = <image-name>
$bep = <backend-pool-name>
$img = <image-name>
$lb = Get-AzLoadBalancer -ResourceGroupName $rsg -Name $lbn
New-AzVmss -ResourceGroupName $rsg -Location $loc -VMScaleSetName $vms -VirtualNetworkName $vnt -SubnetName $sub -LoadBalancerName $lb -UpgradePolicyMode $pol
以下示例使用以下值部署一个虚拟机规模集:
- 虚拟机规模集名为 myVMSS
- 其中包含名为 myLoadBalancer 的 Azure 负载均衡器
- 其中包含名为 myBackendPool 的负载均衡器后端池
- 其中包含名为 myVnet 的 Azure 虚拟网络
- 其中包含名为 mySubnet 的子网
- 其中包含名为 myResourceGroup 的资源组
$rsg = "myResourceGroup"
$loc = "East US"
$vms = "myVMSS"
$vnt = "myVNet"
$sub = "default"
$pol = "Automatic"
$lbn = "myLoadBalancer"
$bep = "myBackendPool"
$img = "Ubuntu2204"
$lb = Get-AzLoadBalancer -ResourceGroupName $rsg -Name $lbn
New-AzVmss -ResourceGroupName $rsg -Location $loc -VMScaleSetName $vms -VirtualNetworkName $vnt -SubnetName $sub -LoadBalancerName $lb -UpgradePolicyMode $pol -BackendPoolName $bep -ImageName $img
注意
创建规模集后,无法为负载均衡器的运行状况探测所用的负载均衡规则修改后端端口。 为了更改端口,可以通过更新 Azure 虚拟机规模集来删除运行状况探测,更新端口,然后重新配置运行状况探测。
后续步骤
在本文中,你已部署一个包含现有 Azure 负载均衡器的虚拟机规模集。 若要详细了解虚拟机规模集和负载均衡器,请参阅: