閱讀英文

共用方式為

部署每个 NodeType 一个子网的 Service Fabric 托管群集

自带虚拟网络方案中,Service Fabric 托管群集现在支持每个 NodeType 使用不同子网。 由于每个 NodeType 使用不同子网,客户可以将特定应用程序部署到特定子网,并通过网络安全组 (NSG) 规则利用流量管理。 客户可以通过这种配置加强部署的网络隔离。 此功能适用于主要 NodeType 和辅助 NodeType。

先决条件

为方案正确配置托管群集的网络。 在自带虚拟网络方案中,每个 NodeType 可以使用不同子网。 还可以根据需要自带 Azure 负载均衡器。 按照群集的相应步骤操作:

你需要在子网上配置 NSG 的规则,以允许来自 Service Fabric 资源提供程序 (SFRP) 的连接。 具体而言,必须允许 SFMC_AllowServiceFabricGatewayToSFRPSFMC_AllowServiceFabricGatewayToLB

SFMC_AllowServiceFabricGatewayToSFRP NSG 规则应采用以下形式:

规则 目标端口范围 协议 源地址前缀 目标地址前缀 Access
SFMC_AllowServiceFabricGatewayToSFRP 19000、19080 TCP ServiceFabric VirtualNetwork 允许

SFMC_AllowServiceFabricGatewayToLB NSG 规则应采用以下形式:

规则 目标端口范围 协议 源地址前缀 目标地址前缀 Access
SFMC_AllowServiceFabricGatewayToLB 任意 任意 AzureLoadBalancer VirtualNetwork 允许

有关 NSG 规则的 ARM 模板格式设置,请参阅“为 Service Fabric 托管群集配置网络设置”的“NSG 规则:SFMC_AllowServiceFabricGatewayToSFRP”部分作为示例。

每个 NodeType 一个子网仅适用于 Service Fabric API 版本 2022-10-01 preview 或更高版本。

注意事项和限制

  • 对于指定了 subnetId 的自带虚拟网络配置中的现有群集,启用每个 NodeType 一个子网将替代当前 NodeType 的现有值。
  • 对于新群集,客户需要在群集级别指定 useCustomVNet : true。 此设置指示群集使用自带虚拟网络,但子网在 NodeType 级别指定。 对于此类群集,不会在托管资源组中创建虚拟网络。 对于此类群集,NodeType 需要 subnetId 属性。

在 ARM 模板中包含 subnetId 属性

创建新的 NodeType 时,需要使用这个新的 subnetId 属性修改 ARM 模板。

{
  "apiVersion": "2022-10-01-preview",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "location": "[parameters('clusterLocation')]",
  "dependsOn": [
    "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
  ],
  "properties": {
    "isPrimary": false,
    "subnetId": "[parameters('nodeTypeSubnetId')]",
    "dataDiskSizeGB": "[parameters('dataDiskSizeGB')]",
    "vmImagePublisher": "[parameters('vmImagePublisher')]",
    "vmImageOffer": "[parameters('vmImageOffer')]",
    "vmImageSku": "[parameters('vmImageSku')]",
    "vmImageVersion": "[parameters('vmImageVersion')]",
    "vmSize": "[parameters('vmSize')]",
    "vmInstanceCount": "[parameters('vmInstanceCount')]"
  }
}

后续步骤