用于 Azure 部署的其他 PowerShell 脚本
本部分内容提供了一些 PowerShell cmdlet,可以使用这些 cmdlet 在 Azure PowerShell 中执行以下配置:
- 配置 NetScaler VPX 独立实例
- 在高可用性设置中使用 Azure 外部负载均衡器配置 NetScaler VPX 对
- 使用 Azure 内部负载均衡器在高可用性设置中配置 NetScaler VPX 对
另请参阅以下主题,了解您可以使用 PowerShell 命令执行的配置:
- 使用 PowerShell 命令配置具有多个 IP 地址和 NIC 的高可用性设置
- 在 NetScaler VPX 实例上配置 GSLB
- 在 NetScaler 主动-备用高可用性设置中配置 GSLB
- 使用 PowerShell 命令在独立模式下为 NetScaler VPX 实例配置多个 IP 地址
配置 NetScaler VPX 独立实例
-
创建资源组
资源组可以包括解决方案的所有资源,也可以仅包括要作为一个组管理的资源。 此处指定的位置是该资源组中的资源的默认位置。 请确保用于创建负载均衡器的所有命令均使用同一资源组。
$rgName="<resource group name>"
$locName="<location name, such as West US>
New-AzureRmResourceGroup -名称 $rgName -位置 $locName
例如:
$rgName = "ARM-VPX" $locName = "West US" New-AzureRmResourceGroup -Name $rgName -Location $locName <!--NeedCopy-->
-
创建存储帐户
为您的存储帐户选择仅包含小写字母和数字的唯一名称。
$saName="<storage account name>"
$saType="<storage account type>"
,指定一个:Standard_LRS
、Standard_GRS
、Standard_RAGRS
或Premium_LRS
New-AzureRmStorageAccount -名称 $saName -ResourceGroupName $rgName -类型 $saType -位置 $locName
例如:
$saName="vpxstorage" $saType="Standard\_LRS" New-AzureRmStorageAccount -Name $saName -ResourceGroupName $rgName -Type $saType -Location $locName <!--NeedCopy-->
-
创建可用性集
可用性集可帮助使您的虚拟机在停机期间(例如,在维护期间)保持可用。 配置了可用性集的负载均衡器可确保您的应用程序始终可用。
$avName="<availability set name>"
New-AzureRmAvailabilitySet -Name $avName -ResourceGroupName $rgName -Location $locName
-
创建虚拟网络
如果以前未创建子网,请添加一个至少包含一个子网的新虚拟网络。
$FrontendAddressPrefix=“10.0.1.0/24”
$BackendAddressPrefix=“10.0.2.0/24”
$vnetAddressPrefix=“10.0.0.0/16”
$frontendSubnet=New-AzureRmVirtualNetworkSubnetConfig -Name frontendSubnet -AddressPrefix $FrontendAddressPrefix
$backendSubnet=New-AzureRmVirtualNetworkSubnetConfig -Name backendSubnet -AddressPrefix $BackendAddressPrefix
New-AzureRmVirtualNetwork -Name TestNet -ResourceGroupName $rgName -Location $locName -AddressPrefix $vnetAddressPrefix -Subnet $frontendSubnet,$backendSubnet
例如:
$frontendSubnet=New-AzureRmVirtualNetworkSubnetConfig -Name frontendSubnet -AddressPrefix $FrontendAddressPrefix $backendSubnet=New-AzureRmVirtualNetworkSubnetConfig -Name backendSubnet -AddressPrefix $BackendAddressPrefix New-AzureRmVirtualNetwork -Name TestNet -ResourceGroupName $rgName -Location $locName -AddressPrefix $vnetAddressPrefix -Subnet $frontendSubnet,$backendSubnet <!--NeedCopy-->
-
创建 NIC
创建一个 NIC 并将该 NIC 与 NetScaler VPX 实例相关联。 上述过程中创建的前端子网索引编号为 0,后端子网索引编号为 1。 现在采用以下三种方式之一创建 NIC:
a) 使用公用 IP 地址创建 NIC
$nicName="<name of the NIC of the VM>"
$pip = New-AzureRmPublicIpAddress -Name $nicName -ResourceGroupName $rgName -Location $locName -AllocationMethod Dynamic
$nic = New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $locName -SubnetId $vnet.Subnets[$subnetIndex].Id -PublicIpAddressId $pip.Id
b) 使用公用 IP 和 DNS 标签创建 NIC
$nicName="<name of the NIC of the VM>"
$domName="<domain name label>"
$pip = New-AzureRmPublicIpAddress -Name $nicName -ResourceGroupName $rgName -DomainNameLabel $domName -Location $locName -AllocationMethod Dynamic
分配 $domName 之前,请使用以下命令检查其是否可用:
Test-AzureRmDnsAvailability -DomainQualifiedName $domName -Location $locName
$nic = New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $locName -SubnetId $vnet.Subnets[$subnetIndex].Id -PublicIpAddressId $pip.Id
例如:
$nicName="frontendNIC" $domName="vpxazure" $pip = New-AzureRmPublicIpAddress -Name $nicName -ResourceGroupName $rgName -DomainNameLabel $domName -Location $locName -AllocationMethod Dynamic $nic = New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $locName -SubnetId $vnet.Subnets\[0\].Id -PublicIpAddressId $pip.Id <!--NeedCopy-->
c) 使用动态公用地址和静态专用 IP 地址创建 NIC
请确保您添加到 VM 的专用(静态)IP 地址的范围必须与指定的子网的范围相同。
$nicName="<name of the NIC of the VM>"
$staticIP="<available static IP address on the subnet>"
$pip = New-AzureRmPublicIpAddress -Name $nicName -ResourceGroupName $rgName -Location $locName -AllocationMethod Dynamic
$nic = New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $locName -SubnetId $vnet.Subnets[$subnetIndex].Id -PublicIpAddressId $pip.Id -PrivateIpAddress $staticIP
-
创建虚拟对象
$vmName="<VM name>"
$vmSize="<VM size string>"
$avSet=Get-AzureRmAvailabilitySet -Name $avName -ResourceGroupName $rgName
$vm=New-AzureRmVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetId $avset.Id
-
获取 NetScaler VPX 图片
$pubName="<Image publisher name>"
$offerName="<Image offer name>"
$skuName="<Image SKU name>"
$cred=Get-Credential -Message "Type the name and password of the local administrator account."
提供用于登录 VPX 的凭据
$vm=Set-AzureRmVMOperatingSystem -VM $vm -Linux -ComputerName $vmName -Credential $cred -Verbose
$vm=Set-AzureRmVMSourceImage -VM $vm -PublisherName $pubName -Offer $offerName -Skus $skuName -Version "latest"
$vm=Add-AzureRmVMNetworkInterface -VM $vm -Id $nic.Id
例如:
$pubName="citrix"
以下命令用于显示 Citrix 提供的所有产品/服务:
Get-AzureRMVMImageOffer -Location $locName -Publisher $pubName | Select Offer $offerName="netscalervpx110-6531" <!--NeedCopy-->
以下命令用于获知发布者提供的 SKU 的特定产品/服务名称:
Get-AzureRMVMImageSku -Location $locName -Publisher $pubName -Offer $offerName | Select Skus
-
创建虚拟机
$diskName="<name identifier for the disk in Azure storage, such as OSDisk>"
例如:
$diskName="dynamic" $pubName="citrix" $offerName="netscalervpx110-6531" $skuName="netscalerbyol" $storageAcc=Get-AzureRmStorageAccount -ResourceGroupName $rgName -Name $saName $osDiskUri=$storageAcc.PrimaryEndpoints.Blob.ToString() + "vhds/" + $diskName + ".vhd" $vm=Set-AzureRmVMOSDisk -VM $vm -Name $diskName -VhdUri $osDiskUri -CreateOption fromImage <!--NeedCopy-->
基于应用商店中提供的映像创建 VM 时,请使用以下命令指定 VM 计划:
Set-AzureRmVMPlan -VM $vm -Publisher $pubName -Product $offerName -Name $skuName
New-AzureRmVM -ResourceGroupName $rgName -Location $locName -VM $vm
在高可用性设置中使用 Azure 外部负载均衡器配置 NetScaler VPX 对
使用您的 Azure 用户凭据登录 AzureRmAccount。
-
创建资源组
此处指定的位置是该资源组中的资源的默认位置。 请确保用于创建负载均衡器的所有命令均使用同一资源组。
$rgName="<resource group name>"
$locName="<location name, such as West US>"
New-AzureRmResourceGroup -Name $rgName -Location $locName
例如:
$rgName = "ARM-LB-NS" $locName = "West US" New-AzureRmResourceGroup -Name $rgName -Location $locName <!--NeedCopy-->
-
创建存储帐户
为您的存储帐户选择仅包含小写字母和数字的唯一名称。
$saName="<storage account name>"
$saType="<storage account type>"
,指定一个:Standard_LRS
、Standard_GRS
、Standard_RAGRS
或Premium_LRS
New-AzureRmStorageAccount -Name $saName -ResourceGroupName $rgName -Type $saType -Location $locName
例如:
$saName="vpxstorage" $saType="Standard_LRS" New-AzureRmStorageAccount -Name $saName -ResourceGroupName $rgName -Type $saType -Location $locName <!--NeedCopy-->
-
创建可用性集
配置了可用性集的负载均衡器可确保您的应用程序始终可用。
$avName="<availability set name>"
New-AzureRmAvailabilitySet -Name $avName -ResourceGroupName $rgName -Location $locName
-
创建虚拟网络
如果以前未创建子网,请添加一个至少包含一个子网的新虚拟网络。
$vnetName = "LBVnet" $FrontendAddressPrefix="10.0.1.0/24" $BackendAddressPrefix="10.0.2.0/24" $vnetAddressPrefix="10.0.0.0/16" $frontendSubnet=New-AzureRmVirtualNetworkSubnetConfig -Name frontendSubnet -AddressPrefix $FrontendAddressPrefix $backendSubnet=New-AzureRmVirtualNetworkSubnetConfig -Name backendSubnet -AddressPrefix $BackendAddressPrefix $vnet=New-AzureRmVirtualNetwork -Name $vnetName -ResourceGroupName $rgName -Location $locName -AddressPrefix $vnetAddressPrefix -Subnet $frontendSubnet,$backendSubnet <!--NeedCopy-->
注意:
根据您的要求选择 AddressPrefix 参数值。
为您在此步骤前面创建的虚拟网络分配前端和后端子网。
如果前端子网是阵列 VNet 的第一个元素,则 subnetId 必须为 $vnet.Subnets[0].Id。
如果前端子网是阵列中的第二个元素,则 subnetId 必须为 $vnet.Subnets[1].Id,依此类推。
-
配置前端 IP 地址并创建后端地址池
配置前端 IP 地址用于传入负载均衡器网络流量,并创建后端地址池用于接收负载平衡的流量。
$pubName="PublicIp1" $publicIP1 = New-AzureRmPublicIpAddress -Name $pubName -ResourceGroupName $rgName -Location $locName -AllocationMethod Static -DomainNameLabel nsvpx <!--NeedCopy-->
注意:
检查 DomainNameLabel 的值是否可用。
$FIPName = "ELBFIP" $frontendIP1 = New-AzureRmLoadBalancerFrontendIpConfig -Name $FIPName -PublicIpAddress $publicIP1 $BEPool = "LB-backend-Pool" $beaddresspool1= New-AzureRmLoadBalancerBackendAddressPoolConfig -Name $BEPool <!--NeedCopy-->
-
创建运行状况探测Create a health detector
创建使用端口 9000 且时间间隔为 5 秒的 TCP 运行状况探测。
$healthProbe = New-AzureRmLoadBalancerProbeConfig -Name HealthProbe -Protocol Tcp -Port 9000 -IntervalInSeconds 5 -ProbeCount 2 <!--NeedCopy-->
-
创建负载平衡规则
为您要进行负载平衡的每个服务创建 LB 规则。
例如:
可以使用以下示例对 HTTP 服务进行负载平衡。
$lbrule1 = New-AzureRmLoadBalancerRuleConfig -Name "HTTP-LB" -FrontendIpConfiguration $frontendIP1 -BackendAddressPool $beAddressPool1 -Probe $healthProbe -Protocol Tcp -FrontendPort 80 -BackendPort 80 <!--NeedCopy-->
-
创建入站 NAT 规则
为您不进行负载平衡的服务创建 NAT 规则。
例如,在创建 NetScaler VPX 实例的 SSH 访问权限时。
注意:
对于两个 NAT 规则,协议-前端端口-后端端口三元组不能相同。
$inboundNATRule1= New-AzureRmLoadBalancerInboundNatRuleConfig -Name SSH1 -FrontendIpConfiguration $frontendIP1 -Protocol TCP -FrontendPort 22 -BackendPort 22 $inboundNATRule2= New-AzureRmLoadBalancerInboundNatRuleConfig -Name SSH2 -FrontendIpConfiguration $frontendIP1 -Protocol TCP -FrontendPort 10022 -BackendPort 22 <!--NeedCopy-->
-
创建负载均衡器实体
通过将所有对象(NAT 规则、负载均衡器规则、探测配置)添加在一起来创建负载均衡器。
$lbName="ELB" $NRPLB = New-AzureRmLoadBalancer -ResourceGroupName $rgName -Name $lbName -Location $locName -InboundNatRule $inboundNATRule1, $inboundNATRule2 -FrontendIpConfiguration $frontendIP1 -LoadBalancingRule $lbrule1 -BackendAddressPool $beAddressPool1 -Probe $healthProbe <!--NeedCopy-->
-
创建 NIC
创建两个 NIC 并将每个 NIC 与各个 VPX 实例相关联
(a) 使用 VPX1 的 NIC1
例如:
$nicName="NIC1" $lbName="ELB" $bePoolIndex=0 \* Rule indexes starts from 0. $natRuleIndex=0 $subnetIndex=0 \* Frontend subnet index $lb=Get-AzureRmLoadBalancer -Name $lbName -ResourceGroupName $rgName $nic1=New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $locName -Subnet $vnet.Subnets\[$subnetIndex\] -LoadBalancerBackendAddressPool $lb.BackendAddressPools\[$bePoolIndex\] -LoadBalancerInboundNatRule $lb.InboundNatRules\[$natRuleIndex\] <!--NeedCopy-->
b) 使用 VPX2 的 NIC2
例如:
$nicName="NIC2" $lbName="ELB" $bePoolIndex=0 $natRuleIndex=1 \* Second Inbound NAT (SSH) rule we need to use `$subnetIndex=0 \* Frontend subnet index $lb=Get-AzureRmLoadBalancer -Name $lbName -ResourceGroupName $rgName $nic2=New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $locName -Subnet $vnet.Subnets\[$subnetIndex\] -LoadBalancerBackendAddressPool $lb.BackendAddressPools\[$bePoolIndex\] -LoadBalancerInboundNatRule $lb.InboundNatRules\[$natRuleIndex\] <!--NeedCopy-->
-
创建 NetScaler VPX 实例
创建两个 NetScaler VPX 实例作为相同资源组和可用性集的一部分,并将其附加到外部负载平衡器。
a) NetScaler VPX 实例 1
例如:
$vmName="VPX1" $vmSize="Standard\_A3" $pubName="citrix" $offerName="netscalervpx110-6531" $skuName="netscalerbyol" $avSet=Get-AzureRmAvailabilitySet -Name $avName -ResourceGroupName $rgName $vm1=New-AzureRmVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetId $avset.Id $cred=Get-Credential -Message "Type Credentials which will be used to login to VPX instance" $vm1=Set-AzureRmVMOperatingSystem -VM $vm1 -Linux -ComputerName $vmName -Credential $cred -Verbose $vm1=Set-AzureRmVMSourceImage -VM $vm1 -PublisherName $pubName -Offer $offerName -Skus $skuName -Version "latest" $vm1=Add-AzureRmVMNetworkInterface -VM $vm1 -Id $nic1.Id $diskName="dynamic" $storageAcc=Get-AzureRmStorageAccount -ResourceGroupName $rgName -Name $saName $osDiskUri1=$storageAcc.PrimaryEndpoints.Blob.ToString() + "vhds1/" + $diskName + ".vhd" $vm1=Set-AzureRmVMOSDisk -VM $vm1 -Name $diskName -VhdUri $osDiskUri1 -CreateOption fromImage Set-AzureRmVMPlan -VM $vm1 -Publisher $pubName -Product $offerName -Name $skuName New-AzureRmVM -ResourceGroupName $rgName -Location $locName -VM $vm1 <!--NeedCopy-->
b) NetScaler VPX 实例 2
例如:
$vmName="VPX2" $vmSize="Standard\_A3" $avSet=Get-AzureRmAvailabilitySet -Name $avName -ResourceGroupName $rgName $vm2=New-AzureRmVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetId $avset.Id $cred=Get-Credential -Message " Type Credentials which will be used to login to VPX instance " $vm2=Set-AzureRmVMOperatingSystem -VM $vm2 -Linux -ComputerName $vmName -Credential $cred -Verbose $vm2=Set-AzureRmVMSourceImage -VM $vm2 -PublisherName $pubName -Offer $offerName -Skus $skuName -Version "latest" $vm2=Add-AzureRmVMNetworkInterface -VM $vm2 -Id $nic2.Id $diskName="dynamic" $storageAcc=Get-AzureRmStorageAccount -ResourceGroupName $rgName -Name $saName $osDiskUri1=$storageAcc.PrimaryEndpoints.Blob.ToString() + "vhds2/" + $diskName + ".vhd" $vm2=Set-AzureRmVMOSDisk -VM $vm2 -Name $diskName -VhdUri $osDiskUri1 -CreateOption fromImage Set-AzureRmVMPlan -VM $vm2 -Publisher $pubName -Product $offerName -Name $skuName New-AzureRmVM -ResourceGroupName $rgName -Location $locName -VM $vm2 <!--NeedCopy-->
-
配置虚拟机
两个 NetScaler VPX 实例启动后,使用 SSH 协议连接到这两个 NetScaler VPX 实例以配置虚拟机。
a) Active-Active:在两个 NetScaler VPX 实例的命令行上运行相同的配置命令集。
b) 主动-被动:在两个 NetScaler VPX 实例的命令行上运行此命令。
add ha node #nodeID <nsip of other NetScaler VPX>
在主动-被动模式下,仅在主节点上运行配置命令。
使用 Azure 内部负载均衡器在高可用性设置中配置 NetScaler VPX 对
使用您的 Azure 用户凭据登录 AzureRmAccount。
-
创建资源组
此处指定的位置是该资源组中的资源的默认位置。 请确保用于创建负载均衡器的所有命令均使用同一资源组。
$rgName="\<resource group name\>"
$locName="\<location name, such as West US\>"
New-AzureRmResourceGroup -Name $rgName -Location $locName
例如:
$rgName = "ARM-LB-NS" $locName = "West US" New-AzureRmResourceGroup -Name $rgName -Location $locName <!--NeedCopy-->
-
创建存储帐户
为您的存储帐户选择仅包含小写字母和数字的唯一名称。
$saName="<storage account name>"
$saType="<storage account type>"
,指定一个:Standard_LRS
、Standard_GRS
、Standard_RAGRS
或Premium_LRS
New-AzureRmStorageAccount -Name $saName -ResourceGroupName $rgName -Type $saType -Location $locName
例如:
$saName="vpxstorage" $saType="Standard_LRS" New-AzureRmStorageAccount -Name $saName -ResourceGroupName $rgName -Type $saType -Location $locName <!--NeedCopy-->
-
创建可用性集
配置了可用性集的负载均衡器可确保您的应用程序始终可用。
$avName="<availability set name>"
New-AzureRmAvailabilitySet -Name $avName -ResourceGroupName $rgName -Location $locName
-
创建虚拟网络
如果以前未创建子网,请添加一个至少包含一个子网的新虚拟网络。
$vnetName = "LBVnet" $vnetAddressPrefix="10.0.0.0/16" $FrontendAddressPrefix="10.0.1.0/24" $BackendAddressPrefix="10.0.2.0/24" $vnet=New-AzureRmVirtualNetwork -Name $vnetName -ResourceGroupName $rgName -Location $locName -AddressPrefix $vnetAddressPrefix -Subnet $frontendSubnet,$backendSubnet\` $frontendSubnet=New-AzureRmVirtualNetworkSubnetConfig -Name frontendSubnet -AddressPrefix $FrontendAddressPrefix $backendSubnet=New-AzureRmVirtualNetworkSubnetConfig -Name backendSubnet -AddressPrefix $BackendAddressPrefix <!--NeedCopy-->
注意:
根据您的要求选择 AddressPrefix 参数值。
为您在此步骤前面创建的虚拟网络分配前端和后端子网。
如果前端子网是阵列 VNet 的第一个元素,则 subnetId 必须为 $vnet.Subnets[0].Id。
如果前端子网是阵列中的第二个元素,则 subnetId 必须为 $vnet.Subnets[1].Id,依此类推。
-
创建后端地址池
$beaddresspool= New-AzureRmLoadBalancerBackendAddressPoolConfig -Name "LB-backend"
-
创建 NAT 规则
为您不进行负载平衡的服务创建 NAT 规则。
$inboundNATRule1= New-AzureRmLoadBalancerInboundNatRuleConfig -Name "Inboundnatrule1" -FrontendIpConfiguration $frontendIP -Protocol TCP -FrontendPort 3441 -BackendPort 3389 $inboundNATRule2= New-AzureRmLoadBalancerInboundNatRuleConfig -Name "RDP2" -FrontendIpConfiguration $frontendIP -Protocol TCP -FrontendPort 3442 -BackendPort 3389 <!--NeedCopy-->
根据您的要求使用前端端口和后端端口。
-
创建运行状况探测Create a health detector
创建使用端口 9000 且时间间隔为 5 秒的 TCP 运行状况探测。
$healthProbe = New-AzureRmLoadBalancerProbeConfig -Name "HealthProbe" " -Protocol tcp -Port 9000 -IntervalInSeconds 5 -ProbeCount 2 <!--NeedCopy-->
-
创建负载平衡规则
为您要进行负载平衡的每个服务创建 LB 规则。
例如:
可以使用以下示例对 HTTP 服务进行负载平衡。
$lbrule = New-AzureRmLoadBalancerRuleConfig -Name "lbrule1" -FrontendIpConfiguration $frontendIP -BackendAddressPool $beAddressPool -Probe $healthProbe -Protocol Tcp -FrontendPort 80 -BackendPort 80 <!--NeedCopy-->
根据您的要求使用前端端口和后端端口。
-
创建负载均衡器实体
通过将所有对象(NAT 规则、负载均衡器规则、探测配置)添加在一起来创建负载均衡器。
$NRPLB = New-AzureRmLoadBalancer -ResourceGroupName $rgname -Name "InternalLB" -Location $locName -FrontendIpConfiguration $frontendIP -InboundNatRule $inboundNATRule1,$inboundNatRule2 -LoadBalancingRule $lbrule -BackendAddressPool $beAddressPool -Probe $healthProbe <!--NeedCopy-->
-
创建 NIC
创建两个 NIC 并将每个 NIC 与各个 NetScaler VPX 实例相关联
$backendnic1= New-AzureRmNetworkInterface -ResourceGroupName $rgName -Name lb-nic1-be -Location $locName -PrivateIpAddress 10.0.2.6 -Subnet $backendSubnet -LoadBalancerBackendAddressPool $nrplb.BackendAddressPools\[0\] -LoadBalancerInboundNatRule $nrplb.InboundNatRules\[0\] <!--NeedCopy-->
此 NIC 用于 NetScaler VPX 1。 专用 IP 必须与添加的子网的专用 IP 位于同一子网。
$backendnic2= New-AzureRmNetworkInterface -ResourceGroupName $rgName -Name lb-nic2-be -Location $locName -PrivateIpAddress 10.0.2.7 -Subnet $backendSubnet -LoadBalancerBackendAddressPool $nrplb.BackendAddressPools\[0\] -LoadBalancerInboundNatRule $nrplb.InboundNatRules\[1\]. <!--NeedCopy-->
这个 NIC 适用于 NetScaler VPX 2。 根据您的要求,参数
Private IPAddress
可以有任何私有 IP。 -
创建 NetScaler VPX 实例
创建两个 VPX 实例作为相同资源组和可用性集的一部分,并将其附加到内部负载均衡器。
a) NetScaler VPX 实例 1
例如:
$vmName="VPX1" $vmSize="Standard\_A3" $avSet=Get-AzureRmAvailabilitySet -Name $avName -ResourceGroupName $rgName $vm1=New-AzureRmVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetId $avset.Id $cred=Get-Credential -Message "Type Credentials which will be used to login to VPX instance" $vm1=Set-AzureRmVMOperatingSystem -VM $vm1 -Linux -ComputerName $vmName -Credential $cred -Verbose $vm1=Set-AzureRmVMSourceImage -VM $vm1 -PublisherName $pubName -Offer $offerName -Skus $skuName -Version "latest" $vm1=Add-AzureRmVMNetworkInterface -VM $vm1 -Id $backendnic1.Id $diskName="dynamic" $storageAcc=Get-AzureRmStorageAccount -ResourceGroupName $rgName -Name $saName $osDiskUri1=$storageAcc.PrimaryEndpoints.Blob.ToString() + "vhds1/" + $diskName + ".vhd" $vm1=Set-AzureRmVMOSDisk -VM $vm1 -Name $diskName -VhdUri $osDiskUri1 -CreateOption fromImage Set-AzureRmVMPlan -VM $vm1 -Publisher $pubName -Product $offerName -Name $skuName New-AzureRmVM -ResourceGroupName $rgName -Location $locName -VM $vm1 <!--NeedCopy-->
b) NetScaler VPX 实例 2
例如:
$vmName="VPX2" $vmSize="Standard\_A3" $avSet=Get-AzureRmAvailabilitySet -Name $avName -ResourceGroupName $rgName $vm2=New-AzureRmVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetId $avset.Id $cred=Get-Credential -Message " Type Credentials which will be used to login to VPX instance " $vm2=Set-AzureRmVMOperatingSystem -VM $vm2 -Linux -ComputerName $vmName -Credential $cred -Verbose $vm2=Set-AzureRmVMSourceImage -VM $vm2 -PublisherName $pubName -Offer $offerName -Skus $skuName -Version "latest" $vm2=Add-AzureRmVMNetworkInterface -VM $vm2 -Id $backendnic2.Id $diskName="dynamic" $storageAcc=Get-AzureRmStorageAccount -ResourceGroupName $rgName -Name $saName $osDiskUri1=$storageAcc.PrimaryEndpoints.Blob.ToString() + "vhds2/" + $diskName + ".vhd" $vm2=Set-AzureRmVMOSDisk -VM $vm2 -Name $diskName -VhdUri $osDiskUri1 -CreateOption fromImage Set-AzureRmVMPlan -VM $vm2 -Publisher $pubName -Product $offerName -Name $skuName New-AzureRmVM -ResourceGroupName $rgName -Location $locName -VM $vm2 <!--NeedCopy-->
-
配置虚拟机
两个 NetScaler VPX 实例启动后,使用 SSH 协议连接到这两个 NetScaler VPX 实例以配置虚拟机。
a) Active-Active:在两个 NetScaler VPX 实例的命令行上运行相同的配置命令集。
b) 主动-被动:在两个 NetScaler VPX 实例的命令行上运行此命令。
add ha node #nodeID <nsip of other NetScaler VPX>
在主动-被动模式下,仅在主节点上运行配置命令。