批量注销consul服务脚本

#!/usr/bin/env python
# -*- coding: utf8 -*-

import os
import re
import json
import urllib
import urllib2
#import jsonpath
#import requests

host = '10.***.***.***'
port = '8500'
 
#consul中微服务名称
serviceNames='xxx-xxx-server';

def get_service():
    url = 'http://'+host+':'+port+'/v1/agent/services';
    jsonStr = urllib2.urlopen(url)
    data = json.load(jsonStr)
    print(data)   
    serviceArray=re.findall(r"'Service': '([a-zA-Z0-9-]+)'", str(data).replace("u'","'"))
    idArray=re.findall(r"'ID': '([a-zA-Z0-9-]+)'", str(data).replace("u'","'"))

    print(serviceArray)
    print(idArray)
    
    for i in range(len(serviceArray)):
      if serviceNames == serviceArray[i]:
          del_service(idArray[i])

def del_service(keys):
    url2 = 'http://'+host+':'+str(port)+'/v1/agent/service/deregister/'+keys  
    req=urllib2.Request(url2)
    req.get_method = lambda: 'PUT'
    ret = urllib2.urlopen(req).read()
 
if __name__ == '__main__':
     get_service()

基于python2.7开发,由于容器部署的服务每次部署IP会发生变化,因此每次动态获取已经存注册在consul上的ID,进行注销

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Consul中,当服务或节点失效时,Consul不会自动将其注销。相反,它会将其状态标记为不可用。如果你担心失效的服务或节点会对监控产生影响,你可以使用Consul的HTTP API来注销这些不健康的服务。你可以使用以下API来注销节点和服务: - 注销任意节点和服务:/catalog/deregister - 注销当前节点的服务:/agent/service/deregister/:service_id 此外,如果某个节点不再使用,你可以在该节点上使用"consul leave"命令,或者在其他节点上使用"consul force-leave 节点ID"命令来注销该节点。 在Spring Cloud应用中使用Consul实现服务治理时,Consul不会自动注销不可用的服务实例。这可能导致Consul中存在一些无效的实例信息。这些无效的实例会长期存在并处于断开状态,有时会影响服务的请求。因此,我们需要手动删除这些无效的服务。你可以使用Consul的HTTP API来注销这些无效的服务。 总结起来,如果你想注销不健康的服务,你可以使用Consul的HTTP API来进行操作。 #### 引用[.reference_title] - *1* *3* [Consul7-注销consul无效服务](https://blog.csdn.net/wj903829182/article/details/100822374)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [springCloud-19 consul 常见问题 节点和服务注销 健康检查与故障转移](https://blog.csdn.net/qq_41169544/article/details/122393155)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值