日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Consul入门02 - 运行Consul代理

發(fā)布時間:2025/3/21 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Consul入门02 - 运行Consul代理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在Consul安裝完成后,必須先運行代理。該代理可以以服務(wù)器或者客戶端模式運行。每個數(shù)據(jù)中心必須博阿含至少一個服務(wù)器,不過一個集群推薦3或5個服務(wù)器。一個單服務(wù)器的部署在失敗的情況下會發(fā)生數(shù)據(jù)丟失因此不推薦使用。

所有其他的代理運行在客戶端模式。一個客戶端是一個非常輕量級的進程,它注冊服務(wù),運行健康檢查,以及轉(zhuǎn)發(fā)查詢到服務(wù)器。代理必須運行在集群中的每個節(jié)點上。

更多的關(guān)于啟動一個數(shù)據(jù)中心的細節(jié),請查看這篇指導(dǎo)。

啟動代理

為了簡單起見,我們將暫時在開發(fā)者模式中啟動Consul代理。這個模式可以非常容易快速地啟動一個單節(jié)點的Consul環(huán)境。當然它并不是用于生產(chǎn)環(huán)境下并且它也不會持久任何狀態(tài)。

$ consul agent -dev ==> Starting Consul agent... ==> Starting Consul agent RPC... ==> Consul agent running!Node name: 'Armons-MacBook-Air'Datacenter: 'dc1'Server: true (bootstrap: false)Client Addr: 127.0.0.1 (HTTP: 8500, HTTPS: -1, DNS: 8600, RPC: 8400)Cluster Addr: 172.20.20.11 (LAN: 8301, WAN: 8302)Gossip encrypt: false, RPC-TLS: false, TLS-Incoming: falseAtlas: <disabled>==> Log data will now stream in as it occurs:[INFO] raft: Node at 172.20.20.11:8300 [Follower] entering Follower state [INFO] serf: EventMemberJoin: Armons-MacBook-Air 172.20.20.11 [INFO] consul: adding LAN server Armons-MacBook-Air (Addr: 172.20.20.11:8300) (DC: dc1) [INFO] serf: EventMemberJoin: Armons-MacBook-Air.dc1 172.20.20.11 [INFO] consul: adding WAN server Armons-MacBook-Air.dc1 (Addr: 172.20.20.11:8300) (DC: dc1) [ERR] agent: failed to sync remote state: No cluster leader [WARN] raft: Heartbeat timeout reached, starting election [INFO] raft: Node at 172.20.20.11:8300 [Candidate] entering Candidate state [DEBUG] raft: Votes needed: 1 [DEBUG] raft: Vote granted. Tally: 1 [INFO] raft: Election won. Tally: 1 [INFO] raft: Node at 172.20.20.11:8300 [Leader] entering Leader state [INFO] raft: Disabling EnableSingleNode (bootstrap) [INFO] consul: cluster leadership acquired [DEBUG] raft: Node 172.20.20.11:8300 updated peer set (2): [172.20.20.11:8300] [DEBUG] consul: reset tombstone GC to index 2 [INFO] consul: New leader elected: Armons-MacBook-Air [INFO] consul: member 'Armons-MacBook-Air' joined, marking health alive [INFO] agent: Synced service 'consul'

你可以看到,Consul代理已經(jīng)啟動并且輸出了一些日志信息。從日志信息中,你可以看到我們代理運行在服務(wù)器模式并且聲明集群的leadship。另外,本地的成員已經(jīng)被標記為一個健康的集群成員。

OS X用戶注意:Consul使用你的機器名作為默認的節(jié)點名稱。如果你的機器名包涵了點,那么DNS查詢該節(jié)點會不能工作,為了避免這個問題,使用-node顯式設(shè)置你的節(jié)點名稱。

集群成員

如果你在另一個終端中運行?consul members?,你能看到Consul集群所有的節(jié)點。我們在下一部分介紹如何加入集群,但是現(xiàn)在你只能看到一個成員(你自己的機器):

$ consul members Node Address Status Type Build Protocol DC Armons-MacBook-Air 172.20.20.11:8301 alive server 0.6.1dev 2 dc1

該命令輸出顯示你自己的節(jié)點,運行的地址,它的健康狀態(tài),它在集群中的角色,以及一些版本信息。另外元數(shù)據(jù)可以通過?-detailed?選項來查看。

members?命令選項的輸出是基于?gossip協(xié)議?的并且其內(nèi)容是最終一致。也就是說,在任何時候,你在本地代理看到的內(nèi)容也許與當前服務(wù)器中的狀態(tài)并不是絕對一致的。如果需要強一致性的狀態(tài)信息,使用HTTP API向Consul服務(wù)器發(fā)送請求:

$ curl localhost:8500/v1/catalog/nodes [{"Node":"Armons-MacBook-Air","Address":"172.20.20.11","CreateIndex":3,"ModifyIndex":4}]

另外對于HTTP API,DNS接口也常被用來查詢節(jié)點信息。注意你必須確信你的DNS能夠找到Consul代理的DNS服務(wù)器,Consul代理的DNS服務(wù)器默認運行在8600端口。有關(guān)DNS實體(類似于"Armons-MacBook-Air.node.consul")將在后面有更詳細的介紹。

$ dig @127.0.0.1 -p 8600 Armons-MacBook-Air.node.consul ...;; QUESTION SECTION: ;Armons-MacBook-Air.node.consul. IN A;; ANSWER SECTION: Armons-MacBook-Air.node.consul. 0 IN A 172.20.20.11

停止代理

你能夠使用?Ctrl-C?(中斷信號)來優(yōu)雅地停止代理。停止代理后,你可以看到它脫離集群并且關(guān)閉的信息。

為了優(yōu)雅地離開集群,Consul會通知其他的集群成員自己已經(jīng)脫離了。如果你強制殺死代理的進程,那么其他的集群成員需要偵測節(jié)點是否失效。當一個成員離開,它的服務(wù)以及(checks)將從目錄中移除。當一個成員失效,它的健康會簡單地標記為critical,但它并不會被從目錄中移除。Consul將自動嘗試重新連接到失效的節(jié)點,并允許它在某些網(wǎng)絡(luò)狀況下恢復(fù)。

另外,如果一個代理以服務(wù)器模式啟動,優(yōu)雅地離開是非常重要的,因為這可以避免潛在的可用性問題,有關(guān)一致性協(xié)議,查看指南來獲取更詳細的關(guān)于如何安全的增加和移除服務(wù)器的信息。

下一步

一個簡單的Consul集群已經(jīng)啟動了,讓我們獲取一些[服務(wù)]()吧!

總結(jié)

以上是生活随笔為你收集整理的Consul入门02 - 运行Consul代理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。