- Consul 教程
- Consul - 首頁
- Consul - 簡介
- Consul - 架構
- Consul - 安裝
- Consul - 使用微服務
- Consul - 引導和DNS
- Consul - 查詢節點
- Consul - 故障轉移事件
- Consul - 使用UI
- Consul - 在AWS上使用Consul
- Consul 有用資源
- Consul - 快速指南
- Consul - 有用資源
- Consul - 討論
Consul - 查詢節點
本章我們將學習如何使用以下函式查詢節點:
- 使用dig
- 使用Monitor命令
- 使用Watch命令
- 透過註冊外部服務
讓我們詳細瞭解每個函式。
使用Dig
Consul 在 127.0.0.1:8600 監聽 Consul 中的 DNS 查詢。它確定哪些節點可用於提供服務的方式是使用檢查,這些檢查可以是:
執行並返回**符合nagios規範的程式碼**的指令碼。
返回HTTP響應程式碼的HTTP檢查。
檢查埠是否開啟的TCP檢查。
嘗試使用**dig**的通用命令是:
$ dig @127.0.0.1 -p <port> <service-name>.consul
現在,讓我們嘗試一個示例**dig**命令:
$ dig @127.0.0.1 -p 8600 web.service.consul
輸出將如以下螢幕截圖所示。
使用Monitor命令
它用於連線並顯示正在執行的Consul代理的日誌。此命令將顯示最近的日誌。它還允許您以相對較高的日誌級別記錄代理。它包含各種日誌級別,您可以按照這些級別進行操作,例如:跟蹤、除錯、資訊、警告和錯誤。
讓我們嘗試以下命令:
$ consul monitor
輸出將如以下螢幕截圖所示。
您還可以使用子命令(例如 -log-level 和 -rpc-address)設定monitor命令。預設情況下,RPC 的地址為 127.0.0.1:8400。更多資訊,請點選這裡。
使用Watch命令
此命令為我們提供了一種機制來監視節點列表、服務成員、鍵值等的變化。它還會使用檢視的最新值呼叫程序。如果未指定程序,則將當前值處理到**STDOUT**,這是一種檢查Consul中資料的有用方法。Consul Watch命令幫助包含各種不同的選項,如以下螢幕截圖所示:
讓我們嘗試使用**-type = service**的演示,如下面的命令所示。
$ consul watch -type = service -service = consul
有關此主題的更多資訊,您可以點選這裡。
透過註冊外部服務
註冊後,DNS介面將能夠返回服務的相應“A記錄”或CNAME記錄。讓我們註冊一個外部服務,例如Amazon,如下面的程式碼塊和螢幕截圖所示。
$ sudo curl -X PUT -d '{"Datacenter": "dc1", "Node": "amazon",
"Address": "www.amazon.com",
"Service": {"Service": "shop", "Port": 80}}'
http://127.0.0.1:8500/v1/catalog/register
上述命令指定一個名為shop的服務。此節點名為amazon,其URL可在www.amazon.com的80埠訪問。讓我們檢查consul上的輸出,以確保我們已正確安裝此服務。為此,請在localhost:8500處開啟瀏覽器視窗。
要刪除服務,我們可以簡單地使用以下命令。
$ curl -X PUT -d '{"Datacenter": "dc1", "Node": "amazon"}'
http://127.0.0.1:8500/v1/catalog/deregister
讓我們檢查UI,如以下螢幕截圖所示。