Consul - Consultando Nós
Neste capítulo, aprenderemos como consultar nós com as seguintes funções -
- Usando dig
- Usando o comando Monitor
- Usando o comando Watch
- Registrando serviços externos
Vamos entender cada uma dessas funções em detalhes.
Usando Dig
Consul escuta em 127.0.0.1:8600 para consultas de DNS no cônsul. A forma como ele determina quais nós estão disponíveis para fornecer um serviço está usando verificações que podem ser:
Um script que é executado e retorna um nagios compliant code.
Uma verificação de HTTP que retorna um código de resposta HTTP.
Uma verificação de TCP que verifica se uma porta está aberta.
O comando geral para experimentar dig é -
$ dig @127.0.0.1 -p <port> <service-name>.consul
Agora, vamos experimentar uma amostra dig comando -
$ dig @127.0.0.1 -p 8600 web.service.consul
A saída seria conforme mostrado na captura de tela a seguir.
Usando o Comando Monitor
É usado para conectar e mostrar os registros de um agente Consul em execução. Este comando mostrará os logs recentes. Ele também permite que você registre o agente em um nível de registro relativamente alto. Ele consiste em vários níveis de log, que você pode seguir, como - Trace, Debug, Info, Warn e Err.
Vamos tentar o seguinte comando -
$ consul monitor
A saída seria conforme mostrado na captura de tela a seguir.
Você também pode definir o comando do monitor usando os subcomandos como -log-level e -rpc-address. Por padrão, o endereço do RPC é 127.0.0.1:8400. Para mais informações, clique aqui .
Usando o comando Watch
Este comando nos fornece um mecanismo para observar as mudanças na lista de nós, membros do serviço, valor da chave, etc. Ele também invoca um processo com os valores mais recentes da visualização. Se nenhum processo for especificado, os valores atuais são processados paraSTDOUT, que pode ser uma maneira útil de inspecionar dados no Consul. A ajuda do Consul Watch Command tem uma variedade de opções diferentes, conforme mostrado na imagem a seguir -
Vamos experimentar uma demonstração com -type = service conforme mostrado no comando a seguir.
$ consul watch -type = service -service = consul
Para obter mais informações sobre este assunto, você pode clicar aqui .
Registrando serviços externos
Uma vez registrada, a interface DNS poderá retornar os 'Registros A' ou Registros CNAME apropriados para o serviço. Vamos registrar um serviço externo, como o Amazon, conforme mostrado no bloco de código a seguir e também na captura de tela.
$ 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
O comando acima especifica um serviço denominado como loja. Este Nó é denominado amazon com sua URL disponível em www.amazon.com na Porta 80. Vamos verificar a saída do consul para ter certeza de que instalamos corretamente este serviço. Para isso, abra a janela do navegador em localhost: 8500.
Para remover o serviço, podemos simplesmente usar o seguinte comando.
$ curl -X PUT -d '{"Datacenter": "dc1", "Node": "amazon"}'
http://127.0.0.1:8500/v1/catalog/deregister
Vamos verificar a IU, conforme mostrado na captura de tela a seguir.