我可以自定义azure service fabric vm节点吗?

Rud*_*dra 6 customization actor azure-service-fabric

我想在天蓝色服务结构中利用可靠的actor模型.我们的actor模型计算需要在vm节点上安装特定的软件.我是否可以在vm节点中安装自定义软件(在azure服务结构软件之上),以便我可以在actor模型计算中利用此软件?作为我的演员模型部署到azure服务结构的一部分,我可以将这个自定义软件安装到其中吗?这是怎么做的?或者还有其他方法吗?或者甚至可能吗?

Raghu/..

Chr*_*iss 9

您有多种选择:

在每台服务器上手动安装软件

如果您不经常更改服务器数量,并且您没有很多服务器,则可以只使用RDP进入每个服务器并手动安装软件.

在Service Fabric中将其作为单独的服务运行

正如JunRam所说,您可以在Service Fabric中运行guest虚拟机可执行文件.假设您的软件是一个没有安装程序的简单程序,您可以为它创建一个无状态服务包并将InstanceCount设置为-1.这意味着,服务将由Service Fabric放置在每个节点上.如果程序意外终止,Service Fabric将自动重新启动程序,并且当您向外扩展时它也会将程序放在新节点上.

使用虚拟机扩展

某些软件可以直接集成到虚拟机的ARM(Azure资源管理器)模板中.Azure Service Fabric的默认ARM模板使用此机制在每台服务器上自动安装"Azure诊断"代理和Service Fabric代理.要获取Service Fabric的ARM模板,您可以使用快速入门示例,使用Azure门户向导并在创建集群之前将其导出,将现有资源组导出为模板.

还有一个自定义脚本扩展,允许您运行CMD或PowerShell脚本.在这样的脚本中你可以使用例如Chocolatey,Boxstarter或手动安装你的程序.

此方法的优点是,它将软件作为基础架构部署的一部分进行安装,并在您扩展群集时自动在每个新节点上安装软件.

使用PowerShell DSC,Puppet,Chef等自动化工具

如果要安装的程序不能直接作为虚拟机扩展程序使用,并且无法使用"自定义脚本扩展"进行安装,则可以使用Azure自动化DSC(所需状态配置)自动在节点上安装其他软件.DSC需要虚拟机上的代理,该代理可用作虚拟机扩展.有一个基于ARM的模板,显示如何将扩展集成到虚拟机规模集中.您可以在Service Fabric ARM模板中包含此扩展,并重新部署它以在每个节点上安装扩展.

在此之后,您可以使用DSC 的Package功能来安装您的软件.

请注意,创建此解决方案可能需要相当长的时间.但是,PowerShell DSC是一个非常强大的系统,一旦安装,就可以在服务器管理方面提供更多可能性.

使用您自己的VM映像

您可以捕获上载虚拟机映像,并将其用作Service Fabric ARM模板的基本映像.如果您需要在服务器上执行无法轻松实现自动化的步骤,这可能很有用.