十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章主要介绍怎么在本地数据中心安装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根据情况就暂时用一个或者自定义多个。
示例如下:
对于非安全模式的集群,无非是去掉了security配置节而已。
接着,对配置文件进行测试。
在SFSetup文件夹上打开PowerShell,执行如下命令:
.\TestConfiguration.ps1 -ClusterConfigFilePath .\ThisClusterConfig.1.0.json
如果配置文件没有什么问题的话,会显示如下提示:
在内网环境下,IsCabValid应该会显示为False的,这个不用担心。
最后,基于配置文件创建集群。
继续在PS中执行如下命令:
.\CreateServiceFabricCluster.ps1 -ClusterConfigFilePath .\ThisClusterConfig.1.0.json –FabricRuntimePackagePath .\MicrosoftAzureServiceFabric.6.3.162.9494.cab
现在祈祷它能一次运行成功,如果5台机器的话,应该能在5分钟内成功。
提示成功后,通过输入如下命令来尝试连接集群的管理端口来进行验证:
Connect-ServiceFabricCluster -ConnectionEndpoint SFNode-01.contoso.com:19000
或者用浏览器打开管理后台:http://SFNode-01.contoso.com:19080/Explorer/index.html
如果你需要用Service Fabric来编排Windows Container的话,需要预先在集群机器上安装Docker。
由于内网环境的限制,安装Docker也会稍显麻烦。根据Docker.com的官方文档:https://docs.docker.com/install/windows/docker-ee/#use-a-script-to-install-docker-ee
可以通过命令启用Windows的容器支持:
(Install-WindowsFeature Containers).RestartNeeded
再下载docker的离线包到内网环境后按照步骤进行安装。
同时为了支持集群机器能够正常的获取Docker镜像,可以在内网环境运行一个Docker Registry作为私有镜像仓库供内部应用镜像的存放处,在外网运行一个Docker Registry作为公共镜像的Mirror,供私有仓库和集群机器使用。
以上是“怎么在本地数据中心安装Service Fabric for Windows集群”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!