我们正在开发一个处理excel文件并吐出输出的应用程序。可用性不是一个大要求。
我们可以在晚上关闭VM设置并在早上再打开它们吗?这种设置是否适用于服务结构?如果是这样,有没有办法安排它?
答案 0 :(得分:8)
谢谢大家的回复。我有机会与Microsoft Azure代表交谈,并在此处记录对话,以供社区使用。
对初始问题的回复
Service Fabric群集必须维护最少数量的主节点类型,以便系统服务维持仲裁并确保群集的运行状况。您可以在https://azure.microsoft.com/en-gb/documentation/articles/service-fabric-cluster-capacity/处查看有关可靠性级别和实例计数的更多信息。因此,停止所有VM将导致Service Fabric群集进入仲裁丢失。通常可以重新启动节点,Service Fabric将自动从此仲裁丢失中恢复,但这不能保证,并且群集可能永远无法恢复。
但是,如果您不需要在群集中保存状态,则可能更容易每天删除并重新创建整个群集(整个Azure资源组)。通过部署新资源组从头开始创建新集群通常需要不到半小时,这可以通过使用Powershell部署ARM模板来实现。 https://azure.microsoft.com/en-us/documentation/articles/service-fabric-cluster-creation-via-arm/显示了如何设置ARM模板并使用Powershell进行部署。您还可以使用固定域名或静态IP地址,以便不必重新配置客户端以连接到群集。如果您需要维护其他资源(如存储帐户),则还可以将ARM模板配置为仅删除VM Scale Set和SF Cluster资源,同时保留网络,负载均衡器,存储帐户等。
问:是否有更好的方法来停止/启动虚拟机,而不是直接从规模集开始?
如果要停止虚拟机以节省成本,则直接从刻度集启动/停止虚拟机是唯一的选择。
问:我们可以使用我们能找到的最便宜的虚拟机进行主要设置,并添加具有强大虚拟机的辅助设备,我们可以打开和关闭它吗?
是的,绝对有可能创建两种节点类型 - 小型/便宜的主节点和更大的“工作者” - 并在应用程序上设置放置约束以仅部署到那些较大的VM。但是,如果您的Service Fabric服务正在存储状态,那么您仍然会遇到类似的问题,一旦您丢失了工作虚拟机的仲裁(低于3个副本/节点),那么无法保证您的SF服务本身将全部恢复国家维持。在这种情况下,由于主节点正在运行,您的群集本身仍然可以正常运行,但您的服务状态可能处于未知复制状态。
我认为你有几个选择:
答案 1 :(得分:3)
没有。您必须删除群集并重新创建群集并在早上部署应用程序。
答案 2 :(得分:2)
如托德所说,关闭群集不是一种选择。但是,您可以缩小群集中VM的数量。
在白天,您将运行所需的VM数量。在晚上,您可以缩小到最小值5.查看此页面,了解如何扩展VM集:https://azure.microsoft.com/en-us/documentation/articles/service-fabric-cluster-scale-up-down/
答案 3 :(得分:0)
出于开发目的,您可以创建一个可以随意启动和停止的 Dev/Test Lab Service Fabric cluster。
我还能够通过启动和停止与这些集群关联的 VM 规模集来启动和停止 Azure 上的 SF 集群。但是重新启动后,您的所有应用程序(以及它们的状态)都消失了,必须重新部署。