Cónsul - Nodos de consulta

En este capítulo, aprenderemos cómo consultar nodos con las siguientes funciones:

  • Usando excavar
  • Usando el comando Monitor
  • Usando el comando Watch
  • Al registrar servicios externos

Entendamos cada una de estas funciones en detalle.

Usando Dig

Consul escucha 127.0.0.1:8600 para consultas de DNS en el cónsul. La forma en que determina qué nodos están disponibles para proporcionar un servicio es mediante comprobaciones que pueden ser:

  • Un script que se ejecuta y devuelve un nagios compliant code.

  • Una verificación HTTP que devuelve un código de respuesta HTTP.

  • Una comprobación de TCP que comprueba si un puerto está abierto.

El comando general para probar dig es -

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

Ahora, probemos una muestra. dig comando -

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

La salida sería como se muestra en la siguiente captura de pantalla.

Uso del comando Monitor

Se utiliza para conectar y mostrar los registros de un agente Consul en ejecución. Este comando mostrará los registros recientes. También le permite registrar el agente en un nivel de registro relativamente alto. Consta de varios niveles de registro, que puede seguir, como: Seguimiento, Depuración, Información, Advertencia y Err.

Probemos el siguiente comando:

$ consul monitor

La salida sería como se muestra en la siguiente captura de pantalla.

También puede configurar el comando de monitor mediante los subcomandos como -log-level y -rpc-address. De forma predeterminada, la dirección de la RPC es 127.0.0.1:8400. Para obtener más información, haga clic aquí .

Usando el comando Watch

Este comando nos proporciona un mecanismo para observar cambios en la lista de nodos, miembros del servicio, valor clave, etc. También invoca un proceso con los últimos valores de la vista. Si no se especifica ningún proceso, los valores actuales se procesan paraSTDOUT, que puede ser una forma útil de inspeccionar datos en Consul. La ayuda de Consul Watch Command tiene una variedad de opciones diferentes, como se muestra en la siguiente captura de pantalla:

Probemos una demostración con -type = service como se muestra en el siguiente comando.

$ consul watch -type = service -service = consul

Para obtener más información sobre este tema, puede hacer clic aquí .

Al registrar servicios externos

Una vez registrada, la interfaz de DNS podrá devolver los 'Registros A' o Registros CNAME correspondientes para el servicio. Registremos un servicio externo, como Amazon, como se muestra en el siguiente bloque de código y también en la captura de pantalla.

$ 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

El comando anterior especifica un servicio llamado tienda. Este nodo se llama como amazon y su URL está disponible en www.amazon.com en el puerto 80. Revisemos la salida en consul para asegurarnos de que hemos instalado correctamente este servicio. Para ello, abra la ventana del navegador en localhost: 8500.

Para eliminar el servicio, simplemente podemos usar el siguiente comando.

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

Comprobemos la interfaz de usuario como se muestra en la siguiente captura de pantalla.