《云計算與虛擬化技術叢書 Service Mesh實戰》—3.2.3服務注冊:Registrator
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/)中的詳細介紹。
虛擬化 云計算
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。