《云计算与虚拟化技术丛书 Service Mesh实战》—3.2.3服务注册:Registrator

举报
华章计算机 发表于 2019/06/06 12:00:12 2019/06/06
【摘要】 本书摘自《云计算与虚拟化技术丛书 Service Mesh实战:基于Linkerd和Kubernetes的微服务实践》一文中的第3章,第3.2.3节,作者是杨彰显。

3.2.3 服务注册:Registrator

       如果使用Kubernetes或者Nomad等编排工具时,服务注册由编排工具自动完成,无需考虑。但是我们的演示环境中未使用编排工具,那么使用Consul进行服务发现时,首先要解决的问题是如何把服务自动注册到Consul?为此,我们引入Registrator(https://github.com/gliderlabs/registrator),它的主要工作是注册以Docker容器运行的服务到服务注册中心。为了使用Registrator注册容器中的服务到服务注册中心,需要在每台机器上部署Registrator,还有需要指定服务注册中心,告知Registrator注册服务到何处。当Docker容器启动时,Registrator通过检测Docker容器运行时信息,自动将运行在Docker容器中的服务注册到服务注册中心,反之,如果服务下线,它自动从服务注册中心注销服务。当前,Registrator支持多种服务注册中心,如Consul,Etcd和SkyDNS 2,而我们的演示环境中使用Consul作为服务注册中心。在启动需要注册到Consul的服务之前,每台机器都会部署一个Registrator实例,部署命令如:  

# docker run -d \

    --name=registrator \

    --net=host \

    --volume=/var/run/docker.sock:/tmp/docker.sock \

    gliderlabs/registrator \

    consul://localhost:8500

       其中我们指定服务注册中心Consul的地址为localhost:8500。另外,如果需要将某个服务注册到Consul中,启动Docker相应容器时需额外配置一些参数,以告知Registrator如何注册,比如:必须显示地通过-p或者-P选项指定容器服务端口。更多关于如何使用Registrator的信息,参考官方文档(https://gliderlabs.com/registrator/latest/)中的详细介绍。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。