开发者社区 > 云原生 > 正文

人为宕掉某台机器nacos在15分钟后清除原来的节点这期间两个节点都存在请问这个该怎解决呢?

问题一:“人为宕掉某台机器,由于k8s机制会自动创建pod节点,原来的节点为terminating状态,但是nacos大概在15分钟后才清除原来的节点,这个期间nacos两个pod节点都存在。”
请问nacos的这个问题你们是怎么解决的?
问题二:你们的这种场景是怎么解决的?

展开
收起
乐天香橙派 2023-07-09 15:21:00 251 0
4 条回答
写回答
取消 提交回答
  • 值得去的地方都没有捷径

    问题一:关于 "人为宕掉某台机器,由制动创建 Pod 节点,原来的 Terminating 状态,但是 大概在 15 分钟后才清除的节点个期间 N两个 Pod 节点都存在" 的需要说明以下几点:

    Nacos 本身没有直制 Pod 的,它是一个服务发现和心组件,不负接管理 Pod 的创建和删除。

    1. Pod 的,包括启动、监控和终止等。当您手掉某台机 会根据配置启的 Pod 来替换宕掉的机器上的3. 状态的 Pod 是处于程状态, 在处理删除会等待的操作。

      状态的 Pod理时间,在设置 的等待时间决此类问题。

    于 "你们种场怎么解决的",需要澄清我国产化提供的问题解决方案。实决方法可能因不环境、需技术栈 Kubernetes 官方文档、Nacos 社咨队,以获取针对您特定的解决方最佳实

    2023-07-11 15:28:23
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    nacos 节点的清除可能受多种因素影响,例如网络连接、数据同步等。针对您所描述的情况,在人为宕掉某台机器后,nacos 无法及时清除原来的节点,可能是由于数据同步延迟等原因导致的。为了解决这个问题,您可以考虑以下几点:

    缩短数据同步时间:可以通过调整 nacos 配置文件或者使用 nacos 客户端 API,将数据同步时间缩短到更短的时间间隔,以确保节点信息能够及时同步。

    增加节点数量:可以通过增加 nacos 节点的数量,以提高数据同步和容错能力,减少节点故障对系统的影响。

    监控节点状态:可以通过监控节点状态,及时发现和处理异常情况,以保障系统稳定运行。

    问题二:针对这种场景,一般可以采取以下措施:

    使用容器编排技术:可以使用容器编排技术,例如 Kubernetes、Docker Swarm 等,对应用进行部署和管理,提高系统的容错能力和可用性。在节点故障时,容器编排技术会自动将故障节点替换为新的节点,以保障系统的稳定运行。

    设计高可用架构:可以设计高可用架构,通过多节点部署、负载均衡等方式,提高系统的容错能力和可用性。在节点故障时,系统可以自动切换到其他节点,以保证服务的连续性和可靠性。

    2023-07-09 21:06:33
    赞同 展开评论 打赏
  • 针对问题一的回答:我们的问题好像跟你的原因不一样,我们是找到了那两个以前任务不存在的服务。
    针对问题二的回答: 我们这边不存在你这种情况,只要是 Terminating了Nacos上立即服务就不存在了—此回答来自钉群”Nacos社区群4“

    2023-07-09 17:01:32
    赞同 展开评论 打赏
  • 问题一:Nacos 的节点清除时间不受 Kubernetes 控制,而是由 Nacos 自身的健康检查机制和心跳时间决定的。如果你希望更快地将故障节点从 Nacos 中清除,可以尝试调整 Nacos 的健康检查配置。

    在 Nacos 的配置文件(conf/application.propertiesconf/application.yaml)中,你可以修改以下配置项来调整节点清除时间:

    # 心跳超时时间(单位为毫秒)
    nacos.heartbeat.server.max-standby-time=30000
    
    # 剔除无效节点的间隔时间(单位为毫秒)
    nacos.heartbeat.server.dead-window.ms=90000
    

    请注意,这些配置项的默认值可能与你遇到的情况不同。适当调整这些配置项的值,可以缩短节点清除的时间。根据你的环境和需求,可以进行适当的实验和调整,找到最佳的配置。

    问题二:对于类似的场景,可以考虑以下几种解决方法:

    1. 使用服务注册中心的健康检查:在 Kubernetes 集群中,使用服务注册中心(如 Nacos、Consul 等)进行服务注册和发现时,通常会有健康检查机制。可以利用健康检查来监测服务的状态,并及时将不可用的节点从注册中心中剔除。

    2. 使用负载均衡器的健康检查:如果你的服务使用了负载均衡器(如 Nginx、HAProxy 等),可以配置负载均衡器进行健康检查,并根据节点的健康状态来动态调整请求的转发。这样,当某个节点故障时,负载均衡器会自动将流量转移到其他可用节点上。

    3. 使用容器编排工具的健康检查:Kubernetes 提供了强大的容器编排能力,可以定义健康检查和重启策略,以确保不健康的容器被重新创建或替换。通过配置适当的健康检查参数和重启策略,可以在容器故障时快速恢复。

    2023-07-09 15:48:51
    赞同 展开评论 打赏

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

相关电子书

更多
Nacos架构&原理 立即下载
workshop专场-微服务专场-开发者动手实践营-微服务-使用Nacos进行服务的动态发现和流量调度 立即下载
Nacos 启航,发布第一个版本, 云原生时代助力用户微服务平台建设 立即下载