网关/负载均衡下的consul集群代理

  • 之前有做过使用单机版的consul实现Prometheus服务注册,以为使用集群版的consul只是将consul服务地址从节点IP变为了网关IP。但比较坑的就是,当使用consul注册一个service的时候,该service会存储在集群中的某个consul server上,删除该service时必须指定该server的节点IP/域名,否则无法删除。但在网关条件下,作为客户端只能指定网关IP/域名,这样在删除service时就会出现问题。因此自己做了个consul proxy工具,该工具以sidecar的方式与consul server部署在同一个pod,代理该pod的8500的进出流量,实现后端控制删除service的功能,可以从github下载使用
  • prometheus 添加如下配置实现服务发现:
- job_name: 'consul'
consul_sd_configs:
  - server: 10.10.10.1:8500 #本地非loopback接口地址
    services: []
relabel_configs:
  - source_labels: [__meta_consul_tags]
    regex: .*
    action: keep
    target_label: consul_tags
  - source_labels: [__address__]
    regex: 127.0.0.1:8300
    action: drop

 

相关文章

文章浏览阅读942次。kube-controller-manager 和 kubelet 是...
文章浏览阅读3.8k次。上篇文章详细介绍了弹性云混部的落地历...
文章浏览阅读897次。对于cpu来说,这种分配方式并不会有太大...
文章浏览阅读796次,点赞17次,收藏15次。只要在Service定义...
文章浏览阅读763次。但是此时如果配置成 NONE, 租户创建成功...
文章浏览阅读2.7k次,点赞2次,收藏13次。公司使用的是交老的...