
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Use Terraform to set up the necessary infrastructure
/ 50
View Logs in BigQuery
/ 50
Cloud Logging se puede usar para agregar registros de todos los recursos de Google Cloud, además de cualquier recurso personalizado en otras plataformas, para habilitar un almacén centralizado para todos los registros y las métricas. Los registros se agregan y, luego, se pueden ver en la IU de Cloud Logging proporcionada. También se pueden exportar a receptores para admitir casos de uso más especializados. Actualmente, Cloud Logging admite la exportación a los siguientes receptores:
En este lab, implementarás una aplicación de ejemplo en Kubernetes Engine que reenvíe registros de eventos a Cloud Logging con Terraform, una herramienta de infraestructura como código declarativa que permite que los archivos de configuración automaticen la implementación y la evolución de la infraestructura en la nube. La configuración también creará un bucket de Cloud Storage y un conjunto de datos de BigQuery a donde se exportarán los datos de los registros.
Los ingenieros de GKE Helmsman crearon este lab para ayudarte a comprender mejor el funcionamiento de Cloud Logging. Puedes ver esta demostración ejecutando el comando gsutil cp -r gs://spls/gke-binary-auth/*
y cd gke-binary-auth-demo
en Cloud Shell. Te invitamos a hacer cualquier aporte que creas conveniente.
La configuración de Terraform compilará un clúster de Kubernetes Engine que generará registros y métricas que Stackdriver puede transferir. Las secuencias de comandos también generarán receptores de exportación de Logging para Cloud Storage, BigQuery y Cloud Pub/Sub.
En el siguiente gráfico, se muestra el diagrama de cómo se verá esto junto con el flujo de datos:
Lee estas instrucciones. Los labs son cronometrados y no se pueden pausar. El cronómetro, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.
Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.
Para completar este lab, necesitarás lo siguiente:
Haga clic en el botón Comenzar lab. Si debe pagar por el lab, se abrirá una ventana emergente para que seleccione su forma de pago. A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:
Haz clic en Abrir la consola de Google Cloud (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito si ejecutas el navegador Chrome).
El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.
Sugerencia: Ordene las pestañas en ventanas separadas, una junto a la otra.
De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.
También puedes encontrar el nombre de usuario en el panel Detalles del lab.
Haz clic en Siguiente.
Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.
También puedes encontrar la contraseña en el panel Detalles del lab.
Haz clic en Siguiente.
Haga clic para avanzar por las páginas siguientes:
Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.
Cloud Shell es una máquina virtual que cuenta con herramientas para desarrolladores. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud. Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.
Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu PROJECT_ID. El resultado contiene una línea que declara el PROJECT_ID para esta sesión:
gcloud
es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con la función de autocompletado con tabulador.
Haz clic en Autorizar.
Ahora, el resultado debería verse de la siguiente manera:
Resultado:
Resultado:
Resultado de ejemplo:
gcloud
, consulta la guía con la descripción general de gcloud CLI en Google Cloud.
<YOUR_PROJECT_ID>
por el ID de tu proyecto de Qwiklabs:Algunos recursos de Compute Engine se encuentran en regiones y zonas. Una región es una ubicación geográfica específica donde puedes ejecutar tus recursos. Cada región tiene una o más zonas.
Ejecuta el siguiente comando para configurar una región y zona para tu lab (puedes usar la región/zona más adecuada para tu caso):
De acuerdo con los principios de la Infraestructura como código y de la Infraestructura inmutable, Terraform admite escrituras de descripciones declarativas del estado deseado de la infraestructura. Cuando se aplica el descriptor, Terraform usa las APIs de Google Cloud para aprovisionar y actualizar los recursos para que coincidan.
Terraform compara el estado deseado con el estado actual para poder realizar cambios incrementales sin tener que borrar todo y volver a empezar. Por ejemplo, Terraform puede compilar instancias de procesamiento, proyectos de Google Cloud, etc., y hasta puede configurar un clúster de Kubernetes Engine y, luego, implementar aplicaciones en él. Cuando los requisitos cambian, el descriptor se puede actualizar, y Terraform ajustará la infraestructura de nube según corresponda.
En este lab, se iniciará un clúster de Kubernetes Engine donde se implementará una aplicación simple de ejemplo. De forma predeterminada, los clústeres de Kubernetes Engine en Google Cloud están aprovisionados con un colector preconfigurado basado en Fluentd que reenvía los registros a Cloud Logging. Interactuar con la aplicación de ejemplo producirá registros que se verán en Cloud Logging y otros receptores de eventos de registros.
Quita la versión del proveedor de Terraform del archivo de secuencia de comandos provider.tf
.
En la pestaña Editor de Cloud Shell, selecciona Archivo>Abrir y, luego, haz clic en Abrir. En el menú de la izquierda, abre el archivo /gke-logging-sinks-demo/terraform/provider.tf
.
Establece la versión en ~> 2.19.0
. Después de la modificación, el archivo de secuencia de comandos provider.tf
debería verse así:
Hay tres archivos de Terraform que se proporcionan con este ejemplo de lab.
El primer archivo, main.tf
, es el punto de partida de Terraform. Describe las funciones que se utilizarán, los recursos que se manipularán y los resultados que se obtendrán.
El segundo archivo es provider.tf
, que indica qué proveedor de servicios en la nube y qué versión serán los destinatarios de los comandos de Terraform, en este caso, Google Cloud.
El último archivo es variables.tf
, que contiene una lista de variables que se usan como entradas en Terraform. Cualquier variable a la que se haga referencia en main.tf
que no tenga valores predeterminados configurados en variables.tf
tendrá como resultado mensajes al usuario en el entorno de ejecución.
Realizarás un pequeño cambio en main.tf
. En el menú de la izquierda, abre el archivo /gke-logging-sinks-demo/terraform/main.tf
.
Desplázate hasta la línea 110 y busca la sección “Create the Stackdriver Export Sink for Cloud Storage GKE Notifications”.
Cambia el resource.type
del filtro de container a k8s_container.
Haz lo mismo para bigquery-sink en la línea 119. Procura que estas dos secciones de sincronización de exportación se vean de esta forma antes de avanzar:
Guarda y cierra el archivo.
Ejecuta el siguiente comando para compilar el entorno ejecutable con el comando make
:
Haz clic en Revisar mi progreso para verificar la tarea realizada. Si implementaste correctamente la infraestructura necesaria con Terraform, verás una puntuación de evaluación.
Si no aparecen errores durante la implementación, después de algunos minutos deberías ver tu clúster de Kubernetes Engine en la consola de Cloud.
Dirígete a Menú de navegación > Kubernetes Engine > Clústeres para ver el clúster con la aplicación de ejemplo implementada.
Para validar que la demostración se implementó correctamente, ejecuta el siguiente comando:
El resultado se verá así:
Ahora que la aplicación está implementada en Kubernetes Engine, puedes generar datos de registros y usar Cloud Logging y otras herramientas para verlos.
La aplicación de muestra que Terraform implementó publica una página web simple.
Cada vez que abras esta aplicación en tu navegador, la aplicación publicará eventos de registros en Cloud Logging. Cuando actualices la página algunas veces, se generarán varios eventos de registros.
Para obtener la URL de la página de la aplicación, realiza los siguientes pasos:
IP:Port
. Abre un nuevo navegador y pega la URL. El navegador debería devolver una pantalla similar a la siguiente:Cloud Logging proporciona una IU para ver los eventos de registros. Se proporcionan funciones básicas de búsqueda y filtro, que pueden ser útiles cuando se depuran problemas del sistema.
Cloud Logging es más adecuado para explorar eventos de registros más recientes. Los usuarios que requieran un almacenamiento a largo plazo de los eventos de registros deben considerar algunas de las herramientas que explorarás en las siguientes secciones.
Para acceder a la consola de Cloud Logging, sigue estos pasos:
Tipo de recurso
como Contenedor de Kubernetes y cluster_name
como stackdriver-logging.En la consola de Logging, puedes compilar consultas con el Compilador de consultas, o bien probar varias funciones como campos de registro, zona horaria, etcétera.
La configuración de Terraform compiló dos receptores de exportación de registros. Para ver los receptores, realiza los siguientes pasos:
Los eventos de registros se pueden almacenar en Cloud Storage, un sistema de almacenamiento de objetos adecuado para archivar datos.
Se pueden configurar políticas para los buckets de Cloud Storage que, por ejemplo, permiten que los datos antiguos se venzan y se borren, mientras que los datos más recientes se pueden almacenar en diferentes clases de almacenamiento que afectan el precio y la disponibilidad.
La configuración de Terraform creó un bucket de Cloud Storage llamado stackdriver-gke-logging-, al cual se exportarán los registros para archivar a medio y largo plazo.
En este ejemplo, la clase de almacenamiento del bucket se define como Nearline porque no se debe acceder a los registros con frecuencia en un entorno de producción normal (esto ayudará a administrar los costos de almacenamiento a medio plazo). En una situación de producción, este bucket también puede incluir una política de ciclo de vida que traslada el contenido a Coldline Storage para un almacenamiento de los registros a largo plazo más económico.
Para acceder a los registros en Cloud Storage, sigue estos pasos:
stackdriver-gke-logging-<random-Id>
y haz clic en él.Si vuelves al bucket al final de tu lab, podrías ver carpetas que corresponden a los pods que se ejecutan en el clúster (p. ej., escalador automático, dnsmasq, etcétera).
Puedes hacer clic en cualquiera de las carpetas para buscar detalles de registros específicos como heapster, kubedns, archivo adicional, etcétera.
Los eventos de registros pueden configurarse para que se publiquen en BigQuery, una herramienta de almacén de datos que admite consultas rápidas y sofisticadas en grandes conjuntos de datos.
La configuración de Terraform creará un conjunto de datos de BigQuery llamado gke_logs_dataset
. Este conjunto de datos se configurará para incluir todos los registros relacionados con Kubernetes Engine durante la última hora (estableciendo un vencimiento de tabla predeterminado para el conjunto de datos). Los registros del contenedor de Kubernetes Engine se enviarán al conjunto de datos.
Para acceder a los registros en BigQuery, sigue estos pasos:
Te damos la bienvenida a BigQuery en la consola de Cloud
. Haz clic en Listo.Select *
generalmente es muy costosa y no se recomienda. Para este lab, el conjunto de datos se limita solo a la última hora de los registros, por lo que el conjunto de datos general es relativamente pequeño.La ventana de resultados debería mostrar algunas filas y columnas. Puedes desplazarte por las diversas filas de datos que se muestran. Si lo deseas, realiza algunas consultas personalizadas que filtren datos específicos en función de los resultados que se mostraron en la consulta original.
Haz clic en Revisar mi progreso para verificar la tarea realizada. Si el receptor de BigQuery tiene registros escritos en un conjunto de datos de BigQuery, verás una puntuación de evaluación.
Dado que Terraform realiza un seguimiento de los recursos que creó, puedes eliminarlos después.
Permission denied
cuando se ejecuta Terraform.Las credenciales que usa Terraform no proporcionan los permisos necesarios para crear recursos en los proyectos seleccionados.
Asegúrate de que la cuenta que se detalla en gcloud config list
tenga los permisos necesarios para crear recursos.
Si los tiene, vuelve a generar las credenciales predeterminadas de la aplicación a través de gcloud auth application-default login
.
Una vez que se complete la configuración de Terraform, se creará el bucket de Cloud Storage, pero no siempre se propagará de inmediato con datos de registros del clúster de Kubernetes Engine.
Dale tiempo al proceso, ya que pueden pasar hasta 2 o 3 horas antes de que empiecen a aparecer las primeras entradas. Obtén más información sobre Cloud Storage en la documentación Visualiza registros en destinos de receptores.
Una vez que se complete la configuración de Terraform, se creará el conjunto de datos de BigQuery, pero no siempre habrá tablas creadas en él cuando revises los resultados.
Las tablas casi nunca se propagan de inmediato.
Dale tiempo al proceso (al menos 5 minutos) antes de determinar que algo no está funcionando correctamente.
Este lab de autoaprendizaje es parte de las Quests Google Cloud's operations suite on GKE y Google Cloud Logging. Una Quest es una serie de labs relacionados que forman una ruta de aprendizaje. Si completas esta Quest, obtendrás una insignia como reconocimiento por tu logro. Puedes hacer públicas tus insignias y agregar vínculos a ellas en tu currículum en línea o en tus cuentas de redes sociales. Si realizaste este lab, inscríbete en alguna de esas Quests y obtén un crédito inmediato de finalización. Consulta el catálogo de Google Cloud Skills Boost para ver todas las Quests disponibles.
Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.
Copyright 2024 Google LLC. Este software se proporciona tal como está, sin garantías ni declaraciones para ningún uso o propósito. El uso que hagas de él está sujeto a tu acuerdo con Google.
Este contenido no está disponible en este momento
Te enviaremos una notificación por correo electrónico cuando esté disponible
¡Genial!
Nos comunicaremos contigo por correo electrónico si está disponible
One lab at a time
Confirm to end all existing labs and start this one