En este lab, compilarás una imagen de contenedor de Docker a partir del código proporcionado y un Dockerfile con Cloud Build. Luego, subirás el contenedor a Artifact Registry.
Objetivos
En este lab, aprenderás a realizar las siguientes tareas:
Usar Cloud Build para compilar y enviar contenedores
Usar Artifact Registry para almacenar e implementar contenedores
Configuración del lab
Accede al lab
En cada lab, recibirás un proyecto de Google Cloud y un conjunto de recursos nuevos por tiempo limitado y sin costo adicional.
Haz clic en el botón Comenzar lab. Si debes pagar por el lab, se abrirá una ventana emergente para que selecciones tu forma de pago.
A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:
El botón Abrir la consola de Google Cloud
El tiempo restante
Las credenciales temporales que debes usar para el lab
Otra información para completar el lab, si es necesaria
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: Ordena las pestañas en ventanas separadas, una junto a la otra.
Nota: Si ves el diálogo Elegir una cuenta, haz clic en Usar otra cuenta.
De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.
{{{user_0.username | "Username"}}}
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.
{{{user_0.password | "Password"}}}
También puedes encontrar la contraseña en el panel Detalles del lab.
Haz clic en Siguiente.
Importante: Debes usar las credenciales que te proporciona el lab. No uses las credenciales de tu cuenta de Google Cloud.
Nota: Usar tu propia cuenta de Google Cloud para este lab podría generar cargos adicionales.
Haga clic para avanzar por las páginas siguientes:
Acepta los Términos y Condiciones.
No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
No te registres para obtener pruebas gratuitas.
Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.
Nota: Para ver un menú con una lista de productos y servicios de Google Cloud, haz clic en el menú de navegación que se encuentra en la parte superior izquierda o escribe el nombre del servicio o producto en el campo Búsqueda.
Después de completar los pasos iniciales de acceso, se abrirá el panel del proyecto.
Activa Google Cloud Shell
Google 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.
Google Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.
En la consola de Cloud, en la barra de herramientas superior derecha, haz clic en el botón Abrir Cloud Shell.
Haz clic en Continuar.
El aprovisionamiento y la conexión al entorno demorarán unos minutos. Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu PROJECT_ID. Por ejemplo:
gcloud es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con el completado de línea de comando.
Puedes solicitar el nombre de la cuenta activa con este comando:
Tarea 1. Confirma que estén habilitadas las APIs necesarias
Anota el nombre de tu proyecto de Google Cloud. Este valor se muestra en la barra superior de la consola de Google Cloud. Comenzará con qwiklabs-gcp-, seguido de números hexadecimales.
En la consola de Google Cloud, en el menú de navegación(), haz clic en APIs y servicios.
Haz clic en Biblioteca.
En el recuadro Buscar APIs y servicios, escribe Cloud Build.
En la tarjeta resultante de la API de Cloud Build, si no ves un mensaje que confirme que está habilitada la API, haz clic en el botón Habilitar.
Usa el botón Atrás para volver a la pantalla anterior con un cuadro de búsqueda. En el cuadro de búsqueda, escribe Artifact Registry.
En la tarjeta resultante de la API de Google Artifact Registry, si no ves un mensaje que confirme que está habilitada la API, haz clic en el botón Habilitar.
Tarea 2. Compila contenedores con Dockerfile y Cloud Build
Puedes escribir archivos de configuración de compilación para brindar instrucciones a Cloud Build sobre qué tareas realizar cuando se compila un contenedor. Estos archivos de compilación se pueden usar para recuperar dependencias, ejecutar pruebas de unidades, realizar análisis y mucho más. En esta tarea, crearás un Dockerfile y lo usarás como una secuencia de comandos de configuración de compilación con Cloud Build. También crearás una secuencia de comandos de shell simple (quickstart.sh), que representará una aplicación dentro del contenedor.
En la barra de título de la consola de Google Cloud, haz clic en Activar Cloud Shell.
Cuando se te solicite, haz clic en Autorizar.
Cloud Shell se abrirá en la parte inferior de la ventana de la consola de Google Cloud.
Crea un archivo quickstart.sh vacío con el editor de texto nano:
nano quickstart.sh
Agrega las siguientes líneas al archivo quickstart.sh:
#!/bin/sh
echo "Hello, world! The time is $(date)."
Guarda el archivo y cierra nano presionando las teclas CTRL + X. Luego, presiona Y seguido de INTRO.
Crea un archivo Dockerfile vacío con el editor de texto nano:
nano Dockerfile
Agrega el siguiente comando de Dockerfile:
FROM alpine
Esto le indica a la compilación que use la imagen base de Alpine Linux.
Agrega el siguiente comando al final del Dockerfile:
COPY quickstart.sh /
Esto agrega la secuencia de comandos quickstart.sh al directorio / de la imagen.
Agrega el siguiente comando al final del Dockerfile:
CMD ["/quickstart.sh"]
Esto configura la imagen para ejecutar la secuencia de comandos /quickstart.sh cuando se crea y se ejecuta el contenedor asociado.
Ahora, el Dockerfile debería verse de la siguiente manera:
FROM alpine
COPY quickstart.sh /
CMD ["/quickstart.sh"]
Guarda el archivo y cierra nano presionando las teclas CTRL + X. Luego, presiona Y seguido de INTRO.
En Cloud Shell, ejecuta el siguiente comando para hacer que la secuencia de comandos quickstart.sh sea ejecutable:
chmod +x quickstart.sh
Crea un nuevo repositorio de Docker llamado quickstart-docker-repo en la ubicación y con la descripción “Docker repository”:
Cuando se completa la compilación, tu imagen de Docker compilada se envía a Artifact Registry.
En la consola de Google Cloud, ve a la barra de búsqueda (ubicada en la parte superior de la ventana de la consola) y busca Artifact Registry.
Haz clic en el repositorio llamado quickstart-docker-repo.
La imagen de Docker quickstart-image aparecerá en la lista.
Tarea 3. Compila contenedores con un archivo de configuración de compilación y Cloud Build
Cloud Build también admite archivos de configuración de compilación personalizados. En esta tarea, incorporarás un contenedor de Docker existente usando un archivo de compilación personalizado con formato YAML con Cloud Build.
Creemos un archivo de configuración de Cloud Build personalizado de muestra llamado cloudbuild.yaml.
Crea y abre un archivo llamado cloudbuild.yaml con nano usando el siguiente comando:
nano cloudbuild.yaml
Una vez que nano se abra, pega lo siguiente en el archivo cloudbuild.yaml:
Este archivo le indica a Cloud Build que use Docker para compilar una imagen con la especificación del Dockerfile en el directorio local actual, que la etiquete con gcr.io/$PROJECT_ID/quickstart-image ($PROJECT_ID es una variable de sustitución que Cloud Build completa automáticamente con el ID del proyecto asociado) y que, luego, envíe esa imagen a Artifact Registry.
En Cloud Shell, ejecuta el siguiente comando para iniciar Cloud Build usando cloudbuild.yaml como el archivo de configuración de compilación:
gcloud builds submit --config cloudbuild.yaml
El resultado de la compilación en Cloud Shell debería ser el mismo que antes. Cuando se completa la compilación, se envía una versión nueva de la misma imagen a Artifact Registry.
En la consola de Google Cloud, ve a la barra de búsqueda (ubicada en la parte superior de la ventana de la consola) y busca Artifact Registry.
En los resultados de la búsqueda, haz clic en Artifact Registry.
Haz clic en el repositorio llamado quickstart-docker-repo > quickstart-image.
Ahora habrá dos versiones de quickstart-image en la lista.
Haz clic en Revisar mi progreso para verificar el objetivo.
Compilar dos imágenes de contenedor en Cloud Build
En la consola de Google Cloud, ve a la barra de búsqueda (ubicada en la parte superior de la ventana de la consola) y busca Cloud Build.
En los resultados de la búsqueda, haz clic en Cloud Build.
En Cloud Build, haz clic en Historial.
Aparecerán dos compilaciones en la lista.
Haz clic en el ID de la compilación que se encuentra al principio de la lista.
Se muestran los detalles de la compilación, incluido su registro.
Tarea 4. Compila y prueba contenedores con un archivo de configuración de compilación y Cloud Build
El verdadero poder de los archivos de configuración de compilación personalizados es su capacidad
de realizar otras acciones, en paralelo o en secuencia, además
de solo compilar contenedores: ejecutar pruebas en tus contenedores recientemente compilados,
enviarlos a varios destinos y, también, implementarlos
en Kubernetes Engine.
En esta tarea, veremos un ejemplo simple; un archivo de configuración de compilación que prueba el contenedor que compiló y, luego, informa
el resultado a su entorno de llamada.
El primer paso es modificar el archivo quickstart.sh.
En Cloud Shell, abre quickstart.sh en nano.
nano quickstart.sh
Reemplaza lo existente por lo siguiente:
#!/bin/sh
if [ -z "$1" ]
then
echo "Hello, world! The time is $(date)."
exit 0
else
exit 1
fi
Presiona Ctrl + O y, luego, Intro para guardar el archivo editado.
Presiona Ctrl + X para salir del editor de texto nano.
Creemos un nuevo archivo de configuración de Cloud Build personalizado llamado cloudbuild2.yaml. Esto se modificó ligeramente para demostrar la capacidad de Cloud Build para probar los contenedores que compiló.
Crea y abre un archivo llamado cloudbuild2.yaml con nano usando el siguiente comando:
nano cloudbuild2.yaml
Una vez que nano se abra, pega lo siguiente en el archivo cloudbuild2.yaml:
Además de sus acciones anteriores, este archivo de configuración de compilación ejecuta la imagen quickstart-image que creó. En esta tarea, se modificó la secuencia de comandos quickstart.sh para que simule una prueba fallida cuando se le pasa un argumento ['fail'].
En Cloud Shell, ejecuta el siguiente comando para iniciar Cloud Build usando cloudbuild.yaml como el archivo de configuración de compilación:
gcloud builds submit --config cloudbuild2.yaml
Verás el resultado del comando, que finaliza con un texto como el siguiente:
Resultado
BUILD FAILURE: Build step failure: build step 1 "us-east1-docker.pkg.dev/qwiklabs-gcp-02-1c7ba5c697a0/quickstart-docker-repo/quickstart-image:tag1" failed: starting step container failed: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "fail": executable file not found in $PATH: unknown
ERROR: (gcloud.builds.submit) build 96c4a454-be06-4010-aa7c-da57c14165f4 completed with status "FAILURE"
Confirma que tu shell de comandos detecte que no se pudo realizar la compilación:
echo $?
El comando responderá con un valor distinto de cero. Si hubieras incorporado esta compilación a una secuencia de comandos, tu secuencia podría responder de manera inesperada ante el error en la compilación.
Haz clic en Revisar mi progreso para verificar el objetivo.
Compilar y probar contenedores con un archivo de configuración de compilación y Cloud Build
Finalice su lab
Cuando haya completado el lab, haga clic en Finalizar lab. Google Cloud Skills Boost quitará los recursos que usó y limpiará la cuenta.
Tendrá la oportunidad de calificar su experiencia en el lab. Seleccione la cantidad de estrellas que corresponda, ingrese un comentario y haga clic en Enviar.
La cantidad de estrellas indica lo siguiente:
1 estrella = Muy insatisfecho
2 estrellas = Insatisfecho
3 estrellas = Neutral
4 estrellas = Satisfecho
5 estrellas = Muy satisfecho
Puede cerrar el cuadro de diálogo si no desea proporcionar comentarios.
Para enviar comentarios, sugerencias o correcciones, use la pestaña Asistencia.
Copyright 2020 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.
Los labs crean un proyecto de Google Cloud y recursos por un tiempo determinado
.
Los labs tienen un límite de tiempo y no tienen la función de pausa. Si finalizas el lab, deberás reiniciarlo desde el principio.
En la parte superior izquierda de la pantalla, haz clic en Comenzar lab para empezar
Usa la navegación privada
Copia el nombre de usuario y la contraseña proporcionados para el lab
Haz clic en Abrir la consola en modo privado
Accede a la consola
Accede con tus credenciales del lab. Si usas otras credenciales, se generarán errores o se incurrirá en cargos.
Acepta las condiciones y omite la página de recursos de recuperación
No hagas clic en Finalizar lab, a menos que lo hayas terminado o quieras reiniciarlo, ya que se borrará tu trabajo y se quitará el proyecto
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
Un lab a la vez
Confirma para finalizar todos los labs existentes y comenzar este
Usa la navegación privada para ejecutar el lab
Usa una ventana de navegación privada o de Incógnito para ejecutar el lab. Así
evitarás cualquier conflicto entre tu cuenta personal y la cuenta
de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
Diseño de arquitecturas con Google Kubernetes Engine: Cómo trabajar con Cloud Build
Duración:
0 min de configuración
·
Acceso por 60 min
·
60 min para completar