你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
为 Service Fabric 群集打开端口
使用 Azure Service Fabric 群集部署的负载均衡器将流量定向到在节点上运行的应用。 如果将应用更改为使用另一端口,必须在 Azure 负载均衡器中公开该端口(或路由另一端口)。
将 Service Fabric 群集部署到 Azure 后,系统会自动创建负载均衡器。 如果没有负载均衡器,请参阅配置面向 Internet 的负载均衡器。
注意
建议使用 Azure Az PowerShell 模块与 Azure 交互。 若要开始,请参阅安装 Azure PowerShell。 若要了解如何迁移到 Az PowerShell 模块,请参阅 将 Azure PowerShell 从 AzureRM 迁移到 Az。
配置 Service Fabric
Service Fabric 应用程序 ServiceManifest.xml 配置文件定义应用程序应使用的终结点。 更新配置文件以定义终结点后,必须更新负载均衡器,公开该(或其他)端口。 有关如何创建 Service Fabric 终结点的详细信息,请参阅设置终结点。
创建负载均衡器规则
负载均衡器规则可打开面向 Internet 的端口,并将流量转发至应用程序所用的内部节点的端口。 如果没有负载均衡器,请参阅配置面向 Internet 的负载均衡器。
要创建负载均衡器规则,需要收集以下信息:
- 负载均衡器名称。
- 负载均衡器和 Service Fabric 群集的资源组。
- 外部端口。
- 内部端口。
Azure CLI
使用单个命令即可使用 Azure CLI 创建负载均衡器规则。 你只需知道用于创建新规则的负载均衡器和资源组的名称。
注意
如果需要确定负载均衡器的名称,可使用此命令来快速获取所有负载均衡器和关联资源组的列表。
az network lb list --query "[].{ResourceGroup: resourceGroup, Name: name}"
az network lb rule create --backend-port 40000 --frontend-port 39999 --protocol Tcp --lb-name LB-svcfab3 -g svcfab_cli -n my-app-rule
Azure CLI 命令具有下表中所述的几个参数:
参数 | 说明 |
---|---|
--backend-port |
Service Fabric 应用程序正在侦听的端口。 |
--frontend-port |
负载均衡器针对外部连接公开的端口。 |
-lb-name |
要更改的负载均衡器的名称。 |
-g |
同时包含负载均衡器与 Service Fabric 群集的资源组。 |
-n |
所需的规则名称。 |
注意
有关如何使用 Azure CLI 创建负载均衡器的详细信息,请参阅使用 Azure CLI 创建负载均衡器。
PowerShell
PowerShell 比 Azure CLI 稍显复杂。 请按照这些概念步骤操作,创建规则:
- 从 Azure 中获取负载均衡器。
- 创建规则。
- 将规则添加到负载均衡器。
- 更新负载均衡器。
注意
如果需要确定负载均衡器的名称,可使用此命令来快速获取所有负载均衡器和关联资源组的列表。
Get-AzLoadBalancer | Select Name, ResourceGroupName
# Get the load balancer
$lb = Get-AzLoadBalancer -Name LB-svcfab3 -ResourceGroupName svcfab_cli
# Create the rule based on information from the load balancer.
$lbrule = New-AzLoadBalancerRuleConfig -Name my-app-rule7 -Protocol Tcp -FrontendPort 39990 -BackendPort 40009 `
-FrontendIpConfiguration $lb.FrontendIpConfigurations[0] `
-BackendAddressPool $lb.BackendAddressPools[0] `
-Probe $lb.Probes[0]
# Add the rule to the load balancer
$lb.LoadBalancingRules.Add($lbrule)
# Update the load balancer on Azure
$lb | Set-AzLoadBalancer
对于 New-AzLoadBalancerRuleConfig
命令,-FrontendPort
表示负载均衡器针对外部连接公开的端口,而 -BackendPort
表示 Service Fabric 应用正在侦听的端口。
注意
有关如何使用 PowerShell 创建负载均衡器的详细信息,请参阅使用 PowerShell 创建负载均衡器。
后续步骤
详细了解 Service Fabric 中的网络。