gpt4 book ai didi

linux - 单个 VNet/子网中 Azure VM 的保留 IP

转载 作者:太空宇宙 更新时间:2023-11-04 10:47:08 25 4
gpt4 key购买 nike

我有 8 个虚拟机(基于 Linux)在 Azure 上运行一个 VNet。如果我有两个虚拟机在同一个端口上运行一项服务,它会向我显示机器状态或显示特定于虚拟机的一些常见详细信息。比如说

VM-1 在 8080 端口上运行一个服务,相同的服务已经部署在 VM-2 上,它在同一个端口 8080 上运行。要访问在端口 8080 上运行的服务,我在 VM-1 上打开一个端口终点。我可以使用 servicename.webapp.net:8080 通过 VM-1 从 Web 浏览器访问 8080。但是如果我想检查 VM-2 的状态,我无法打开 VM-2 上的端口 8080。可能是因为端口是在服务级别而不是 VM 级别打开的。有没有一种方法可以在 VM 级别打开端口并使用 VM-x:port?

我认为可能有用的另一种方法是:将 staticIP/ReservedIP 分配给每个 VM 并在各个机器上打开端口应该是可能的,而不是在 VNet/服务级别打开端口。一旦启动并运行,是否可以为所有 8 台机器分配静态/保留 IP?我们还需要确保在重启后所有八台机器都保留相同的 IP。

我尝试关注博客 https://azure.microsoft.com/en-us/documentation/articles/virtual-networks-reserved-public-ip/并尝试了以下命令:

$image = Get-AzureVMImage|?{$_.ImageName -like "*AMI-20150919-849187*"} 
New-AzureVMConfig -Name StaticIPVMCOnfig -InstanceSize Small -ImageName $image.ImageName
-CurrentStorageAccountName "myStorageACName"
| Add-AzureProvisioningConfig -Linux -LinuxUser root -Password MyP@ssword!
| New-AzureVM -ServiceName myCloudServiceName -ReservedIPName MyReservedIP
-Location "West Europe"

我仍然看到新 VM 正在使用与 VNet 中其他 VM 相同的 VIP 启动。我不确定我是否遗漏了什么。

附上截图,其中一个是在没有静态/保留 IP CMDlet 的情况下创建的。另一个是从 PowerShell 创建的。两者共享相同的 VIP。

This VM is created before without powershell or reservedIPs

This VM is created with Powershell.有人可以帮忙吗?

PS:我故意保留公共(public) VIP 以表明它们是相同的。 (我已经关闭并且不再使用此服务)。

谢谢,乙肝

最佳答案

是的,您可以使用 powershell 命令将静态 IP 分配给 VM-

get-azurevm -servicename "testservice" -name "testvm" | Set-AzureStaticVNetIP -IPAddress "10.87.96.41" | Update-AzureVM

接下来您要确保在实例进入停止状态时不会丢失 IP。为此,您可以使用 powershell 中的 stop azure vm 命令定义显式参数 StayProvisioned-

stop-azurevm -ServiceName "testservice" -Name "testvm" -StayProvisioned

即使 VM 已停止,StayProvisioned 也不允许释放 IP。

如果您正在寻找 VM 的公共(public) IP-

“每个虚拟机都会自动分配一个免费的公共(public)虚拟 IP (VIP) 地址”

为了找到公共(public) ip,请转到 Azure 门户,然后是您的 VM 仪表板。在右侧,您会看到一个快速浏览选项卡,在该选项卡下您将能够看到公共(public) IP。快照供您引用-

enter image description here

您可以使用此公共(public) IP 通过 RDP 直接连接到虚拟机。使用 powershell,您可以使用下面的命令。

Get-AzureVM -ServiceName "testservice" -Name "testvm" | select PublicIPAddress

注意 - 如果实例处于停止状态,公共(public) IP 将为空。要了解有关公共(public) IP 的更多信息,您可以阅读此内容-

https://azure.microsoft.com/en-in/documentation/articles/virtual-networks-instance-level-public-ip/

[已编辑]

关于linux - 单个 VNet/子网中 Azure VM 的保留 IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32678558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com