我找不到任何具体文档说明主节点和非主节点之间的区别以及它们的使用方式。有人可以阐明它吗?谢谢。
最佳答案
如果将 Service Fabric 与其他编排工具(例如 Kubernetes)进行比较,您会发现集群的定义方式存在细微差别。
Kubernetes 使用 Master 的概念来托管集群管理服务,使用 Minion 来托管应用程序服务(容器)。在版本 1.1 之前,不可能在 master 上运行容器,因为它的想法是 Master 应该被隔离,以避免与在其上运行的容器发生冲突,例如消耗过多的内存、磁盘、CPU 等。
在Service Fabric上,这有点不同。当您定义NodeType时如Primary ,这在集群内部意味着此 NodeType 将负责托管 Service Fabric 管理服务(控制集群运行状况、编排等所需的服务)。
当您通过 Azure 门户部署集群时,根据您选择的持久层(铜牌、银牌、金牌),主节点类型将需要一定数量的节点,以保持集群管理的健康。对于生产工作负载,对于包含有状态工作负载的“Primary NodeType”或“NonPrimary”,建议的最小大小为 5 个节点。支持的最低使用 VM SKU 为标准 D1 或标准 D1_V2。
主节点类型有一个问题,不支持更改 VMSS Sku(大小),您可以自行承担风险,但会导致灾难,因为失去管理服务的风险太高。
非主NodeType,除了上面提到的这些之外,总体上没有区别。所有 NodeType 都会有一个 VMSS 和一个 LoadBalancer(带有域),能够配置访问规则。所有 NodeType 的节点数限制为 100 个。
与 Kubernetes 相比,SF 不会添加任何限制来阻止您将服务与管理服务一起部署在主节点上,每个节点都是资源池的一部分(包括主节点)。因此,默认行为是在每个可用节点上部署应用程序,无论 NodeType 是什么。
当您规划更大的集群(100 多个节点)时,请务必考虑到这一点,并将主节点类型与工作负载隔离,并消除管理服务节点上的压力。
关于azure - Azure Service Fabric 中的主节点和非主节点有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50980769/