Cómo instalar Consul Server en Ubuntu 16.04
En este artículo, le mostraremos la instalación y configuración del servidor Consul en Ubuntu 16.04 LTS. Consul es una solución para el descubrimiento de servicios y el sistema de gestión de la configuración que está completamente distribuido, altamente disponible y escala a miles de nodos y servicios en múltiples centros de datos. Ayuda a encontrar los requisitos de las aplicaciones de servicios como bases de datos, correos electrónicos y colas, configurar servicios como habilitar el modo de mantenimiento para un servidor web y servicios de verificación de estado. Mantiene los datos seguros y funciona con las infraestructuras más grandes, adoptando prácticas modernas y compatible con las herramientas DevOps existentes. Consul proporciona muchas funciones para brindar información consistente y disponible sobre su infraestructura. Cuando hablamos de descubrimiento de servicios, los clientes de Consul pueden brindar un servicio, como api o http, y otros clientes pueden usar Consul para descubrir proveedores de un servicio dado, usando DNS o MySQL, las aplicaciones pueden encontrar fácilmente los servicios de los que dependen. sobre.
Veamos cómo vamos a instalar Consul, Consul Web-UI y Consul Template en Ubuntu 16.04. Pero puede implementar los mismos pasos en otras distribuciones de Linux con algunas modificaciones.
Prerrequisitos
En este artículo, estamos usando la instancia única de Ubuntu 16.04 con el sistema operativo base instalado, pero puede usar varios servidores de consul que se ejecutan en cada centro de datos según las recomendaciones, para evitar la pérdida de datos en caso de una falla del servidor. Estos son el componente que hace el trabajo pesado y almacena información sobre servicios e información clave / valor.
Inicie sesión en su servidor utilizando el usuario privilegiado root o sudo para instalar algunos paquetes básicos que se utilizarán durante el proceso, antes de que analicemos la aplicación consul. Necesitamos descomprimir para extraer los ejecutables y actualizar la caché del paquete del sistema local y luego instalar el paquete usando los comandos ‘apt’ a continuación.
$ sudo apt-get update
$ sudo apt-get install unzip
También necesitamos instalar ‘tmux’, que se puede usar para multiplexar varias consolas virtuales, lo que permite a un usuario acceder a múltiples sesiones de terminal separadas dentro de una sola ventana de terminal o sesión de terminal remota.
$ sudo apt-get install tmux
Para acceder al Cónsul usando su paquete web ui de consul, necesitamos instalar un servidor Web, para ello usaremos Nginx. Puede instalar Nginx en su servidor Ubuntu usando el siguiente comando.
$ sudo apt-get install nginx
Estos son los requisitos básicos del sistema, ahora pasemos al tema de instalar Consul en Ubuntu.
Cómo instalar Consul en Ubuntu 16.04
El paquete Consul no está disponible en los repositorios predeterminados de Ubuntu, pero podemos instalarlo desde el paquete fuente que se puede descargar desde el página web del cónsul. Seleccione la última versión, copie su ubicación de origen y luego use el comando ‘wget’ a continuación para instalar su paquete en su servidor en el directorio ‘bin’.
$ cd /usr/local/bin
$ sudo wget https://releases.hashicorp.com/consul/0.8.0/consul_0.8.0_linux_amd64.zip
Después de la descarga, extraiga el paquete y elimine el paquete comprimido con los siguientes comandos.
$ sudo unzip consul_0.8.0_linux_amd64.zip
$ sudo rm -rf consul_0.8.0_linux_amd64.zip
Ahora, desde la misma página web del cónsul, encontrará su página web-ui que puede usarse para abrir su consola web para administrar todos los servicios desde la página web. Ejecutemos el siguiente comando para descargar el paquete Web-UI después de crear un nuevo directorio en el directorio de inicio de su usuario.
$ mkdir consul-ui
$ cd consul-ui
$ wget https://releases.hashicorp.com/consul/0.8.0/consul_0.8.0_web_ui.zip
Después de la descarga, extraiga el paquete y elimine el archivo comprimido.
$ unzip consul_0.8.0_web_ui.zip
$ rm -rf consul_0.8.0_web_ui.zip
A continuación, debemos configurar el servidor Consul y su interfaz de usuario web para que sea accesible a través del navegador web.
Cómo configurar el servidor Consul
Cree un nuevo archivo ‘config.json’ en el siguiente directorio nuevo y coloque los siguientes parámetros de configuración en él.
directorio y poner la siguiente configuración en él. Aquí PPPP es la IP privada de la instancia
$ cd ~
$ mkdir -p consul-config/server
Ahora use el siguiente comando para crear un nuevo archivo usando su editor de línea de comando para poner la siguiente configuración.
~$ vim consul-config/server/config.json
{ "bootstrap": true, "server": true, "log_level": "DEBUG", "enable_syslog": true, "datacenter": "server1", "addresses" : { "http": "0.0.0.0" }, "bind_addr": "XX.XX.XX.XX", "node_name": "XX.XX.XX.XX", "data_dir": "/home/k/consuldata", "ui_dir": "/home/k/consul-ui", "acl_datacenter": "server1", "acl_default_policy": "allow", "encrypt": "5KKufILrf186BGlilFDNig==" }
Aquí, en este archivo de configuración, el primer parámetro de configuración es para bootstrapping. Si está configurando un clúster de varios servidores de cónsul, asegúrese de colocar este archivo de configuración en solo uno de sus servidores de cónsul, o en todos ellos, lo que le brinda más opciones para el arranque. Los archivos de configuración se almacenan en JSON simple, por lo que son bastante fáciles de administrar.
A continuación, hemos implementado algún cifrado para el protocolo de susurro que utiliza el cónsul. Tiene esta funcionalidad incorporada usando un sistema secreto compartido. El secreto debe ser una cadena codificada en base 64 de 16 bits. En la terminal, podemos usar el comando cónsul para generar una clave de la longitud y codificación necesarias.
$ consul keygen 5KKufILrf186BGlilFDNig==
Asegúrese de actualizar su bind_addr y node_name con su propio servidor IP o FQDN. Después de realizar los cambios necesarios, guarde y cierre el editor usando ‘: wq!’ y vaya al siguiente paso para configurar su servidor web.
Cree un nuevo archivo de configuración para colocarlo en el directorio de configuración del servidor web Nginx con el siguiente contenido.
$ sudo vim /etc/nginx/conf.d/consul.conf
server { listen 80 ; server_name XX.XX.XX.XX; root /home/k/consul-ui; location / { proxy_pass http://127.0.0.1:8500; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $http_host; } }
Guarde y cierre el archivo de configuración, pero asegúrese de reemplazar ‘XX’ con su nombre de dominio o la dirección IP de sus servidores. Después de eso, ejecute el siguiente comando para reiniciar el servicio Nginx.
$ sudo systemctl restart nginx.service
Después de reiniciar los servicios de Nginx, inicia el servidor de consul.
Cómo iniciar y utilizar el servidor Consul
Después de configurar el servidor Consul, ahora iniciaremos su servicio en la terminal ‘tmux’ usando el siguiente comando.
$ tmux
$ consul agent -config-dir ~/consul-config/server -ui-dir ~/consul-ui -bootstrap true -client=0.0.0.0
Ahora, verá los procesos de consul que deberían estar ejecutándose en la sesión tmux como se muestra a continuación.
Puede dejar el proceso en ejecución usando «ctrl + b que d» para ejecutar el cónsul en segundo plano y su sesión tmux se desconectará.
Ahora abra su navegador web siguiendo la IP o FQDN de su servidor y el puerto ‘8500’ para administrar su servidor cónsul desde el navegador web.
http://localhost:8500
Eso es todo, ahora puede usar esta interfaz para verificar el estado de sus servidores y obtener una descripción general de sus servicios e infraestructura. cuando no desee utilizar la interfaz de usuario web, puede cerrar el túnel SSH o buscar el número pid del proceso usando el comando ps y grep para buscar el número de puerto que reenviamos que es «8500» para finalizar el proceso.
Conclusión
En este artículo, hemos instalado y configurado correctamente el servidor consul junto con su interfaz de usuario web en Ubuntu 16.04. Está diseñado para ser compatible con los centros de datos y puede admitir cualquier número de regiones sin una configuración compleja. Consul se ejecuta en Linux, Mac OS X y Windows, pero se recomienda ejecutar los servidores Consul solo en Linux.