注意:在对Service Fabric的节点做操作之前,请务必确认是否是种子节点(Seed Node)且当前节点的数量是否与SF的持久层要求的数量一致。

可靠性级别是 Service Fabric 群集资源的一个属性。 对于各个节点类型,此属性的配置必须相同。 该属性控制群集系统服务的复制因子,是群集资源级别的设置。
可靠性级别决定了主节点类型必须具有的节点数下限。 可靠性层可以采用以下值:

  • 白金:运行包含 7 个目标副本集和 9 个种子节点的系统服务。
  • 金:运行包含 7 个目标副本集和 7 个种子节点的系统服务。
  • 银:运行包含 5 个目标副本集和 5 个种子节点的系统服务。
  • 铜:运行包含 3 个目标副本集和 3 个种子节点的系统服务。

建议的最低可靠性级别为“银”级。

在使用Service Fabric的过程中,有时会遇见某个节点出现问题,一般情况下,SF集群被设计为高可用集群,当单个节点停机期间会有其他的节点来接管。但是有时候也需要把种子节点转移出去,当有这种需求的时候,可以参考一下步骤:

准备条件:

执行步骤:

一:确保node type下的虚机数量满足reliability tier的最低需求,并同时满足至少有一个以上的none-seed node

二:使用powershell 或者 sfctl 停用要移除的seed node (以_nt1vm_5为例)

# power shell
Disable-ServiceFabricNode -NodeName _nt1vm_5 -Intent RemoveNode -Force

# sfctl
sfctl node disable --node-name _nt1vm_5 --deactivation-intent RemoveNode

三:等待seed node状态由 ‘disabling’ 转换为 ‘disabled’

等待操作触发的cluster upgrade 完成,以及_nt1vm_5 转换为none-seed node

四:在VMSS界面直接移除对应的虚机 (运行在Linux上的Service Fabric Cluster不支持sfctl node transition命令)

五:使用powershell 或者 sfctl 移除node state

#power shell
Remove-ServiceFabricNodeState -NodeName "_nt1vm_5"
#sfctl
sfctl node remove-state --node-name _nt1vm_5

参考资料:

导致群集故障的随机故障:https://docs.azure.cn/zh-cn/service-fabric/service-fabric-disaster-recovery#random-failures-that-lead-to-cluster-failures

Service Fabric 具有种子节点的概念 。 种子节点可以维护基础群集的可用性。

种子节点可以与其他节点签署租约,在发生某些类型的故障时充当断路器,这样可确保群集保持启动状态。 如果随机故障删除了群集中的大部分种子节点并且无法快速将其恢复,则群集会自动关闭。 群集随后会发生故障。

在 Azure 中,Service Fabric 资源提供程序管理 Service Fabric 群集配置。 默认情况下,资源提供程序在主节点类型的容错域和升级域之间分配种子节点 。 如果将主节点类型标记为“银”或“金”级耐久性,则在通过缩减主节点类型或手动删除种子节点的方式删除种子节点时,群集会尝试从主节点类型的可用容量中提升另一个非种子节点。 如果你的可用容量少于群集可靠性级别对主节点类型的要求,则此尝试会失败。

在独立 Service Fabric 群集和 Azure 中,主节点类型是运行种子的节点类型。 定义主节点类型时,Service Fabric 会自动利用为每个系统服务创建最多九个种子节点和七个副本时提供的节点数。 如果一组随机故障同时导致其中的大部分副本关闭,则系统服务会进入仲裁丢失状态。 如果大部分种子节点丢失,群集会在不久之后关闭。

https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-best-practices-capacity-scaling#scaling-in

https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-cluster-capacity

https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-cluster-scale-in-out#manually-remove-vms-from-a-node-typevirtual-machine-scale-set

【Azure微服务 Service Fabric 】如何转移Service Fabric集群中的种子节点(Seed Node)的更多相关文章

  1. .NET Core微服务之路:基于Consul最少集群实现服务的注册与发现(二)

    重温Consul最少化集群的搭建  

  2. 如何使用Istio 1.6管理多集群中的微服务?

    假如你正在一家典型的企业里工作,需要与多个团队一起工作,并为客户提供一个独立的软件,组成一个应用程序.你的团队遵循微服务架构,并拥有由多个Kubernetes集群组成的广泛基础设施. 由于微服务分布在 ...

  3. docker swarm英文文档学习-8-在集群中部署服务

    Deploy services to a swarm在集群中部署服务 集群服务使用声明式模型,这意味着你需要定义服务的所需状态,并依赖Docker来维护该状态.该状态包括以下信息(但不限于): 应该运 ...

  4. 云计算之路-阿里云上-容器难容:容器服务故障以及自建 docker swarm 集群故障

    3月21日,由于使用阿里云服务器自建 docker swarm 集群的不稳定,我们将自建 docker swarm 集群上的所有应用切换阿里云容器服务 swarm 版(非swarm mode). 3月 ...

  5. 【Azure微服务 Service Fabric 】因证书过期导致Service Fabric集群挂掉(升级无法完成,节点不可用)

    问题描述 创建Service Fabric时,证书在整个集群中是非常重要的部分,有着用户身份验证,节点之间通信,SF升级时的身份及授权认证等功能.如果证书过期则会导致节点受到影响集群无法正常工作. 当 ...

  6. 【Azure微服务 Service Fabric 】Service Fabric中应用开启外部访问端口及微服务之间通过反向代理端口访问问题

    问题描述 1) 当成功的在Service Fabric集群中部署了应用后,如何来访问呢?如果是一个Web服务,它的URL又是什么呢? 2) 当Service Fabric集群中,服务之间如需要相互访问 ...

  7. 【Azure微服务 Service Fabric 】使用az命令创建Service Fabric集群

    问题描述 在使用Service Fabric的快速入门文档: 将 Windows 容器部署到 Service Fabric. 其中在创建Service Fabric时候,示例代码中使用的是PowerS ...

  8. 微服务应用新趋势:Service Mesh、AIOps和中台化

    微服务技术由于天生支持快速迭代.弹性扩展的特点,使企业能够在不确定性下提升发展速度及抗风险能力,受到了越来越多的关注.当前,云服务商纷纷试水微服务产品,最为典型的,当属推出轻舟微服务平台.剑指整个微服 ...

  9. Kubernetes集群中Service的滚动更新

    Kubernetes集群中Service的滚动更新 二月 9, 2017 0 条评论 在移动互联网时代,消费者的消费行为已经“全天候化”,为此,商家的业务系统也要保持7×24小时不间断地提供服务以满足 ...

随机推荐

  1. [LeetCode]301. 删除无效的括号(DFS)

    题目 题解 step1. 遍历一遍,维护left.right计数器,分别记录不合法的左括号.右括号数量. 判断不合法的方法? left维护未匹配左括号数量(增,减)(当left为0遇到右括号,则交由r ...

  2. Codeforces1131G Most Dangerous Shark

    Description Original Problem Chinese Translation 大概就是给你一个间隔为1的多米诺序列,推倒一个多米诺骨牌有个花费,求推倒所有多米诺骨牌的最小花费 So ...

  3. Linux实战(20):非docker部署ELK

    部署环境: Elasticsearch:7.5.2 Kibana:7.5.2 Logstash:7.5.2 filebeat:7.5.2 redis:最新版 部署方式:rpm+二进制包 使用架构 软件 ...

  4. Windows10数字权利永久激活教程

    很多人用Windows10系统,但是没有办法激活,这个教程一定会让你永久激活windows10系统(并非ksm)   打开设置,查看是否激活   如果激活的话,先退掉秘钥,在Windows power ...

  5. 使用spring mvc拦截器 会话失效处理

    import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import ...

  6. Typecho反序列化漏洞

    Typecho Typecho是一款快速建博客的程序,外观简洁,应用广泛.这次的漏洞通过install.php安装程序页面的反序列化函数,造成了命令执行,Typecho 1.1(15.5.12)之前的 ...

  7. [阅读笔记]Attention Is All You Need - Transformer结构

    Transformer 本文介绍了Transformer结构, 是一种encoder-decoder, 用来处理序列问题, 常用在NLP相关问题中. 与传统的专门处理序列问题的encoder-deco ...

  8. 普转提Day1

    T1 给定一个长度为N的序列,去掉其中连续的一部分使得剩下的部分没有重复元素. 很显然可以发现去掉的一部分只有三种情况:开头.中间.最后. 那么我们只需要枚举Hash就可以了.复杂度O(N^2). 不 ...

  9. IIS网站建立好后如何更改绑定IP或端口号

    写在前面的话 我们利用IIS建立网站的时候,一般都是设定好网站名称和物理地址,直接下一步建立完成了.正常访问都没问题,但如果我们这时候想要更改访问的IP或者端口号,打开了很多设置项就是没找到设置的地方 ...

  10. ksoap2-android的简单使用

    soap2-android 官网地址 https://simpligility.github.io/ksoap2-android/index.html 发行版本 https://oss.sonatyp ...