控制台还能查到不存在的服务提供者IP链接怎么办
本文介绍当控制台还能查到不存在的服务提供者IP链接时如何解决。
问题现象
应用服务提供者关闭,MSE注册配置中心控制台仍能看到该服务提供者。
应用服务重启或发布后,MSE注册配置中心控制台仍能看到该服务提供者。
可能原因
服务提供者并未彻底关闭,进程仍然存在并发送心跳维持连接,导致Nacos未摘除服务提供。
有额外的应用进程在发送心跳维持连接,导致Nacos未摘除服务提供者。
解决方案
确认该服务提供者已经不应该在线的情况下,请先在MSE控制台上对该服务提供者执行下线操作,防止有更多流量进入到该故障节点。关于下线的具体操作,请参见上线或下线应用实例。
随后,根据部署环境的不同排查服务提供者是否未彻底关闭:
直接部署到ECS:登录到对应IP的ECS中,使用
ps -ef | grep ${应用名}
、netstat -anp | grep 9848
或netstat -anp | grep 8848
等命令,查看服务提供者进程是否还存在,是否与MSE Nacos还保持着连接。如果是,则确认后关闭该进程。通过自建Kubernetes、Docker或ACK容器服务部署:检查是否存在幽灵Pod或Container(即Pod或Container已经不可见,但对应的程序进程未终止销毁),可通过在Node或宿主机上执行
ps -ef | grep ${应用名}
等命令,查看是否该应用提供者的个数等同于期望个数。如果不相同,则确认后找到该幽灵Pod并彻底关闭。ACK容器服务部署:可以提交工单到ACK服务,请求协助排查是否存在幽灵Pod。
如果是通过EDAS或SAE部署,可以加入EDAS钉群或SAE钉群,请求协助排查是否存在实例销毁失败的情况。
EDAS钉群号:31723701。
SAE钉群号:32874633。