Azure-更改负载均衡器上的缩放设置并保持相同的公共IP

Azure-更改负载均衡器上的缩放设置并保持相同的公共IP

我在 Azure 上创建了一个资源组,并且在该资源组中我有一个包含扩展集的具有公共 IP 的负载均衡器。

我想要做的是部署另一个扩展集(具有新配置的新实例)并将旧的负载均衡器指向这个新的扩展集,从而维护旧的公共 IP。

这有可能实现吗?也许还有另一种方法,我可以更改缩放集并保留相同的公共 IP(无需停机)?

答案1

我想要做的是部署另一个扩展集(具有新配置的新实例)并将旧的负载均衡器指向这个新的扩展集,从而维护旧的公共 IP。

据我所知,我们不能更改 Azure vmss 的负载均衡器。

根据您的描述,我认为您只是想保留这个公网 IP 地址。在 ARM 模块中,我们可以将这个公网 IP 地址关联到另一个负载均衡器。

因此,作为一种解决方法,我认为我们可以使用负载均衡器创建 VMSS,然后将旧的公共 IP 地址关联到新的负载均衡器。

也许有另一种方法可以让我改变缩放集并保留相同的公共 IP(无需停机)?

如果您的 VMSS 升级策略设置为手动的, 答案是是的,我们可以在不停机的情况下升级它。
我们可以更改指向您构建的自定义映像的新版本的 URI(属性 > virtualMachineProfile > storageProfile > osDisk > image > uri)。

我们应该逐个升级 VMSS 实例,下面是一个关于更新 Windows vmss 的示例,在更新模型后,它每次更新一个虚拟机实例

$rgname = "myrg"
$vmssname = "myvmss"
$newversion = "4.0.20160229"
$instanceid = "1"

# get the VMSS model
$vmss = Get-AzureRmVmss -ResourceGroupName $rgname -VMScaleSetName $vmssname

# set the new version in the model data
$vmss.virtualMachineProfile.storageProfile.imageReference.version = $newversion

# update the virtual machine scale set model
Update-AzureRmVmss -ResourceGroupName $rgname -Name $vmssname -VirtualMachineScaleSet $vmss

# now start updating instances
Update-AzureRmVmssInstance -ResourceGroupName $rgname -VMScaleSetName $vmssname -InstanceId $instanceId

有关升级 Azure VMSS 的更多信息,请参阅此关联

相关内容