miércoles, mayo 08, 2019

Desplegar con Docker un ElasticSearch y Kibana para experimentar

Supongamos que queremos desplegar un ElasticSearch junto con un Kibana para probarlos. Una manera sencilla es usar un contenedor en Docker donde se ejecutarán ambos. Si usamos una red virtual, podemos aprovecharla para comunicar Kibana y ElasticSearch.

La configuración de ambos productos se controla pasándo variables de entorno. Por otra parte, si consultamos la las configuraciones de ElasticSearhr y las de configuraciones de Kibana, para Docker tiene los siguientes valores por defecto:

  • ElasticSearch:
    • Puerto por defecto 9200 para API REST. Intercluster comunicación, 9300
  • Kibana
    • Nombre del servidor ElasticSearch al que espera conectarse http://elasticsearch:9200
    • Puerto por defecto 5601

Pues sabiendo esos valores por defecto, se puede desplegar fácilmente dos contenedores, uno con ElasticSearch y otro con Kibana, que se conectará a través de una red que se creará en el Docker y que vamos a llamar elastic

# Get ElasticSearch 6.6.0 version
docker pull docker.elastic.co/elasticsearch/elasticsearch:6.6.0
# Get Kibana 6.6.0 version
docker pull docker.elastic.co/kibana/kibana:6.6.0
# Crea una red llamada elastic
docker network create elastic
# Arranca ElasticSearh, mapea los puertos
docker run -p 9200:9200 -p 9300:9300 \
  --net elastic --name elasticsearch \
  -e "discovery.type=single-node" \
  docker.elastic.co/elasticsearch/elasticsearch:6.6.0
# Arranca Kinabna docker run -p 5601:5601 \
  --net elastic \
  --name kibana \
  docker.elastic.co/kibana/kibana:6.6.0

Es importante que tengamos creada la red y que el nombre del container de ElasticSearch sea elasticsearch. Esto debe ser así para que Kibana pueda conectarse al ElasticSearch sin problemas. Si queremos usar una herramienta de línea de comandos como cURL, tendremos el ElasticSearch expuesto a través del puerto 9200. Por último, estos parámetros se pueden cambiar con variables de entorno cuyos valores pasaremos a docker con la ayuda de la opción -e o bien, en el caso de Kibana montar nuestro propio fichero de configuración como explican en kla ayuda.

No hay comentarios: