Implementa y migra de Elastic Cloud en Kubernetes a Elastic Cloud en Google Cloud

Last reviewed 2021-01-15 UTC

En este instructivo, se muestra cómo configurar Elastic Stack en diferentes entornos y cómo realizar una migración de datos básica de Elastic Cloud en Kubernetes (ECK) a Elastic Cloud en Google Cloud.

A medida que las organizaciones se trasladan a Google Cloud, las estrategias de migración se vuelven importantes. Ya sea que la migración se realice desde otro entorno de nube o un entorno local, debes asegurarte de que los procesos empresariales continúen con una interrupción mínima. La plataforma de datos que procesa, almacena y entrega datos de estadísticas a menudo puede proporcionar estadísticas fundamentales sobre el funcionamiento de la infraestructura y la infraestructura de tu aplicación. Para muchas organizaciones, Elastic Stack es un componente clave que proporciona esas estadísticas.

Este instructivo es para administradores de datos, arquitectos empresariales y administradores de sistemas que participan en la migración de sistemas y aplicaciones a Google Cloud. En este instructivo, se brinda experiencia en la creación de instancias de Elastic Stack en varios entornos de Google Cloud.

Este instructivo se desarrolló y probó con la versión 1.0.1 de ECK.

Componentes clave

En este instructivo, se interactúa con las siguientes tecnologías:

  • Elastic Stack, que es una plataforma que consta de los siguientes componentes principales:
    • Elasticsearch, un motor de estadísticas y búsqueda distribuido y basado en JSON, que está diseñado para la escalabilidad horizontal, la confiabilidad máxima y la administración simplificada.
    • Kibana, que da forma a tus datos y es la interfaz de usuario extensible para configurar y administrar todos los aspectos de Elastic Stack.
    • Beats, que son transportadores ligeros que envían datos de máquinas perimetrales a Logstash y Elasticsearch.
    • Logstash, que es una canalización dinámica de recopilación de datos con un ecosistema de complemento extensible y una sinergia sólida de Elasticsearch.
  • Elastic Cloud, que es un servicio alojado y administrado de Elasticsearch y Kibana que se puede ejecutar en Google Cloud.
  • ECK, que extiende las capacidades básicas de la organización de Kubernetes a fin de admitir la configuración y la administración de Elasticsearch, Kibana y el servidor de APM en Kubernetes.
  • Google Kubernetes Engine (GKE) proporciona un entorno administrado para implementar, administrar y escalar las aplicaciones alojadas en contenedores mediante la infraestructura de Google. El entorno de GKE consta de varias máquinas (instancias de Compute Engine) que se agrupan para formar un clúster.

Objetivos

  • Implementar ECK en GKE.
  • Cargar datos de muestra en el clúster de ECK.
  • Implementar Elastic Cloud.
  • Hacer una instantánea y cargar los datos en Cloud Storage.
  • Restablecer la instancia de ECK con la instantánea almacenada.

Costos

En este documento, usarás los siguientes componentes facturables de Google Cloud:

Para generar una estimación de costos en función del uso previsto, usa la calculadora de precios. Es posible que los usuarios nuevos de Google Cloud califiquen para obtener una prueba gratuita.

Cuando finalices las tareas que se describen en este documento, puedes borrar los recursos que creaste para evitar que continúe la facturación. Para obtener más información, consulta Cómo realizar una limpieza.

Antes de comenzar

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  2. Make sure that billing is enabled for your Google Cloud project.

  3. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

  4. En Cloud Shell, se habilitan las API de Compute Engine y GKE:

    gcloud services enable compute.googleapis.com \
        container.googleapis.com
    

    Estas API se usan para aprovisionar los recursos de procesamiento necesarios a fin de implementar los recursos de GKE necesarios en este instructivo. El proceso puede tardar un par de minutos. Cuando se complete, podrás continuar.

  5. Establece la zona de procesamiento predeterminada en la que implementarás tu base de datos y recursos de procesamiento:

    gcloud config set compute/zone us-central1-a
    export COMPUTE_ZONE=us-central1-a
    

    En el instructivo, se usa us-central1-a para la zona. También puedes realizar la implementación en una zona de tu elección. Para obtener más información, consulta Geografía y regiones.

Implementa ECK en un clúster de GKE

En las siguientes secciones, configurarás la infraestructura y el software necesarios para ejecutar Elastic Cloud en Google Cloud.

Aprovisiona una cuenta de servicio para crear y administrar clústeres de GKE

En esta sección, crearás una cuenta de servicio para de crear y administrar el clúster de GKE en este instructivo. El clúster es una instancia de máquina virtual (VM) en Compute Engine que hereda la cuenta de servicio predeterminada de Compute Engine de forma predeterminada. Esta cuenta de servicio tiene más permisos que los que necesita el instructivo. Como práctica recomendada, sigue el principio de privilegio mínimo cuando crees la cuenta de servicio.

En los siguientes pasos, deberás otorgar las funciones de IAM de visualizador de Monitoring (roles/monitoring.viewer), escritor de métricas de Monitoring (roles/monitoring.metricWriter) y escritor de registros (roles/logging.logWriter) a la cuenta de servicio. También debes otorgar la función de administrador de Compute (roles/compute.admin) a la cuenta de servicio. Esta función proporciona un control total de todos los recursos de Compute Engine. El instructivo no requiere esta función. Sin embargo, si continúas usando esta cuenta de servicio con el clúster y necesitas agregar nodos de procesamiento, la función de administrador de Compute te permite aprovisionar los recursos de procesamiento adicionales.

  1. En Cloud Shell, configura el ID del proyecto de Google Cloud como una variable y establece el nombre de la cuenta de servicio:

    export PROJECT_ID=$(gcloud config get-value project 2> /dev/null)
    export SA_ID=eck-sa
    
  2. Crea la cuenta de servicio y una variable nueva con la dirección de correo electrónico de la cuenta de servicio:

    gcloud iam service-accounts create $SA_ID --display-name=$SA_ID
    export GKE_SA_EMAIL=$(gcloud iam service-accounts list \
        --filter=displayName:"$SA_ID" --format='value(email)')
    

    La sincronización de los metadatos puede tomar un momento. Una vez que se sincroniza, la dirección de correo electrónico aparece en la variable. Hasta entonces, la variable está en blanco.

  3. Verifica que la variable de entorno local esté configurada con el ID de la cuenta de servicio:

    echo $GKE_SA_EMAIL
    

    Si el resultado está en blanco, vuelve a ejecutar el comando export anterior hasta que se propague la variable. Si se configuró la variable de entorno, verás el ID de la cuenta de servicio, que se parece a una dirección de correo electrónico.

  4. Después de sincronizar los metadatos, adjunta las vinculaciones de la política a la cuenta de servicio:

    gcloud projects add-iam-policy-binding $PROJECT_ID --member serviceAccount:$GKE_SA_EMAIL --role roles/logging.logWriter
    gcloud projects add-iam-policy-binding $PROJECT_ID --member serviceAccount:$GKE_SA_EMAIL --role roles/monitoring.metricWriter
    gcloud projects add-iam-policy-binding $PROJECT_ID --member serviceAccount:$GKE_SA_EMAIL --role roles/monitoring.viewer
    gcloud projects add-iam-policy-binding $PROJECT_ID --member serviceAccount:$GKE_SA_EMAIL --role roles/storage.admin
    gcloud projects add-iam-policy-binding $PROJECT_ID --member serviceAccount:$GKE_SA_EMAIL --role roles/compute.admin
    

Crea el clúster de GKE

El siguiente paso es implementar tu clúster. El siguiente comando crea un clúster de tres nodos con el tipo de máquina n1-standard-4 con discos persistentes (SSD) de 256 GB. Puedes cambiar estos recursos.

  1. En Cloud Shell, implementa tu clúster:

    gcloud container clusters create "eck-tutorial" \
        --project $PROJECT_ID --zone $COMPUTE_ZONE \
        --service-account $GKE_SA_EMAIL \
        --no-enable-basic-auth --machine-type "n1-standard-4" \
        --image-type "COS" --disk-type "pd-standard" \
        --disk-size "256" --metadata disable-legacy-endpoints=true \
        --num-nodes "3" \
        --enable-ip-alias --no-issue-client-certificate
    
  2. Obtén credenciales de autenticación para que kubectl pueda interactuar con tu clúster nuevo:

    gcloud container clusters get-credentials eck-tutorial
    

Comienza a usar ECK

El siguiente paso es configurar ECK para que se ejecute en tu infraestructura aprovisionada.

Implementa el operador Elasticsearch

El patrón de operador de Kubernetes permite los recursos personalizados en Kubernetes. Elasticsearch Operator usa ese patrón para implementar componentes de Elastic Stack en Kubernetes.

  1. En Cloud Shell, instala las definiciones de recursos personalizadas (CRD):

    kubectl apply -f https://download.elastic.co/downloads/eck/1.0.1/all-in-one.yaml
    
  2. Supervisa los registros del operador (opcional):

    watch kubectl -n elastic-system logs -f statefulset.apps/elastic-operator
    

    Por lo general, ECK está listo en menos de un minuto después de la instalación de las CRD.

Genera el secreto para acceder a Cloud Storage

El siguiente paso es habilitar el nuevo clúster Elasticsearch para leer y escribir instantáneas en un bucket de Cloud Storage.

  1. En Cloud Shell, genera una clave de cuenta de servicio y un Kubernetes Secret:

    gcloud iam service-accounts keys create ~/gcs.client.default.credentials_file \
        --iam-account=$GKE_SA_EMAIL
    
    kubectl create secret generic gcs-credentials \
        --from-file=gcs.client.default.credentials_file
    
  2. Crea un bucket de Cloud Storage para tus instantáneas y muestra el nombre del bucket:

    export GCSBUCKET=$RANDOM-eck-gcs-snapshot && gsutil mb gs://$GCSBUCKET
    

    Copia el nombre del bucket porque lo necesitarás para un paso posterior.

Implementa Elastic Stack

  1. En Cloud Shell, aplica una especificación de clúster de muestra, que implementa servidores para Elasticsearch, Kibana y el servidor de APM en tu clúster:

    cat << 'EOF' > ~/eck.yaml
    apiVersion: elasticsearch.k8s.elastic.co/v1
    kind: Elasticsearch
    metadata:
      name: quickstart
    spec:
      version: 7.6.1
      secureSettings:
      - secretName: gcs-credentials
      nodeSets:
      - name: default
        count: 3
        config:
          node.master: true
          node.data: true
          node.ingest: true
          node.store.allow_mmap: false
        podTemplate:
          spec:
            initContainers:
            - name: install-plugins
              command:
              - sh
              - -c
              - |
                bin/elasticsearch-plugin install --batch repository-gcs
    ---
    apiVersion: kibana.k8s.elastic.co/v1
    kind: Kibana
    metadata:
      name: kibana-sample
    spec:
      version: 7.6.1
      count: 1
      elasticsearchRef:
        name: quickstart
    ---
    apiVersion: apm.k8s.elastic.co/v1
    kind: ApmServer
    metadata:
      name: apm-server-sample
    spec:
      version: 7.6.1
      count: 1
      elasticsearchRef:
        name: quickstart
    EOF
    
    kubectl apply -f eck.yaml
    
  2. Mira el estado de tu implementación (opcional):

    watch kubectl get elasticsearch,kibana,apmserver
    

    Cuando los indicadores de estado de los tres servicios son verdes, tu clúster se ejecuta.

Crea un balanceador de cargas y accede a Kibana

Según la configuración predeterminada, los servicios del clúster solo tienen direcciones IP internas y no se puede acceder a ellos a través de la Internet pública. Si ejecutas el comando kubectl get services, verás cómo todos los servicios tienen una dirección IP interna y no una dirección IP externa. Para conectarte a Kibana a través de tu navegador web, debes exponer la aplicación. Puedes hacerlo de varias maneras, cada una con sus propias ventajas y desventajas. En este instructivo, crearás un balanceador de cargas.

  1. En Cloud Shell, crea el balanceador de cargas de la siguiente manera:

    kubectl expose deployment kibana-sample-kb \
        --type=LoadBalancer \
        --port 5601 \
        --target-port 5601
    

    Este balanceador de cargas toma solicitudes en el puerto 5601, que es el puerto predeterminado para el servicio de Kibana.

  2. Busca un nuevo servicio de balanceador de cargas que se llame kibana-sample-kb:

    watch kubectl get services
    

    Espera a que se aprovisione la dirección IP externa.

  3. Cuando aparezca la dirección, copia la URL en la variable EXTERNAL_IP y, luego, pega la URL completa en el navegador para cargar el portal de Kibana:

    https://EXTERNAL_IP:5601

    Si usas Google Chrome, haz clic en Avanzado y, luego, en Continuar de todos modos.

  4. Accede al portal con el nombre de usuario elastic. Para descubrir la contraseña y configurarla en una variable, ejecuta el siguiente comando en Cloud Shell:

    PASSWORD=$(kubectl get secret quickstart-es-elastic-user -o=jsonpath='{.data.elastic}' | base64 --decode) && echo $PASSWORD
    

    Si deseas cambiar esta contraseña más adelante, te recomendamos que guardes la ubicación en un lugar seguro.

Carga y prepara datos de muestra

Cuando accedas a Kibana por primera vez, se te solicitará que comiences a usar datos de muestra.

  1. En el portal de Kibana, haz clic en Prueba nuestros datos de muestra:

    La ventana de acceso de Kibana muestra un mensaje y un botón para probar los datos de muestra.

  2. En la tarjeta Muestra de datos de vuelos, haz clic en Agregar datos para agregar los datos de vuelo de muestra.

    Para familiarizarte con las muestras, explora el panel y el mapa.

Consulta los datos de Elasticsearch

El siguiente paso es verificar que puedes consultar los datos de Elasticsearch. Primero, reenvía el puerto 9200 (el puerto que escucha el servicio Elasticsearch) desde el clúster de ECK a tu máquina local. Luego, debes ejecutar consultas de prueba sobre los datos.

  1. En Cloud Shell, habilita la redirección de puertos:

    kubectl port-forward service/quickstart-es-http 9200
    
  2. En la barra de menú de Cloud Shell, haz clic en Abrir una pestaña nueva. Se inicia una segunda sesión de Cloud Shell.

  3. Almacena la contraseña del usuario de Elastic como una variable local:

    PASSWORD=$(kubectl get secret quickstart-es-elastic-user -o=jsonpath='{.data.elastic}' | base64 --decode)
    
  4. Probar la conectividad

    curl -u "elastic:$PASSWORD" -k "https://localhost:9200"
    

    El resultado es similar al siguiente:

    {
      "name" : "quickstart-es-default-0",
      "cluster_name" : "quickstart",
      "cluster_uuid" : "ifdFjTixQ9q7sVc7uUpSnA",
      "version" : {
        "number" : "7.6.1",
        "build_flavor" : "default",
        "build_type" : "docker",
        "build_hash" : "aa751e09be0a5072e8570670309b1f12348f023b",
        "build_date" : "2020-02-29T00:15:25.529771Z",
        "build_snapshot" : false,
        "lucene_version" : "8.4.0",
        "minimum_wire_compatibility_version" : "6.8.0",
        "minimum_index_compatibility_version" : "6.0.0-beta1"
      },
      "tagline" : "You Know, for Search"
    }
    
  5. Cuenta la cantidad de documentos en tu conjunto de datos de muestra:

    curl -u "elastic:$PASSWORD" -k
    "https://localhost:9200/kibana_sample_data_flights/_count"
    

    El resultado es similar al siguiente:

    {"count":13059,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0}}
    

    El resultado indica que el índice contiene 13,059 documentos.

  6. Cierra la segunda sesión de la terminal de Cloud Shell, pero mantén abierta la sesión original.

  7. En la sesión original de Cloud Shell, presiona Control+C para detener la redirección de puertos, ya que ya no es necesaria.

Registra un repositorio de instantáneas

Para crear y restablecer instantáneas, debes registrar un repositorio de instantáneas.

  1. En el portal de Kibana, haz clic en Instantánea y restablecimiento (Snapshot and Restore) en el menú Elasticsearch y, luego, en Registrar un repositorio:

    El vínculo Instantánea y restablecimiento abre una página de registro del repositorio.

  2. En la página Registrar repositorio, ingresa examplerepo en el campo Nombre, selecciona Google Cloud Storage como el tipo de repositorio. Luego, haz clic en Siguiente:

    En la página Registrar repositorio, se muestran opciones para tipos de repositorio.

  3. Ingresa los siguientes detalles de configuración:

    • En Cliente, ingresa default.
    • En Bucket, ingresa el nombre del bucket que creaste antes en Generar el secreto para acceder a Cloud Storage.

      Si no recuerdas el nombre del bucket, haz lo siguiente:

      1. En Cloud Shell, enumera todos tus bucket con el comando siguiente:

        gsutil ls
        

        Para encontrar tu bucket, revisa la lista.

      2. En el portal, ingresa el nombre de tu bucket sin el esquema de nombres gs:// del paso anterior. Por ejemplo, si tu URI del bucket es gs://1234-eck-gcs-snapshot, ingresa 1234-eck-gcs-snapshot.

    • Deja el resto de los campos en blanco.

  4. Haz clic en Registrar.

  5. En el panel de detalles de tu repositorio, haz clic en Verificar repositorio para asegurarte de estar conectado. En el siguiente diagrama, se muestra una conexión correcta:

    El panel de detalles del repositorio registrado incluye el nombre del repositorio, la cantidad de instantáneas y la configuración, como el nombre del bucket y del cliente.

Comienza a usar Elastic Cloud

Ahora, estás listo para configurar un clúster alojado en Elastic Cloud y migrar los datos a este nuevo clúster.

Inicia un clúster

  1. Ve a la página Elastic Cloud en Cloud Marketplace.

    Ir a Elastic Cloud

  2. Si aceptas los precios que se muestran en la página, haz clic en Comprar y, luego, en Suscribirse.

  3. Haz clic en Habilitar para activar las API. Se te redireccionará a la página API y servicios para el servicio Elastic Cloud.

  4. Haz clic en Manage via Elastic:

    En la página Descripción general de Elastic Cloud, se muestran los detalles del servicio y las opciones de administración.

  5. Para confirmar que deseas ser redireccionado al sitio web de Elastic Cloud, haz clic en Confirmar.

  6. Para registrar tu cuenta de Elastic Cloud, completa el formulario. Tu cuenta de correo electrónico está verificada.

  7. Cuando se le solicite, crea una contraseña y, luego, accede.

  8. En el portal principal de Elastic Cloud, haz clic en Crear implementación.

  9. Haz lo siguiente:

    • Asígnale un nombre example-ec al clúster.
    • Selecciona Google Cloud como tu plataforma en la nube.
    • Selecciona us-central1 como la región.
    • Deja todas las demás opciones en sus valores predeterminados.
  10. Haz clic en Create Deployment.

Después de unos minutos, se aprovisiona tu clúster de trabajo en Elastic Cloud y se te dirigirá de forma automática al panel de implementación para tu instancia.

Prepara la instantánea desde ECK

El siguiente paso es crear una instantánea de tu instancia de ECK y migrarla a la instancia de Elastic Cloud.

Crea tu instantánea de ECK

Para crear una instantánea, debes configurar una política de instantáneas en el clúster de ECK. Después de crear una sola instantánea, esta política se borra porque solo es necesaria para esta migración única.

  1. En un navegador web en tu clúster de ECK, accede a Kibana copiando la dirección IP externa para el balanceador de cargas que creaste antes en tu clúster de GKE.

  2. En el menú Elasticsearch, haz clic en Instantánea y restablecimiento:

    En la página Instantánea y restablecimiento se muestra un mensaje que indica que no se configuraron instantáneas.

  3. Haz clic en Crear una política.

  4. En el campo Nombre de la política, ingresa onetime-migration.

  5. En el campo Nombre de la instantánea, ingresa <onetime-migration-{now/d}>.

  6. Deja las otras opciones de configuración con sus valores predeterminados y haz clic en Siguiente:

    En la página Crear política, se muestran cuatro pasos, que incluyen la logística, la configuración, la retención y la revisión.

  7. En la página Configuración de instantáneas, deja la configuración con sus valores predeterminados y, luego, haz clic en Siguiente.

  8. Cuando se te solicite una política de retención de instantáneas, deja todos los campos en blanco y haz clic en Siguiente. Debido a que creas una instantánea única, no es necesaria una política de retención.

  9. En la página Política de opiniones, haz clic en Crear política.

  10. En el panel de resumen de la política, haz clic en Cerrar.

  11. En la sección Acciones en la página de descripción general Instantánea y restablecimiento, haz clic en Ejecutar ahora. y, luego, en Ejecutar política en la ventana nueva:

    La pestaña Políticas incluye un botón de reproducción para ejecutar la política.

    Para verificar la instantánea nueva, en la pestaña Instantáneas, haz clic en la instantánea con marca de tiempo que comienza con onetime-migration. Se muestran los detalles de la instantánea:

    En la pestaña de instantánea, se muestran instantáneas a las que se puede hacer clic para obtener detalles como el estado de la instantánea y los indicadores.

Borra la política de instantáneas

Ahora que tu instantánea de la instancia ECK está en Cloud Storage, puedes borrar la política de instantáneas.

  1. En el portal de Kibana, haz clic en Administración, luego en Instantánea y restablecimiento, y en la pestaña Políticas.
  2. En la sección Acciones para la política de migración única, haz clic en Borrar.
  3. Para confirmar que deseas borrar la política, haz clic en Borrar política.

Borrar la política no afecta a las instantáneas que creaste con la política, pero esto evita que tomes más instantáneas basadas en esa política.

Mueve la instantánea a Elastic Cloud

El siguiente paso es tomar la instantánea de datos recién creada y restablecerla en tu instancia en Elastic Cloud.

Crea y configura una cuenta de servicio nueva

El primer paso es crear una cuenta de servicio que Elastic Cloud use para acceder a Cloud Storage. Luego, debes habilitar el acceso.

  1. En Cloud Shell, crea la cuenta de servicio:

    gcloud iam service-accounts create ecloud-sa \
        --display-name "Elasticcloud Service Account"
    
    export ec_sa=$(gcloud iam service-accounts list \
        --filter=displayName:"Elasticcloud Service Account" \
        --format='value(email)')
    
    gcloud projects add-iam-policy-binding $PROJECT_ID \
        --member serviceAccount:$ec_sa --role roles/storage.admin
    
    gsutil iam ch serviceAccount:$ec_sa:roles/storage.admin gs://$GCSBUCKET
    
  2. Crea una clave para esta cuenta de servicio y descárgala en tu máquina cliente local:

    gcloud iam service-accounts keys create ~/ec-sa.json --iam-account $ec_sa
    

    El resultado es similar al siguiente:

    created key [e44da1202f82f8f4bdd9d92bc412d1d8a837fa83] of type [json] as
    [/usr/home/username/ec-sa.json] for
    [ecloud-sa@project-id.iam.gserviceaccount.com]
    

    Copia la ruta de acceso absoluta y el nombre de archivo del resultado. Los necesitarás para descargar el archivo.

  3. Haz clic en Más y, luego, en Descargar archivo:

    Haz clic en el botón Más para ver varias opciones, como Subir y Descargar un archivo.

  4. Ingresa la ruta de acceso absoluta y el nombre de archivo de la clave que copiaste en el paso anterior y haz clic en Descargar. La clave JSON se descarga en tu máquina local.

  5. En la página de servicio Elasticsearch para tu implementación en Elastic Cloud, haz clic en Security (Seguridad) y, a continuación, haz clic en Add settings (Agregar configuración):

    El mensaje del almacén de claves indica que se puede usar una clave en lugar de un secreto cuando se establece la configuración sensible.

  6. En Nombre de configuración, ingresa gcs.client.default.credentials_file y, luego, selecciona Bloque / archivo JSON.

  7. Con un editor de texto en tu máquina local, abre la clave JSON que descargaste, copia el texto en el campo Secreto y, luego, haz clic en Guardar. Verás la entrada nueva en el almacén de claves.

  8. Haz clic en Restablecer contraseña a fin de obtener una contraseña nueva para el usuario elastic y, luego, anótala.

  9. En la instrucción Realizar cambios de seguridad en Kibana, haga clic en Kibana.

  10. Con esas credenciales, accede a Kibana.

  11. Cuando se te solicite, haz clic en Explorar por mi cuenta y no cargues datos de muestra.

Cree un repositorio

  1. En el portal de Kibana, haz clic en el ícono de menú () y, luego, en Stack Management:

    La administración de pila aparece en Administración.

  2. En Elasticsearch, haz clic en Instantánea y restablecimiento.

  3. Haz clic en la pestaña Repositories y, luego, en Registrar un repositorio:

    La pestaña Repositorios incluye un botón para registrar un repositorio.

  4. En el nombre del repositorio, ingresa examplerepo.

  5. Selecciona Google Cloud Storage.

  6. Haga clic en Next.

  7. En el campo Bucket, ingresa el nombre del bucket que creaste antes en Genera el secreto para acceder a Cloud Storage.

    Ingresa el nombre del bucket sin el esquema de nombres gs://. Por ejemplo, si tu URI del bucket es gs://1234-eck-gcs-snapshot, ingresa 1234-eck-gcs-snapshot.

  8. Deja el resto de los campos en blanco y haz clic en Registrar.

    Para verificar la conexión, haz clic en Verificar repositorio.

  9. Haga clic en Cerrar.

Restablece la instantánea

  1. En el portal de Kibana, haz clic en la pestaña Instantáneas y, en el menú desplegable Repositorio, selecciona examplerepo:

    El menú desplegable Repositorio.

    Verás la instantánea que creaste antes en ECK.

  2. En Acciones, haz clic en Restablecer.

  3. Desactiva el botón de activación All indices, including system indices:

    La página de detalles de restablecimiento indica que el botón se encuentra en la posición desactivada con una x.

  4. Haz clic en Desmarcar todo y, luego, vuelve a seleccionar kibana_sample_data_flights, ilm-history-1-000001 y todos los índices con el prefijo apm-. No selecciones ningún índice que tenga un punto antes de su nombre porque es un índice del sistema.

    Si intentas restablecer la configuración con la configuración predeterminada, recibirás un mensaje de error similar al que se muestra a continuación:

    [snapshot_restore_exception] [examplerepo:onetime-migration2020.07.07-mt2pg1p7sb2sci9fs-yxlw/7OdEOWYVRQyIh9S2NaPypQ] cannot restore index [.security-7] because an open index with same name already exists in the cluster. Either close or delete the existing index or restore the index under a different name by providing a rename pattern and replacement name
    

    Este error se produce porque los índices del sistema no pueden y no deben restablecerse. Si sigues las instrucciones del mensaje, es posible que Kibana ya no funcione de forma correcta. El procedimiento para cerrar o borrar un índice abierto existente es solo para índices que no sean del sistema.

  5. Deja el resto de la configuración en sus valores predeterminados y haz clic en Siguiente.

  6. En el menú Configuración del índice, deja toda la configuración como sus valores predeterminados y, luego, haz clic en Siguiente.

  7. En la página Restablecer detalles, haz clic en Restablecer instantánea.

    Una vez completado el proceso de restablecimiento, accedes al panel Restablecer estado, que muestra que se restablecieron tus datos.

  8. En Kibana, haz clic en Patrones de índice para restablecer el índice.

  9. Haz clic en Crear patrón de índice.

    Verás algunos índices disponibles. Busca el índice kibana_sample_data_flights, que ECK creó automáticamente.

  10. Ingresa kib en el campo Patrón del índice. Ten en cuenta que kibana_sample_data_flights coincide con el patrón.

  11. Haga clic en Siguiente paso.

  12. En el menú desplegable Nombre del campo de filtro de tiempo, selecciona marca de tiempo.

  13. Haz clic en Crear patrón de índice.

  14. Si haces clic en Descubrir, verás los datos sin procesar como se mostró antes en el entorno de ECK (opcional).

  15. En el menú principal, desplázate hacia el final del menú y, en la sección Administración, haz clic en Herramientas para desarrollo.

  16. A la izquierda, ingresa GET /kibana_sample_data_flights/_count y haz clic en el botón Enviar solicitud. El resultado muestra que se cuentan 13,059 documentos, que coinciden con la cantidad de documentos encontrados en el índice en ECK.

Limpia

Para evitar que se apliquen cargos a la cuenta de Google Cloud por los recursos que se usaron en este instructivo, puedes borrar el proyecto de Google Cloud que creaste para este instructivo.

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

¿Qué sigue?