nacos删除持久化实例(测试支持版本2.0.1)
因为持久化实例不再是客户端发送心跳给nacos,而是nacos会定时的向客户端发送健康检测,但是这种情况就会造成每当我在k8s中重启服务的时候,我的ip就可能发生变化,导致我的一个服务中会有越来越多的持久化实例,并且显示不健康的状态。于是我就想要删除nacos的持久化实例,在nacos为单节点的时候,使用命令删除服务,会直接将持久化服务删除(在服务已经下线的情况下),但是在集群模式的nacos,使
·
最近使用python写了一个服务,需要将自己的服务注册到nacos当中
参考了git上面的sdk,发现能成功注册临时实例,但是过一会,在nacos就会显示服务不健康,从而将我注册的服务给下线了。于是参考了nacos的文档以及网络大佬的介绍,采用了注册持久化实例的方式进行注册。
因为持久化实例不再是客户端发送心跳给nacos,而是nacos会定时的向客户端发送健康检测,但是这种情况就会造成每当我在k8s中重启服务的时候,我的ip就可能发生变化,导致我的一个服务中会有越来越多的持久化实例,并且显示不健康的状态。这样就很不好。
于是我就想要删除nacos的持久化实例,在nacos为单节点的时候,使用命令删除服务,会直接将持久化服务删除(在服务已经下线的情况下),但是在集群模式的nacos,使用命令删除的时候,虽然会返回ok的响应,但是持久化的实例仍然是存在的。
解决方案:
nacos单节点删除持久化的实例
url = 'http://ip:8848/nacos/v1/ns/instance'
data = {
'serviceName': serviceName,
'groupName': groupName,
'namespaceId': namespaceId,
'ip': '10.1.85.11',
'port': '5000',
'weight': '1',
'ephemeral': 'false'
}
username="nacosusername"
password="nacospassword"
response = requests.delete(url, data=data, auth=(username, password))
print(response.text)
nacos集群模式下,删除持久化实例,需要指定集群,参数更多一些
使用命令
curl -X DELETE 'http://ip:8848/nacos/v1/ns/instance?serviceName=serviceName&groupName=groupName&namespaceId=namespaceId&ip=ip&port=5000&clusterName=DEFAULT&ephemeral=False'
以上就是删除nacos持久化实例的解决方式
更多推荐
已为社区贡献1条内容
所有评论(0)