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

輸出將如以下螢幕截圖所示。

dig

使用Monitor命令

它用於連線並顯示正在執行的Consul代理的日誌。此命令將顯示最近的日誌。它還允許您以相對較高的日誌級別記錄代理。它包含各種日誌級別,您可以按照這些級別進行操作,例如:跟蹤、除錯、資訊、警告和錯誤。

讓我們嘗試以下命令:

$ consul monitor

輸出將如以下螢幕截圖所示。

Monitor Command

您還可以使用子命令(例如 -log-level 和 -rpc-address)設定monitor命令。預設情況下,RPC 的地址為 127.0.0.1:8400。更多資訊,請點選這裡

使用Watch命令

此命令為我們提供了一種機制來監視節點列表、服務成員、鍵值等的變化。它還會使用檢視的最新值呼叫程序。如果未指定程序,則將當前值處理到**STDOUT**,這是一種檢查Consul中資料的有用方法。Consul Watch命令幫助包含各種不同的選項,如以下螢幕截圖所示:

Watch Command

讓我們嘗試使用**-type = service**的演示,如下面的命令所示。

$ consul watch -type = service -service = consul

Watch Type

有關此主題的更多資訊,您可以點選這裡

透過註冊外部服務

註冊後,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

Registering External Services

上述命令指定一個名為shop的服務。此節點名為amazon,其URL可在www.amazon.com的80埠訪問。讓我們檢查consul上的輸出,以確保我們已正確安裝此服務。為此,請在localhost:8500處開啟瀏覽器視窗。

Registering External Services

要刪除服務,我們可以簡單地使用以下命令。

$ curl -X PUT -d '{"Datacenter": "dc1", "Node": "amazon"}'
http://127.0.0.1:8500/v1/catalog/deregister

Remove Service

讓我們檢查UI,如以下螢幕截圖所示。

Remove Service
廣告
© . All rights reserved.