如何在本地数据中心安装Service Fabric for Windows集群

虽然Service Fabric的官方名称往往被加上Azure,但是实际上(估计很多人不知道)Service Fabric可以安装到本地数据中心或者任意公有云上,这不官方文档就有一章专门讲如何安装到AWS的内容。

所以现在为了区分,一般把在Azure上提供的开箱即用的PaaS称之为Azure Service Fabric,而把本地安装的称之为Service Fabric Standalone。

同时,Service Fabric既可部署到Windows Server上,也可以部署到Linux上。但是本文书写的时候,Linux版本只能使用Azure的,官方还没有发布本地版本安装包(但是未来一定会有)。所以本文也是仅限于Windows集群的内容。

在本地数据中心安装Service Fabric for Windows集群的时候,可能会受到如下限制的影响:

数据中心的服务器的网络是隔离的

数据中心的服务器是不能访问互联网的

环境准备

机器的准备,需要至少满足如下要求:

最少16G内存

最少40G硬盘空间

4核以上CPU

所有作为集群节点的机器在同一网段,互相可通

机器上安装Windows Server 2012 R2或Windows Server 2016,如果打算使用容器,那么建议使用Windows Server 1805,可以支持更加小的1805基容器镜像。

确保Windows安装了.NET FX 4.5.1以上

确保Windows具有PowerShell 3.0

在所有机器上确保运行RemoteRegistry服务

域环境和域账号:

在数据中心中应该有一个域控

创建一个普通域账号,比如:sfadmin

把集群机器加入到域中(机器名可以命名为SFNode-01、SFNode-XX等等),并把sfadmin添加到集群机器的本地管理员组

在域中创建一个机器组(全局安全组),比如:sfnodes,把所有集群机器都加到这个组中

虽然可以在某台集群机器上来运行Service Fabric的安装包,但是我建议单独使用一台操作机。操作机的准备:

可以使用如下操作系统:

Windows 7

Windows 8/Windows 8.1

Windows Server 2012 R2

Windows Server 2016

Windows 10

把操作机也加到域中

和集群机器在一个网段,或者能够访问到集群机器

启用PowerShell脚本执行权限:Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Force -Scope CurrentUser

安装Service Fabric SDK。由于操作机可能也无法正常互联网,那么可以通过下载离线包的方式来获取SDK。

安装包准备

Service Fabric for Windows的安装包分为两个部分:

Service Fabric Standalone Package - Windows Server,这个是安装程序。以下称之为安装包。

Service Fabric Runtime - Windows Server,这个是安装到集群机器上的运行时。以下称之为运行包。

先通过其他渠道下载这两个安装包,然后复制到内网环境。

在操作机上解压安装包的zip压缩包,比如解压到SFSetup文件夹。把运行包的cab压缩包也复制到SFSetup文件夹备用(不用解压)。

集群安装

首先,准备集群配置文件。

根据不同的安全配置和集群配置,安装包提供了多个配置文件模板,分别是:

ClusterConfig.gMSA.Windows.MultiMachine.json 依赖gMSA(Group Managed Service Account)安全机制的多机器集群

ClusterConfig.Unsecure.DevCluster.json 非安全开发集群

ClusterConfig.Unsecure.MultiMachine 非安全多机器集群

ClusterConfig.Unsecure.OneNode 非安全单节点集群

ClusterConfig.Windows.DevCluster 依赖Windows账号安全机制的开发集群

ClusterConfig.Windows.MultiMachine 依赖Windows账号安全机制的多机器集群

ClusterConfig.Windows.OneNode 依赖Windows账号安全机制的单节点集群

ClusterConfig.Windows.X509.DevCluster 客户端访问依赖Windows账号服务器访问依赖X509证书的开发集群

ClusterConfig.Windows.X509.MultiMachine 客户端访问依赖Windows账号服务器访问依赖X509证书的多机器集群

ClusterConfig.Windows.X509.OneNode 客户端访问依赖Windows账号服务器访问依赖X509证书的单节点集群

ClusterConfig.X509.DevCluster 依赖X509证书安全机制的开发集群

ClusterConfig.X509.MultiMachine 依赖X509证书安全机制的多机器集群

ClusterConfig.X509.OneNode 依赖X509证书安全机制的单节点集群

总结起来,Service Fabric for Windows支持非安全、Windows账号、组托管服务账号、X509证书和Windows账号+X509混合等5种安全模式。

个人建议选择Windows账号模型,因为准备工作要简单一些,成功的机率也大一些。如果一直报莫名其妙的错误,那么使用非安全模式大概率可以成功。在网络安全比较严格且机器加入域的情况下,非安全模式也是可以接受的。

以依赖Windows账号安全机制的多机器集群为例,复制一份ClusterConfig.Windows.MultiMachine.json文件,重命名为方便处理的名称,比如ThisClusterConfig.1.0.json。用诸如VSCode这样的编辑器打开这个json文件。编辑其中的nodes部分。主要是修改iPAddress为每台机器的机器名。ClusterIdentity填入机器组的名称sfnodes,Identity改为专用域账号的名称sfadmin。nodeTypes根据情况就暂时用一个或者自定义多个。

示例如下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpzdfs.html