创建在 Windows Server 上运行的独立群集

可以使用 Azure Service Fabric 在运行 Windows Server 的任何虚拟机或计算机上创建 Service Fabric 群集。 这意味着,可以在包含一组相互连接的 Windows Server 计算机的任何环境(无论是本地环境还是任何云提供商所提供的环境)中部署和运行 Service Fabric 应用程序。 Service Fabric 提供了一个安装程序包,用于创建名为“Windows Server 独立包”的 Service Fabric 群集。

本文逐步讲解如何创建 Service Fabric 独立群集。

Note

此独立的 Windows Server 包已经可供购买,并且可用于生产部署。 此包可能包含“预览”形式的新 Service Fabric 功能。 向下滚动到 此包中包括的预览功能 预览功能列表部分。 可以立即 下载一份 EULA

获取用于 Windows Server 的 Service Fabric 包的支持

下载用于 Windows Server 的 Service Fabric 包

若要创建群集,请使用可在此处找到的用于 Windows Server 的 Service Fabric 包(Windows Server 2012 R2 和更高版本):
下载链接 - Service Fabric 独立包 - Windows Server

此处查找有关包内容的详细信息。

创建群集时,会自动下载 Service Fabric 运行时包。 如果从未连接到 Internet 的计算机进行部署,请从此处下载带外的运行时包:
下载链接 - Service Fabric 运行时 - Windows Server

在此处查找独立群集配置示例:
独立群集配置示例

创建群集

可以使用示例中包含的 ClusterConfig.Unsecure.DevCluster.json 文件将 Service Fabric 部署到单机开发群集。

将独立包解压缩到计算机,将示例配置文件复制到本地计算机,并通过管理员 PowerShell 会话从独立包文件夹运行 CreateServiceFabricCluster.ps1 脚本:

步骤 1A:创建不受保护的本地开发群集

.\CreateServiceFabricCluster.ps1 -ClusterConfigFilePath .\ClusterConfig.Unsecure.DevCluster.json -AcceptEULA

有关故障排除的详细信息,请参阅计划和准备群集部署中的环境设置部分。

如果已完成运行开发方案,则可以引用“删除群集”部分的步骤,从计算机中删除 Service Fabric 群集。

步骤 1B:创建多机群集

在完成下面链接中详述的计划和准备步骤后,就可以使用群集配置文件创建生产群集。
计划和准备群集部署

  1. 从独立包文件夹中运行 TestConfiguration.ps1 脚本,以验证写入的配置文件:

    .\TestConfiguration.ps1 -ClusterConfigFilePath .\ClusterConfig.json
    

    可看到如下输出: 如果底部字段“Passed”的返回值为“True”,那么已通过完整性检查,并且根据输入配置群集看似可以部署。

    Trace folder already exists. Traces will be written to existing trace folder: C:\temp\Microsoft.Azure.ServiceFabric.WindowsServer\DeploymentTraces
    Running Best Practices Analyzer...
    Best Practices Analyzer completed successfully.
    
    LocalAdminPrivilege        : True
    IsJsonValid                : True
    IsCabValid                 : True
    RequiredPortsOpen          : True
    RemoteRegistryAvailable    : True
    FirewallAvailable          : True
    RpcCheckPassed             : True
    NoConflictingInstallations : True
    FabricInstallable          : True
    Passed                     : True
    
  2. 创建群集:运行 CreateServiceFabricCluster.ps1 脚本,以便在配置中的每台计算机上部署 Service Fabric 群集。

    .\CreateServiceFabricCluster.ps1 -ClusterConfigFilePath .\ClusterConfig.json -AcceptEULA
    

Note

部署跟踪已写入运行 CreateServiceFabricCluster.ps1 PowerShell 脚本的 VM/计算机。 可在运行脚本的目录中的子文件夹 DeploymentTraces 中找到这些信息。 要确定是否已将 Service Fabric 正确部署到计算机,请根据群集配置文件 FabricSettings 部分中的详述找到 FabricDataRoot 目录(默认为 c:\ProgramData\SF)中安装的文件。 在任务管理器中也可以看到 FabricHost.exe 和 Fabric.exe 进程正在运行。

步骤 1C:创建脱机(Internet 断开)群集

创建群集时自动下载 Service Fabric 运行时包。 将群集部署到未连接 Internet 的计算机时,需要单独下载 Service Fabric 运行时包,并在创建群集时提供指向它的路径。 运行时包可从另一台连接到 Internet 的计算机单独下载:下载链接 - Service Fabric 运行时 - Windows Server。 将运行时包复制到部署脱机群集的位置,并通过运行 CreateServiceFabricCluster.ps1-FabricRuntimePackagePath 参数创建群集,如下所示:

.\CreateServiceFabricCluster.ps1 -ClusterConfigFilePath .\ClusterConfig.json -FabricRuntimePackagePath .\MicrosoftAzureServiceFabric.cab

其中 .\ClusterConfig.json.\MicrosoftAzureServiceFabric.cab 分别是群集配置和运行时 .cab 文件的路径。

步骤 2:连接到群集

若要连接到安全群集,请参阅 Service Fabric 连接到安全群集

若要连接到非安全群集,请运行以下 PowerShell 命令:

Connect-ServiceFabricCluster -ConnectionEndpoint <*IPAddressofaMachine*>:<Client connection end point port>

示例:

Connect-ServiceFabricCluster -ConnectionEndpoint 192.13.123.2345:19000

步骤 3:打开 Service Fabric Explorer

现在可以通过 Service Fabric Explorer 连接到群集,既可以直接从装有 http://localhost:19080/Explorer/index.html 的某台计算机进行连接,也可以通过 http://<IPAddressofaMachine>:19080/Explorer/index.html 进行远程连接。

添加和删除节点

当业务需要改变时,可以向独立 Service Fabric 群集添加或删除节点。 参阅向 Service Fabric 独立群集添加或删节点以了解详细步骤。

删除群集

若要删除群集,请运行包文件夹中的 RemoveServiceFabricCluster.ps1 Powershell 脚本,并传入 JSON 配置文件的路径。 可以选择性地指定删除日志的位置。

可以在对群集配置文件中列为节点的所有计算机具有管理员访问权限的任何计算机上运行此脚本。 运行此脚本的计算机不必要是群集的一部分。

# Removes Service Fabric from each machine in the configuration
.\RemoveServiceFabricCluster.ps1 -ClusterConfigFilePath .\ClusterConfig.json -Force
# Removes Service Fabric from the current machine
.\CleanFabric.ps1

收集的遥测数据以及如何选择禁用遥测

默认情况下,本产品会收集有关 Service Fabric 使用情况的遥测数据来改善自身。 在安装过程中运行的最佳做法分析器将检查能否连接到 https://vortex.data.microsoft.com/collect/v1。 如果无法连接,安装会失败,除非选择禁用遥测。

  1. 遥测管道每天都会尝试一次将以下数据上传到 https://vortex.data.microsoft.com/collect/v1。 这是一种尽力而为的上传操作,不会影响群集功能。 遥测数据只会从运行主要故障转移管理器的节点发送。 其他节点都不会发送遥测数据。
  2. 遥测数据由以下内容组成:
  • 服务数目
  • ServiceTypes 数目
  • Applications 数目
  • ApplicationUpgrades 数目
  • FailoverUnits 数目
  • InBuildFailoverUnits 数目
  • UnhealthyFailoverUnits 数目
  • Replicas 数目
  • InBuildReplicas 数目
  • StandByReplicas 数目
  • OfflineReplicas 数目
  • CommonQueueLength
  • QueryQueueLength
  • FailoverUnitQueueLength
  • CommitQueueLength
  • Nodes 数目
  • IsContextComplete: True/False
  • ClusterId:为每个群集随机生成的 GUID。
  • ServiceFabricVersion
  • 从其上传遥测数据的虚拟机或计算机的 IP 地址

若要禁用遥测,请将以下内容添加到群集配置中的属性enableTelemetry: false

此包中包括的预览功能

无。

Note

适用于 Windows Server 的独立群集的新 GA 版本(版本 5.3.204.x)开始,可以将群集手动或自动升级到未来版本。 请参阅升级独立 Service Fabric 群集版本文档以获取详细信息。

后续步骤