Azure服务结构中的主节点和非主节点之间有什么区别?

Azure服务结构中的主节点和非主节点之间有什么区别?,azure,azure-service-fabric,Azure,Azure Service Fabric,我找不到任何说明主节点和非主节点之间的区别以及如何使用它们的特定文档。有人能解释一下吗?谢谢。没什么不同。不同节点类型的节点都共享服务结构集群的相同特征。它们都参与负载平衡等。 除了一件事:系统服务仅在主要节点类型的节点上运行: 主节点类型是系统服务运行的位置,因此您为其选择的VM SKU必须考虑您计划放入集群的总体峰值负载。这里有一个类比来说明我在这里的意思——把主要的淋巴结类型想象成你的肺,它为你的大脑提供氧气,因此如果大脑得不到足够的氧气,你的身体就会受损 节点类型的一个重要目的是将服务放

我找不到任何说明主节点和非主节点之间的区别以及如何使用它们的特定文档。有人能解释一下吗?谢谢。

没什么不同。不同节点类型的节点都共享服务结构集群的相同特征。它们都参与负载平衡等。 除了一件事:系统服务仅在主要节点类型的节点上运行:

主节点类型是系统服务运行的位置,因此您为其选择的VM SKU必须考虑您计划放入集群的总体峰值负载。这里有一个类比来说明我在这里的意思——把主要的淋巴结类型想象成你的肺,它为你的大脑提供氧气,因此如果大脑得不到足够的氧气,你的身体就会受损


节点类型的一个重要目的是将服务放置约束到特定的节点类型。例如,您可以有几种节点类型,一种使用具有更高cpu容量的VM,另一种侧重于内存量。您可以将内存资源匮乏的服务放在一种节点类型上,而将cpu密集型服务放在另一种节点类型上。

在这些情况下,具有多个节点类型非常有用:

您希望运行暴露于internet的服务&未暴露的服务。第一组将在连接到负载平衡器的节点类型VMS上运行,第二组将在不连接的缩放集上运行

您需要在高级硬件上为某些客户运行服务,在更便宜的硬件上进行试用。第一组将在具有大量CPU和RAM的节点上运行。第二个在较低的SKU上

您想要构建一个集群,该集群超过一个虚拟机可以容纳的最大节点数。 或者您需要动态添加比例集,以支持巨大的增长

并且:主节点运行您的系统服务,而辅助节点不运行。

如果您将服务结构与其他编排工具(如Kubernetes)进行比较,您会注意到集群定义方式上的一个小差异

Kubernetes使用Master来托管群集管理服务,Minion来托管应用程序服务容器。在1.1版之前,不可能在主机上运行容器,因为它认为主机应该隔离,以避免与运行在主机上的容器冲突,比如消耗太多内存、磁盘、cpu等等

在服务结构上,这有点不同。当您定义as时,它在集群内的意思是,此节点类型将负责承载控制集群健康状况、业务流程等所需的服务结构管理服务

当您通过Azure Portal部署集群时,根据您选择的耐久性层青铜、银、金,它将需要主节点类型上一定数量的节点,以保持集群管理正常。对于生产工作负载,5个节点是主节点类型或非主节点类型的最小建议大小,其中包含有状态工作负载。支持的最低使用VM SKU为标准D1或标准D1_V2

主节点类型有一个陷阱,不支持更改VMS Sku大小,您可以自行承担风险,但这会导致灾难,因为失去管理服务的风险太高

非主节点类型,除了上面提到的这些之外,没有其他的总体区别。所有节点类型都将有一个VMS和一个LoadBalancer,其中一个域能够配置访问规则。所有节点类型将限制为100个节点

与Kubernetes相比,SF没有添加任何约束来阻止您在主节点上与管理服务一起部署服务,每个节点都是包括主节点在内的资源池的一部分。因此,默认行为是在每个可用节点上部署应用程序,而不管节点类型如何


当您计划100多个节点的更大集群时,您必须考虑到这一点,并将您的主节点类型与工作负载隔离,并消除对管理服务节点的压力。

谢谢!我还了解了如何将应用程序/服务映射为在特定节点类型上运行。