Iniciación a Databases for Elasticsearch
Este tutorial le guiará a través de los pasos necesarios para comenzar a utilizar rápidamente una implementación de IBM Cloud® Databases for Elasticsearch mediante el aprovisionamiento de una instancia, la configuración de su contraseña de administrador y la conexión a la misma.
Sigue estos pasos para completar el tutorial:
- Antes de empezar
- Paso 1: Elija su plan
- Paso 2: Aprovisionamiento a través de la consola
- Paso 3: Establezca su contraseña de administrador a través de la consola
- Paso 4: Conéctese a su instancia
- Pasos siguientes
Sigue estos pasos para completar el tutorial:
- Antes de empezar
- Paso 1: Elija su plan
- Paso 2: Aprovisionamiento a través de la CLI
- Paso 3: Establezca su contraseña de administrador a través de la CLI
- Paso 4: Conéctese a su instancia
- Pasos siguientes
Sigue estos pasos para completar el tutorial:
- Antes de empezar
- Paso 1: Elija su plan
- Paso 2: Aprovisionamiento a través de la API
- Paso 3: Establezca su contraseña de administrador
- Paso 4: Conéctese a su instancia
- Pasos siguientes
Sigue estos pasos para completar el tutorial:
- Antes de empezar
- Paso 1: Elija su plan
- Paso 2: Aprovisionamiento a través de Terraform
- Paso 3: Establezca su contraseña de administrador
- Paso 4: Conéctese a su instancia
- Pasos siguientes
Antes de empezar
- Necesitas una cuentaIBM Cloud.
Paso 1: Elija su plan
Databases for Elasticsearch ofrece dos planes diferentes:
-
Databases for Elasticsearch Enterprise despliega la versión Basic de Elasticsearch.
-
Databases for Elasticsearch Platinum despliega la versión Platinum de Elasticsearch.
Ambos planes le proporcionan un servicio Elasticsearch totalmente gestionado y escalable, lo que le permite centrarse en sus aplicaciones y datos en lugar de en la infraestructura subyacente.
Uso de las API
Utiliza la API Cloud Databases API para trabajar con su instancia Databases for MongoDB. La API del controlador de recursos se utiliza para aprovisionar una instancia.
Necesitará una clave API para realizar acciones a través de la API. Siga estos pasos para crear una clave de API de IBM Cloud que le permita utilizar la API para aprovisionar infraestructura en su cuenta. Puede crear hasta 20 claves de API.
Por motivos de seguridad, la clave de API sólo está disponible para copiarse o descargarse en el momento de la creación. Si se pierde la clave de API, deberá crear una nueva clave de API.
Paso 2: Aprovisionamiento a través de la consola
-
Inicie la sesión en la consola de IBM Cloud.
-
Haz clic en el servicioDatabases for Elasticsearch del catálogo.
-
Siga estos pasos para aprovisionar una instancia Databases for Elasticsearch.
-
Cuando su instancia esté aprovisionada, haga clic en el nombre de la instancia para ver más información.
Paso 2: Aprovisionamiento a través de la CLI
Puede aprovisionar una instancia Databases for Elasticsearch utilizando la CLI. Si aún no lo tiene, debe instalar la IBM Cloud CLI.
Puede seguir estos pasos para aprovisionar una instancia Databases for Elasticsearch.
Paso 2: Aprovisionamiento a través de la API del controlador de recursos
Siga estos pasos para aprovisionar una instancia Databases for Elasticsearch mediante la API del controlador de recursos.
Paso 2: Aprovisionamiento a través de Terraform
Necesita una clave API para realizar acciones a través de Terraform. Siga estos pasos para crear una clave API de IBM Cloud que permita a Terraform aprovisionar infraestructura en su cuenta. Puede crear hasta 20 claves de API.
Por motivos de seguridad, la clave de API sólo está disponible para copiarse o descargarse en el momento de la creación. Si se pierde la clave de API, deberá crear una nueva clave de API.
Una vez que tengas una Clave API, sigue estos pasos para aprovisionar una instancia Databases for Elasticsearch usando Terraform.
Paso 3: Establecer la contraseña de administrador
El usuario administrador
Cuando se aprovisiona un despliegue Databases for Elasticsearch, se crea automáticamente un usuario ' admin
'.
Establezca la contraseña de administrador antes de utilizarla para conectarse.
Establecer la contraseña de administrador a través de la interfaz de usuario
Establezca su contraseña de administrador a través de la interfaz de usuario seleccionando su instancia en la lista de recursos IBM Cloud Lista de recursos. A continuación, seleccione Configuración. A continuación, seleccione Cambiar contraseña de administrador de base de datos.
Establecer la contraseña de administrador a través de la CLI
Utilice el comando ' cdb user-password
' del plugin IBM Cloud CLI Cloud Databases plug-in para establecer la contraseña de administrador.
Por ejemplo, para establecer la contraseña de administrador de su implantación, utilice el siguiente comando:
ibmcloud cdb user-password <INSTANCE_NAME_OR_CRN> admin <NEWPASSWORD>
Establecer la contraseña de administrador a través de la API
Puede utilizar el parámetro " id
" obtenido en la respuesta al paso 2 anterior con el punto final Establecer la contraseña del usuario especificado para establecer la contraseña de administrador.
curl -X PATCH -H "Authorization: Bearer <TOKEN>" \
-H 'Content-Type: application/json' \
-d '{"password":"newrootpasswordsupersecure21"}' \
"https://api.<REGION>.databases.cloud.ibm.com/v5/ibm/deployments/<DEPLOYMENT_ID>/users/database/admin"
El parámetro id
debe estar URL para que la llamada a la API funcione.
Establecer la contraseña de administrador a través de Terraform
La contraseña de administrador se pasa como uno de los parámetros de recursos de base de datos en el script Terraform. No es necesario adoptar ninguna otra medida.
Paso 4: Conéctese a su instancia Databases for Elasticsearch
Conéctese a su despliegue utilizando Kibana, una herramienta de código abierto que añade capacidades de visualización a su base de datos Elasticsearch. Este tutorial ejecuta Kibana en un contenedor Docker utilizando la imagen Kibana del repositorio de imágenes Docker.
Antes de empezar
- Instala Docker para que puedas extraer la imagen del contenedor Kibana para conectarte a Databases for Elasticsearch.
- Si prefiere evitar ejecutar Kibana localmente e instalar Docker, también puede desplegar Kibana utilizando IBM Cloud® Code Engine. Para obtener más información, consulte Despliegue de Kibana utilizando la instancia de Code Engine y conéctese a la instancia de Databases for Elasticsearch.
Para conectarse, Kibana necesita el nombre de usuario, la contraseña, la URL y el puerto de su implementación Elasticsearch. También necesita el certificado TLS Elasticsearch para acceder a la base de datos. Para obtenerlo, copie la información del certificado de la sección Endpoints de la página Overview de su instancia de Elasticsearch creada. A continuación, descargue el certificado en una carpeta local. Puede utilizar el nombre que se proporciona en la descarga o su propio nombre de archivo.
Recuerde dónde guarda el certificado en el sistema de archivos. Si está ejecutando Kibana localmente, no en Docker, entonces el certificado va en $KIBANA_HOME/config/<filename>
.
Configurar Kibana
Antes de ejecutar el contenedor Docker que incluye Kibana, cree un archivo de configuración en la misma carpeta con el certificado Elasticsearch descargado del paso 1. El archivo de configuración contendrá algunos valores básicos de Kibana como se indica a continuación.
Cree un archivo YAML denominado kibana.yml
. Dentro de este archivo, necesita los siguientes valores de configuración de Kibana:
elasticsearch.ssl.certificateAuthorities: "/usr/share/kibana/config/cacert"
elasticsearch.username: "admin"
elasticsearch.password: "<password>"
elasticsearch.hosts: ["https://<hostname:port>"]
server.name: "kibana"
server.host: "0.0.0.0"
El primer valor, elasticsearch.ssl.certificateAuthorities
, es la ubicación donde Docker almacenará el certificado Elasticsearch. Se coloca en esta ubicación cuando se ejecuta por primera vez Docker. Puede cambiarlo a una ubicación
de su elección, pero la ruta de ejemplo es el directorio de configuración de Kibana. Asegúrese de que el nombre de certificado (en nuestro ejemplo "cert") dentro de kibana.yml
y el archivo de nombre de certificado
almacenado en el paso 1 tengan el mismo nombre.
A continuación van elasticsearch.username
y elasticsearch.password
. Utilice el nombre de usuario y la contraseña del administrador del despliegue. Asegúrese de establecer la contraseña de administrador antes de intentar
establecer la conexión. En elasticsearch.hosts
, introduzca el nombre de host y el puerto de la implantación, separados por :
.
Por último, server.name
es un nombre legible por máquina para la instancia de Kibana y server.hosts
es el host del servidor backend donde puede conectarse a Kibana en su navegador web.
Estos ajustes son sólo un ejemplo simplificado para empezar. Para obtener más información, consulte Configurar Kibana.
Si está ejecutando Kibana localmente, no en Docker, entonces el archivo YAML va en $KIBANA_HOME/config/kibana.yml
, donde Kibana lee su configuración.
Ejecutar el contenedor de Kibana
Ahora que el archivo kibana.yml
está configurado, utilice Docker para adjuntar el archivo YAML y su archivo de certificado al contenedor Docker, mientras extrae la imagen <kibana_version>
del repositorio de
imágenes Docker.
Utilice una imagen con una versión de Kibana que sea compatible con la versión de Elasticsearch que se está ejecutando. Recupere la versión de Elasticsearch del punto final de API de https_endpoint
utilizando el cliente http preferido.
Para obtener más información, consulte la matriz de compatibilidadElasticsearch.
Aquí hay un ejemplo con curl. Si no tiene instalado el certificado, utilice el distintivo --insecure
para inhabilitar la verificación de igual. <http_endpoint>
se puede encontrar en la interfaz de usuario de
Puntos finales de la instancia:
curl --cacert <path-to-cert> <https_endpoint>
A continuación, ejecute el comando Docker en su terminal para iniciar el contenedor Kibana.
docker container run -it --name kibana \
-v <path_to_config_folder_created_in_step_1>:/usr/share/kibana/config \
-p 5601:5601 docker.elastic.co/kibana/kibana:<kibana_version>
El mandato Docker tiene un volumen conectado con el distintivo -v
. Estos se montan en el contenedor de Kibana en la ruta /usr/share/kibana/config/
, que es un directorio de configuración donde Kibana busca los archivos
de configuración.
- El
-p
especifica qué puerto se expone desde el contenedor, y el puerto que se utiliza para acceder a Kibana. - La versión de Kibana debe corresponder a la versión de Elasticsearch que está utilizando.
Cuando ejecuta el mandato desde el terminal, se descarga la imagen de Kibana Docker y se ejecuta Kibana. Una vez que Kibana se haya conectado a su despliegue de Databases for Elasticsearch y se esté ejecutando satisfactoriamente, verá la salida en el terminal.
log [01:19:31.839] [info][status][plugin:<kibana_version>] Status changed from uninitialized to green - Ready
log [01:19:31.925] [info][status][plugin:elasticsearch@<kibana_version>] Status changed from uninitialized to yellow - Waiting for Elasticsearch
log [01:19:32.120] [info][status][plugin:timelion@<kibana_version>] Status changed from uninitialized to green - Ready
log [01:19:32.134] [info][status][plugin:console@<kibana_version>] Status changed from uninitialized to green - Ready
log [01:19:32.147] [info][status][plugin:metrics@<kibana_version>] Status changed from uninitialized to green - Ready
log [01:19:33.132] [info][status][plugin:elasticsearch@<kibana_version>] Status changed from yellow to green - Ready
log [01:19:33.378] [info][listening] Server running at http://0.0.0.0:5601
Si no desea ver la salida de Kibana en el terminal, utilice el distintivo -d
para desconectar el contenedor.
Visite http://0.0.0.0:5601
en el navegador para ver Kibana. 0.0.0.0
es server.host
en kibana.yml
y 5601
es el puerto que se expone desde el contenedor. Una vez que siga el URL,
una ventana emergente le solicitará el nombre de usuario y la contraseña. Utilice las credenciales de administrador, o cualquier otra credencial que haya realizado, para acceder al despliegue. Las credenciales no tienen por qué ser el mismo
nombre de usuario y contraseña que proporcionó en el archivo kibana.yml
.
Próximos pasos
Para obtener más información, consulte la documentación Elasticsearch.
¿Busca más herramientas para gestionar sus bases de datos y sus datos? Puede conectarse al despliegue con la CLI deIBM Cloud, el plugin de CLI deCloud Databases o la API deCloud Databases.
Si tiene previsto utilizar Databases for Elasticsearch para las aplicaciones, consulte Conexión de una aplicación externa y Conexión de una aplicación IBM Cloud.
Para garantizar la estabilidad de sus aplicaciones y su base de datos, consulte Alta disponibilidad y rendimiento.