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.