关闭ServiceFabric集群过夜

10

我们正在开发一款处理Excel文件并输出结果的应用程序,可用性要求不高。

我们是否可以在晚上关闭虚拟机集群,在早上再次开启?这种设置是否适用于服务布局?如果适用,是否有一种可以进行计划安排的方法?


2
你看到了这个类似的问题吗?http://stackoverflow.com/questions/34365409/deleting-a-service-fabric-cluster - LoekD
谢谢提供资源。但这并没有解释我是否可以暂停/停止-重启集群以节省费用。 - Avinash Gadiraju
你不能这样做。你只能停用整个集合,因为成本仅基于底层资源,如虚拟机和负载均衡器。因此,删除实际上就是你的答案。 - Structed
4个回答

15

感谢大家的回复。我有机会与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比例集和SF集群资源,同时保留网络、负载均衡器、存储帐户等。

Q)是否有更好的方法停止/启动VM而不是直接从比例集中进行?

如果您想要停止VM以节省成本,则直接从比例集开始/停止VM是唯一的选择。

问) 我们能够使用最便宜的虚拟机进行主要设置,然后再添加一组强大的虚拟机作为辅助集以便随时开启或关闭吗?

是的,绝对可以创建两种节点类型:一个小/便宜的主要节点和一个更大型的“工作节点”,并在应用程序中设置放置约束,只将其部署到那些更大型的VM上。但是,如果您的Service Fabric服务正在存储状态,那么您仍将遇到类似的问题,即一旦您失去工作VM的法定人数(少于3个副本/节点),则无法保证您的SF服务本身将以所有维护的状态返回。在这种情况下,您的集群本身仍将正常运行,因为主节点正在运行,但是您的服务状态可能处于未知的复制状态。

我认为您有几个选择:

  1. 不要将状态存储在Service Fabric的可靠集合中,而是将其存储在外部存储(如Azure Storage或SQL Azure)中。您可以选择使用像Redis缓存或Service Fabric的可靠集合等内容来维护更快的读取缓存,只需确保所有写入都被持久化到外部存储即可。这样,您可以随时自由地删除和重新创建集群。
  2. 使用Service Fabric备份/恢复以维护状态,并在晚上删除整个资源组或集群,然后在早上重新创建它并恢复状态。备份/恢复时间将完全取决于您存储多少数据以及将备份导出到何处。
  3. 利用Azure Batch等内容。 Service Fabric并不是一个临时的高容量计算平台,可以经常启动和停止,因此如果您的目标是这样的话,您可能需要看看像Azure Batch这样的HPC平台,它提供了原生的能力来快速扩展计算能力。

3
不可以。您需要删除集群,重新创建这个集群,并在早上部署应用程序。

2

实际上,如果选择耐久计划为“青铜”,最小可以是3个节点。 - Structed
使用3个节点被视为测试集群。从5个(甚至4个)节点开始,它被视为生产集群。在选择3个节点时,portal.azure会发出此警告。 - Martin
当然可以。但是,OP要求提供最小化成本的选项。这是其中一种选项,它不需要您删除集群,并且显然在晚上那段时间内不需要稳定性。 - Structed

0

为了开发目的,您可以创建一个Dev/Test Lab Service Fabric cluster,您可以随意启动和停止。

我也能够通过启动和停止与这些群集相关联的VM规模集来启动和停止Azure上的SF群集。 但是,在重新启动后,所有应用程序(以及它们的状态)都会消失,必须重新部署。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接