Konsul - zapytania do węzłów

W tym rozdziale dowiemy się, jak wyszukiwać węzły za pomocą następujących funkcji -

  • Korzystanie z dig
  • Korzystanie z polecenia Monitor
  • Korzystanie z polecenia Watch
  • Rejestrując usługi zewnętrzne

Przyjrzyjmy się szczegółowo każdej z tych funkcji.

Korzystanie z Dig

Konsul nasłuchuje na 127.0.0.1:8600 zapytań DNS w konsulu. Sposób, w jaki określa, które węzły są dostępne do świadczenia usługi, polega na użyciu sprawdzeń, które mogą być:

  • Wykonywany skrypt, który zwraca plik nagios compliant code.

  • Kontrola HTTP, która zwraca kod odpowiedzi HTTP.

  • Kontrola TCP, która sprawdza, czy port jest otwarty.

Ogólne polecenie wypróbowania dig jest -

$ dig @127.0.0.1 -p <port> <service-name>.consul

Teraz wypróbujmy próbkę dig polecenie -

$ dig @127.0.0.1 -p 8600 web.service.consul

Wynik byłby taki, jak pokazano na poniższym zrzucie ekranu.

Korzystanie z polecenia monitora

Służy do łączenia się i wyświetlania dzienników uruchomionego agenta Consul. To polecenie spowoduje wyświetlenie ostatnich dzienników. Umożliwia także rejestrowanie agenta na stosunkowo wysokim poziomie dziennika. Składa się z różnych poziomów dziennika, które można śledzić, takich jak - Trace, Debug, Info, Warn i Err.

Wypróbujmy następujące polecenie -

$ consul monitor

Wynik byłby taki, jak pokazano na poniższym zrzucie ekranu.

Polecenie monitora można także ustawić za pomocą poleceń podrzędnych, takich jak -log-level i -rpc-address. Domyślny adres RPC to 127.0.0.1:8400. Aby uzyskać więcej informacji, kliknij tutaj .

Korzystanie z polecenia Watch

To polecenie zapewnia nam mechanizm do obserwowania zmian na liście węzłów, składowych usług, wartości klucza itp. Wywołuje również proces z najnowszymi wartościami widoku. Jeśli nie określono żadnego procesu, bieżące wartości są przetwarzane doSTDOUT, co może być użytecznym sposobem sprawdzenia danych w Consul. Pomoc Consul Watch Command ma wiele różnych opcji, jak pokazano na poniższym zrzucie ekranu -

Wypróbujmy demo z -type = service jak pokazano w następującym poleceniu.

$ consul watch -type = service -service = consul

Aby uzyskać więcej informacji na ten temat, kliknij tutaj .

Rejestrując usługi zewnętrzne

Po zarejestrowaniu interfejs DNS będzie mógł zwrócić odpowiednie „Rekordy A” lub Rekordy CNAME dla usługi. Zarejestrujmy usługę zewnętrzną, taką jak Amazon, jak pokazano w poniższym bloku kodu i na zrzucie ekranu.

$ 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

Powyższe polecenie określa usługę o nazwie sklep. Ten węzeł nazywa się amazon, a jego adres URL jest dostępny pod adresem www.amazon.com na porcie 80. Sprawdźmy dane wyjściowe w serwisie Consul, aby upewnić się, że poprawnie zainstalowaliśmy tę usługę. W tym celu otwórz okno przeglądarki pod adresem localhost: 8500.

Aby usunąć usługę, możemy po prostu użyć następującego polecenia.

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

Sprawdźmy interfejs użytkownika, jak pokazano na poniższym zrzucie ekranu.