Cómo desplegar Kibana y Enterprise Search en IBM Cloud Code Engine

KibanaEnterprise SearchIBM CloudCode EngineElasticSearch
Publicado el 12/9/2024
Fecha de ultima actualización: 12/9/2024

En este artículo, exploraremos cómo desplegar Kibana y Enterprise Search en IBM Cloud Code Engine, utilizando las herramientas y configuraciones necesarias para integrarlas con una instancia de ElasticSearch Enterprise. Este tutorial cubre desde la configuración inicial hasta la integración completa.

Requisitos iniciales

Antes de comenzar, asegúrate de contar con lo siguiente:

  • Una instancia de ElasticSearch Enterprise configurada y en ejecución.
  • Acceso al CLI de IBM Cloud y a Code Engine.
  • Certificado TLS descargado de la instancia de ElasticSearch Enterprise.

Configuración y despliegue de Kibana y Enterprise Search en IBM Cloud Code Engine

En esta sección, te explicaré paso a paso cómo configuré y desplegué Kibana y Enterprise Search en IBM Cloud Code Engine.

Paso 1: Configuración inicial

  1. Descargar el certificado TLS
  • Descarga el certificado TLS de la instancia de ElasticSearch Enterprise.
  • Renombra el archivo descargado a tls.pem.
  1. Crear un secret para el certificado TLS
  • Ejecuta el siguiente comando:
cmd
ibmcloud ce secret create -n tls-certificates --from-file elasticsearch=tls.pem

Paso 2: Desplegar Kibana

Configuración de Kibana

  1. Crear los archivos de credenciales
  • Crear el archivo kibana-secret.env y kibana.env con las credenciales de acceso de ElasticSearch Enterprise.
kibana-secret.env
ELASTICSEARCH_USERNAME=
ELASTICSEARCH_PASSWORD=
ELASTICSEARCH_HOSTS=[""]
kibana-secret.env
SERVER_NAME=kibana
SERVER_PORT=5602
SERVER_HOST=0.0.0.0
ELASTICSEARCH_SSL_CERTIFICATEAUTHORITIES=/mysecrets/elasticsearch
ENTERPRISESEARCH_HOST=

Si únicamente necesitas desplegar Kibana y no vas a integrar Enterprise Search, puedes simplificar la configuración eliminando la variable ENTERPRISESEARCH_HOST del archivo kibana.env.

  1. Crear el ConfigMap y el Secret para Kibana
  • Crea el ConfigMap:
cmd
ibmcloud ce configmap create -n kibana --from-env-file kibana.env
  • Crea el Secret:
cmd
ibmcloud ce secret create -n kibana-secret --from-env-file kibana-secret.env

Crear la aplicación de Kibana

  1. Desplegar Kibana en Code Engine
  • Ejecuta el siguiente comando para crear la aplicación:
cmd
ibmcloud ce app create --name kibana --image docker.elastic.co/kibana/kibana:7.17.10 --mount-secret /mysecrets=tls-certificates --min-scale 1 -p 5602 --env-from-configmap kibana --env-from-secret kibana-secret --cpu 4 --memory 16G
  1. Crear los archivos de configuración
  • Crea el archivo enterprise-search-secret.env con las credenciales de ElasticSearch Enterprise.
enterprise-search-secret.env
elasticsearch.username=
elasticsearch.password=
elasticsearch.host=
secret_management.encryption_keys=[caa0c12a038639f73cf152454bb2c78224d37a324dffd604388e28c56e48e066]
  • Crea el archivo enterprise-search.env para establecer la variable kibana.external_url con la URL interna expuesta por Kibana.
enterprise-search.env
elasticsearch.ssl.enabled=true
kibana.external_url=
ent_search.listen_host=0.0.0.0
ent_search.listen_port=3002
ent_search.external_url=
allow_es_settings_modification=false
elasticsearch.ssl.certificate_authority=/mysecrets/elasticsearch
  1. Crear el ConfigMap y el Secret para Enterprise Search
  • Crea el ConfigMap:
cmd
ibmcloud ce configmap create -n enterprise-search --from-env-file enterprise-search.env
  • Crea el Secret:
cmd
ibmcloud ce secret create -n enterprise-search-secret --from-env-file enterprise-search-secret.env
  1. Desplegar Enterprise Search en Code Engine
  • Ejecuta el siguiente comando:
cmd
ibmcloud ce app create --name enterprise-search --image docker.elastic.co/enterprise-search/enterprise-search:7.17.10 --mount-secret /mysecrets=tls-certificates --min-scale 1 -p 3002 --env-from-configmap enterprise-search --env-from-secret enterprise-search-secret --cpu 4 --memory 16G

Configurar la integración

  1. Actualizar las variables de entorno
  • En el archivo enterprise-search.env, establece la variable ent_search.external_url con la URL expuesta por Enterprise Search.
  • Reinicia la aplicación:
cmd
ibmcloud ce app restart --name enterprise-search
  1. Actualizar Kibana con la URL de Enterprise Search
  • En el archivo kibana.env, configura la variable ENTERPRISESEARCH_HOST con la URL expuesta por Enterprise Search.
  • Reinicia la aplicación:
cmd
ibmcloud ce app restart --name kibana

Conclusión

Con este proceso, hemos desplegado e integrado exitosamente Kibana y Enterprise Search en IBM Cloud Code Engine, asegurando una configuración segura mediante TLS y un manejo eficiente de recursos. Ahora puedes aprovechar estas herramientas para monitorizar y analizar datos, optimizando tus flujos de trabajo y mejorando la visibilidad de tus operaciones.