说明
Azure对内部的ILB配置介绍很粗略,在配置过程中必定会碰到一大堆的问题,总的来说配置过程需要通过微软的powshell配置,每个人的程度不同,并不适用于大部分用户。
现对配置过程稍作介绍。
前提:
- 登陆中国版Azure管理门户(https://manage.windowsazure.cn)
- 正常登陆中国版Azure管理门户后,在IE浏览器中新打开一个选项卡输入此地址(https://manage.windowsazure.cn/publishsettings/index?client=powershell) 按回车键,下载PublishSettingsFile文件到本地
打开Windows Azure PowerShell执行Import-AzurePublishSettingsFile ‘**.publishsettings’,将刚才下载的文件导入。我这里导入了两个账户,需要选择默认订阅。
PS C:> Get-AzureSubscription
SubscriptionId : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx1
SubscriptionName : Windows Azure Enterprise Trial(Converted to EA)
Environment : AzureChinaCloud
SupportedModes : AzureServiceManagement
DefaultAccount : 39ADA911695E3937B7FCAEA99763CD824419FE9
Accounts : {39ADA911695E3937B7FCAEEA9763CD824419FE9}
IsDefault : True
IsCurrent : True
CurrentStorageAccountName :
TenantId :SubscriptionId : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx2
SubscriptionName : Windows Azure 企业
Environment : AzureChinaCloud
SupportedModes : AzureServiceManagement
DefaultAccount : A86280BD8AC99388E424F45FBC6AB5AE7BF8B56
Accounts : {A86280BD8AC99388E424F4FB3C6AB5AE7BF8B56}
IsDefault : False
IsCurrent : False
CurrentStorageAccountName :
TenantId :
选择默认订阅
PS C:\> Select-AzureSubscription -SubscriptionName “Windows Azure 企业” –Default
警告: Current and Default parameters have been deprecated. Select-AzureSubscription will always update the Default
Subscription.
PS C:\> Get-AzureSubscription
SubscriptionId : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx1
SubscriptionName : Windows Azure Enterprise Trial(Converted to EA)
Environment : AzureChinaCloud
SupportedModes : AzureServiceManagement
DefaultAccount : 39ADA911695E3937B7FCAEEA99763CD824419FE9
Accounts : {39ADA911695E3937B7FCAEEA99763CD824419FE9}
IsDefault : False
IsCurrent : False
CurrentStorageAccountName :
TenantId :
SubscriptionId : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx2
SubscriptionName : Windows Azure 企业
Environment : AzureChinaCloud
SupportedModes : AzureServiceManagement
DefaultAccount : A86280BD8AC99388E424F45FB3C6AB5AE7BF8B56
Accounts : {A86280BD8AC99388E424F45FB3C6AB5AE7BF8B56}
IsDefault : True
IsCurrent : True
CurrentStorageAccountName :
TenantId :
对于现有云服务或在区域虚拟网络下部署的云服务,可以使用以下 Windows PowerShell 命令创建 ILB 实例:
|
|
配置:
PS C:\> $svc=”zz-cloud”
PS C:\> $ilb=”percona-ilb”
PS C:\> $subnet=”Subnet-1″
PS C:\> $IP=”10.0.0.101″
PS C:\> Add-AzureInternalLoadBalancer -ServiceName $svc -InternalLoadBalancerName $ilb –SubnetName $subnet –StaticVNetI
Address $IP
详细信息: 10:44:58 – Begin Operation: Add-AzureInternalLoadBalancer
详细信息: 10:45:36 – Completed Operation: Add-AzureInternalLoadBalancer
OperationDescription OperationId OperationStatus
——————– ———– —————
Add-AzureInternalLoadBalancer 11039dad-2785-4109-90d0-64801c998a48 Succeeded
对于现有虚拟机,可以使用以下命令将终结点添加到 ILB 实例
|
|
配置:
PS C:\> $svc=”zz-cloud”
PS C:\> $vmname=”vanelife-db1″
PS C:\> $epname=”mysql1″
PS C:\> $prot=”tcp”
PS C:\> $locport=3306
PS C:\> $pubport=3306
PS C:\> $ilb=”percona-ilb”
PS C:\> Get-AzureVM –ServiceName $svc –Name $vmname | Add-AzureEndpoint -Name $epname -Protocol $prot -LocalPort $locpo
t -PublicPort $pubport –DefaultProbe -InternalLoadBalancerName $ilb | Update-AzureVM
位于命令管道位置 2 的 cmdlet Add-AzureEndpoint
请为以下参数提供值:
(请键入 !? 以查看帮助。)
LBSetName: percona
详细信息: 10:46:08 – Completed Operation: Get Deployment
详细信息: 10:46:10 – Completed Operation: Get Deployment
详细信息: 10:46:10 – Begin Operation: Update-AzureVM
详细信息: 10:46:44 – Completed Operation: Update-AzureVM
OperationDescription OperationId OperationStatus
——————– ———– —————
Update-AzureVM 64d61c06-166b-41aa-b1ce-9b05b8b5f9b8 Succeeded
PS C:\> $svc=”zz-cloud”
PS C:\> $vmname=”vanelife-db2″
PS C:\> $epname=”mysql2″
PS C:\> $prot=”tcp”
PS C:\> $locport=3306
PS C:\> $pubport=3306
PS C:\> $ilb=”percona-ilb”
PS C:\> Get-AzureVM –ServiceName $svc –Name $vmname | Add-AzureEndpoint -Name $epname -Protocol $prot -LocalPort $locpo
t -PublicPort $pubport –DefaultProbe -InternalLoadBalancerName $ilb | Update-AzureVM
位于命令管道位置 2 的 cmdlet Add-AzureEndpoint
请为以下参数提供值:
(请键入 !? 以查看帮助。)
LBSetName: percona
详细信息: 10:47:04 – Completed Operation: Get Deployment
详细信息: 10:47:06 – Completed Operation: Get Deployment
详细信息: 10:47:06 – Begin Operation: Update-AzureVM
详细信息: 10:47:40 – Completed Operation: Update-AzureVM
OperationDescription OperationId OperationStatus
——————– ———– —————
Update-AzureVM 88589f9e-d5b2-4c10-b161-821b40223f4 Succeeded
PS C:\> $svc=”zz-cloud”
PS C:\> $vmname=”vanelife-db3″
PS C:\> $epname=”mysql3″
PS C:\> $prot=”tcp”
PS C:\> $locport=3306
PS C:\> $pubport=3306
PS C:\> $ilb=”percona-ilb”
PS C:\> Get-AzureVM –ServiceName $svc –Name $vmname | Add-AzureEndpoint -Name $epname -Protocol $prot -LocalPort $locpo
t -PublicPort $pubport –DefaultProbe -InternalLoadBalancerName $ilb | Update-AzureVM
位于命令管道位置 2 的 cmdlet Add-AzureEndpoint
请为以下参数提供值:
(请键入 !? 以查看帮助。)
LBSetName: percona
详细信息: 10:47:50 – Completed Operation: Get Deployment
详细信息: 10:47:52 – Completed Operation: Get Deployment
详细信息: 10:47:52 – Begin Operation: Update-AzureVM
详细信息: 10:48:25 – Completed Operation: Update-AzureVM
OperationDescription OperationId OperationStatus
——————– ———– —————
Update-AzureVM 6e7276dc-8f07-4e0e-a454-67cf1d7793e Succeeded
#如果你在创建 ILB 实例的过程中指定了 IP 地址,则你已有 VIP。否则,你可以使用以下命令查看 VIP:
|
|
PS C:\> Get-AzureService -ServiceName $svc | Get-AzureInternalLoadBalancer
详细信息: 10:48:36 – Begin Operation: Get-AzureService
详细信息: 10:48:37 – Completed Operation: Get-AzureService
详细信息: 10:48:38 – Begin Operation: Get-AzureInternalLoadBalancer
详细信息: 10:48:39 – Completed Operation: Get-AzureInternalLoadBalancer
InternalLoadBalancerName : percona-ilb
ServiceName : zz-cloud
DeploymentName : vanelife-App1
SubnetName : Subnet-1
IPAddress : 10.0.0.101
OperationDescription : Get-AzureInternalLoadBalancer
OperationId : 455eb594-d19b-4fc7-91d8-e14fac70cda
OperationStatus : Succeeded
这样内部的LB就配置完成了,VIP地址是10.0.0.101,负载均衡到Subnet-1的vanelife-db1,vanelife-db2,vanelife-db3的3台服务器上。